api.go 2.4 MB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367163681636916370163711637216373163741637516376163771637816379163801638116382163831638416385163861638716388163891639016391163921639316394163951639616397163981639916400164011640216403164041640516406164071640816409164101641116412164131641416415164161641716418164191642016421164221642316424164251642616427164281642916430164311643216433164341643516436164371643816439164401644116442164431644416445164461644716448164491645016451164521645316454164551645616457164581645916460164611646216463164641646516466164671646816469164701647116472164731647416475164761647716478164791648016481164821648316484164851648616487164881648916490164911649216493164941649516496164971649816499165001650116502165031650416505165061650716508165091651016511165121651316514165151651616517165181651916520165211652216523165241652516526165271652816529165301653116532165331653416535165361653716538165391654016541165421654316544165451654616547165481654916550165511655216553165541655516556165571655816559165601656116562165631656416565165661656716568165691657016571165721657316574165751657616577165781657916580165811658216583165841658516586165871658816589165901659116592165931659416595165961659716598165991660016601166021660316604166051660616607166081660916610166111661216613166141661516616166171661816619166201662116622166231662416625166261662716628166291663016631166321663316634166351663616637166381663916640166411664216643166441664516646166471664816649166501665116652166531665416655166561665716658166591666016661166621666316664166651666616667166681666916670166711667216673166741667516676166771667816679166801668116682166831668416685166861668716688166891669016691166921669316694166951669616697166981669916700167011670216703167041670516706167071670816709167101671116712167131671416715167161671716718167191672016721167221672316724167251672616727167281672916730167311673216733167341673516736167371673816739167401674116742167431674416745167461674716748167491675016751167521675316754167551675616757167581675916760167611676216763167641676516766167671676816769167701677116772167731677416775167761677716778167791678016781167821678316784167851678616787167881678916790167911679216793167941679516796167971679816799168001680116802168031680416805168061680716808168091681016811168121681316814168151681616817168181681916820168211682216823168241682516826168271682816829168301683116832168331683416835168361683716838168391684016841168421684316844168451684616847168481684916850168511685216853168541685516856168571685816859168601686116862168631686416865168661686716868168691687016871168721687316874168751687616877168781687916880168811688216883168841688516886168871688816889168901689116892168931689416895168961689716898168991690016901169021690316904169051690616907169081690916910169111691216913169141691516916169171691816919169201692116922169231692416925169261692716928169291693016931169321693316934169351693616937169381693916940169411694216943169441694516946169471694816949169501695116952169531695416955169561695716958169591696016961169621696316964169651696616967169681696916970169711697216973169741697516976169771697816979169801698116982169831698416985169861698716988169891699016991169921699316994169951699616997169981699917000170011700217003170041700517006170071700817009170101701117012170131701417015170161701717018170191702017021170221702317024170251702617027170281702917030170311703217033170341703517036170371703817039170401704117042170431704417045170461704717048170491705017051170521705317054170551705617057170581705917060170611706217063170641706517066170671706817069170701707117072170731707417075170761707717078170791708017081170821708317084170851708617087170881708917090170911709217093170941709517096170971709817099171001710117102171031710417105171061710717108171091711017111171121711317114171151711617117171181711917120171211712217123171241712517126171271712817129171301713117132171331713417135171361713717138171391714017141171421714317144171451714617147171481714917150171511715217153171541715517156171571715817159171601716117162171631716417165171661716717168171691717017171171721717317174171751717617177171781717917180171811718217183171841718517186171871718817189171901719117192171931719417195171961719717198171991720017201172021720317204172051720617207172081720917210172111721217213172141721517216172171721817219172201722117222172231722417225172261722717228172291723017231172321723317234172351723617237172381723917240172411724217243172441724517246172471724817249172501725117252172531725417255172561725717258172591726017261172621726317264172651726617267172681726917270172711727217273172741727517276172771727817279172801728117282172831728417285172861728717288172891729017291172921729317294172951729617297172981729917300173011730217303173041730517306173071730817309173101731117312173131731417315173161731717318173191732017321173221732317324173251732617327173281732917330173311733217333173341733517336173371733817339173401734117342173431734417345173461734717348173491735017351173521735317354173551735617357173581735917360173611736217363173641736517366173671736817369173701737117372173731737417375173761737717378173791738017381173821738317384173851738617387173881738917390173911739217393173941739517396173971739817399174001740117402174031740417405174061740717408174091741017411174121741317414174151741617417174181741917420174211742217423174241742517426174271742817429174301743117432174331743417435174361743717438174391744017441174421744317444174451744617447174481744917450174511745217453174541745517456174571745817459174601746117462174631746417465174661746717468174691747017471174721747317474174751747617477174781747917480174811748217483174841748517486174871748817489174901749117492174931749417495174961749717498174991750017501175021750317504175051750617507175081750917510175111751217513175141751517516175171751817519175201752117522175231752417525175261752717528175291753017531175321753317534175351753617537175381753917540175411754217543175441754517546175471754817549175501755117552175531755417555175561755717558175591756017561175621756317564175651756617567175681756917570175711757217573175741757517576175771757817579175801758117582175831758417585175861758717588175891759017591175921759317594175951759617597175981759917600176011760217603176041760517606176071760817609176101761117612176131761417615176161761717618176191762017621176221762317624176251762617627176281762917630176311763217633176341763517636176371763817639176401764117642176431764417645176461764717648176491765017651176521765317654176551765617657176581765917660176611766217663176641766517666176671766817669176701767117672176731767417675176761767717678176791768017681176821768317684176851768617687176881768917690176911769217693176941769517696176971769817699177001770117702177031770417705177061770717708177091771017711177121771317714177151771617717177181771917720177211772217723177241772517726177271772817729177301773117732177331773417735177361773717738177391774017741177421774317744177451774617747177481774917750177511775217753177541775517756177571775817759177601776117762177631776417765177661776717768177691777017771177721777317774177751777617777177781777917780177811778217783177841778517786177871778817789177901779117792177931779417795177961779717798177991780017801178021780317804178051780617807178081780917810178111781217813178141781517816178171781817819178201782117822178231782417825178261782717828178291783017831178321783317834178351783617837178381783917840178411784217843178441784517846178471784817849178501785117852178531785417855178561785717858178591786017861178621786317864178651786617867178681786917870178711787217873178741787517876178771787817879178801788117882178831788417885178861788717888178891789017891178921789317894178951789617897178981789917900179011790217903179041790517906179071790817909179101791117912179131791417915179161791717918179191792017921179221792317924179251792617927179281792917930179311793217933179341793517936179371793817939179401794117942179431794417945179461794717948179491795017951179521795317954179551795617957179581795917960179611796217963179641796517966179671796817969179701797117972179731797417975179761797717978179791798017981179821798317984179851798617987179881798917990179911799217993179941799517996179971799817999180001800118002180031800418005180061800718008180091801018011180121801318014180151801618017180181801918020180211802218023180241802518026180271802818029180301803118032180331803418035180361803718038180391804018041180421804318044180451804618047180481804918050180511805218053180541805518056180571805818059180601806118062180631806418065180661806718068180691807018071180721807318074180751807618077180781807918080180811808218083180841808518086180871808818089180901809118092180931809418095180961809718098180991810018101181021810318104181051810618107181081810918110181111811218113181141811518116181171811818119181201812118122181231812418125181261812718128181291813018131181321813318134181351813618137181381813918140181411814218143181441814518146181471814818149181501815118152181531815418155181561815718158181591816018161181621816318164181651816618167181681816918170181711817218173181741817518176181771817818179181801818118182181831818418185181861818718188181891819018191181921819318194181951819618197181981819918200182011820218203182041820518206182071820818209182101821118212182131821418215182161821718218182191822018221182221822318224182251822618227182281822918230182311823218233182341823518236182371823818239182401824118242182431824418245182461824718248182491825018251182521825318254182551825618257182581825918260182611826218263182641826518266182671826818269182701827118272182731827418275182761827718278182791828018281182821828318284182851828618287182881828918290182911829218293182941829518296182971829818299183001830118302183031830418305183061830718308183091831018311183121831318314183151831618317183181831918320183211832218323183241832518326183271832818329183301833118332183331833418335183361833718338183391834018341183421834318344183451834618347183481834918350183511835218353183541835518356183571835818359183601836118362183631836418365183661836718368183691837018371183721837318374183751837618377183781837918380183811838218383183841838518386183871838818389183901839118392183931839418395183961839718398183991840018401184021840318404184051840618407184081840918410184111841218413184141841518416184171841818419184201842118422184231842418425184261842718428184291843018431184321843318434184351843618437184381843918440184411844218443184441844518446184471844818449184501845118452184531845418455184561845718458184591846018461184621846318464184651846618467184681846918470184711847218473184741847518476184771847818479184801848118482184831848418485184861848718488184891849018491184921849318494184951849618497184981849918500185011850218503185041850518506185071850818509185101851118512185131851418515185161851718518185191852018521185221852318524185251852618527185281852918530185311853218533185341853518536185371853818539185401854118542185431854418545185461854718548185491855018551185521855318554185551855618557185581855918560185611856218563185641856518566185671856818569185701857118572185731857418575185761857718578185791858018581185821858318584185851858618587185881858918590185911859218593185941859518596185971859818599186001860118602186031860418605186061860718608186091861018611186121861318614186151861618617186181861918620186211862218623186241862518626186271862818629186301863118632186331863418635186361863718638186391864018641186421864318644186451864618647186481864918650186511865218653186541865518656186571865818659186601866118662186631866418665186661866718668186691867018671186721867318674186751867618677186781867918680186811868218683186841868518686186871868818689186901869118692186931869418695186961869718698186991870018701187021870318704187051870618707187081870918710187111871218713187141871518716187171871818719187201872118722187231872418725187261872718728187291873018731187321873318734187351873618737187381873918740187411874218743187441874518746187471874818749187501875118752187531875418755187561875718758187591876018761187621876318764187651876618767187681876918770187711877218773187741877518776187771877818779187801878118782187831878418785187861878718788187891879018791187921879318794187951879618797187981879918800188011880218803188041880518806188071880818809188101881118812188131881418815188161881718818188191882018821188221882318824188251882618827188281882918830188311883218833188341883518836188371883818839188401884118842188431884418845188461884718848188491885018851188521885318854188551885618857188581885918860188611886218863188641886518866188671886818869188701887118872188731887418875188761887718878188791888018881188821888318884188851888618887188881888918890188911889218893188941889518896188971889818899189001890118902189031890418905189061890718908189091891018911189121891318914189151891618917189181891918920189211892218923189241892518926189271892818929189301893118932189331893418935189361893718938189391894018941189421894318944189451894618947189481894918950189511895218953189541895518956189571895818959189601896118962189631896418965189661896718968189691897018971189721897318974189751897618977189781897918980189811898218983189841898518986189871898818989189901899118992189931899418995189961899718998189991900019001190021900319004190051900619007190081900919010190111901219013190141901519016190171901819019190201902119022190231902419025190261902719028190291903019031190321903319034190351903619037190381903919040190411904219043190441904519046190471904819049190501905119052190531905419055190561905719058190591906019061190621906319064190651906619067190681906919070190711907219073190741907519076190771907819079190801908119082190831908419085190861908719088190891909019091190921909319094190951909619097190981909919100191011910219103191041910519106191071910819109191101911119112191131911419115191161911719118191191912019121191221912319124191251912619127191281912919130191311913219133191341913519136191371913819139191401914119142191431914419145191461914719148191491915019151191521915319154191551915619157191581915919160191611916219163191641916519166191671916819169191701917119172191731917419175191761917719178191791918019181191821918319184191851918619187191881918919190191911919219193191941919519196191971919819199192001920119202192031920419205192061920719208192091921019211192121921319214192151921619217192181921919220192211922219223192241922519226192271922819229192301923119232192331923419235192361923719238192391924019241192421924319244192451924619247192481924919250192511925219253192541925519256192571925819259192601926119262192631926419265192661926719268192691927019271192721927319274192751927619277192781927919280192811928219283192841928519286192871928819289192901929119292192931929419295192961929719298192991930019301193021930319304193051930619307193081930919310193111931219313193141931519316193171931819319193201932119322193231932419325193261932719328193291933019331193321933319334193351933619337193381933919340193411934219343193441934519346193471934819349193501935119352193531935419355193561935719358193591936019361193621936319364193651936619367193681936919370193711937219373193741937519376193771937819379193801938119382193831938419385193861938719388193891939019391193921939319394193951939619397193981939919400194011940219403194041940519406194071940819409194101941119412194131941419415194161941719418194191942019421194221942319424194251942619427194281942919430194311943219433194341943519436194371943819439194401944119442194431944419445194461944719448194491945019451194521945319454194551945619457194581945919460194611946219463194641946519466194671946819469194701947119472194731947419475194761947719478194791948019481194821948319484194851948619487194881948919490194911949219493194941949519496194971949819499195001950119502195031950419505195061950719508195091951019511195121951319514195151951619517195181951919520195211952219523195241952519526195271952819529195301953119532195331953419535195361953719538195391954019541195421954319544195451954619547195481954919550195511955219553195541955519556195571955819559195601956119562195631956419565195661956719568195691957019571195721957319574195751957619577195781957919580195811958219583195841958519586195871958819589195901959119592195931959419595195961959719598195991960019601196021960319604196051960619607196081960919610196111961219613196141961519616196171961819619196201962119622196231962419625196261962719628196291963019631196321963319634196351963619637196381963919640196411964219643196441964519646196471964819649196501965119652196531965419655196561965719658196591966019661196621966319664196651966619667196681966919670196711967219673196741967519676196771967819679196801968119682196831968419685196861968719688196891969019691196921969319694196951969619697196981969919700197011970219703197041970519706197071970819709197101971119712197131971419715197161971719718197191972019721197221972319724197251972619727197281972919730197311973219733197341973519736197371973819739197401974119742197431974419745197461974719748197491975019751197521975319754197551975619757197581975919760197611976219763197641976519766197671976819769197701977119772197731977419775197761977719778197791978019781197821978319784197851978619787197881978919790197911979219793197941979519796197971979819799198001980119802198031980419805198061980719808198091981019811198121981319814198151981619817198181981919820198211982219823198241982519826198271982819829198301983119832198331983419835198361983719838198391984019841198421984319844198451984619847198481984919850198511985219853198541985519856198571985819859198601986119862198631986419865198661986719868198691987019871198721987319874198751987619877198781987919880198811988219883198841988519886198871988819889198901989119892198931989419895198961989719898198991990019901199021990319904199051990619907199081990919910199111991219913199141991519916199171991819919199201992119922199231992419925199261992719928199291993019931199321993319934199351993619937199381993919940199411994219943199441994519946199471994819949199501995119952199531995419955199561995719958199591996019961199621996319964199651996619967199681996919970199711997219973199741997519976199771997819979199801998119982199831998419985199861998719988199891999019991199921999319994199951999619997199981999920000200012000220003200042000520006200072000820009200102001120012200132001420015200162001720018200192002020021200222002320024200252002620027200282002920030200312003220033200342003520036200372003820039200402004120042200432004420045200462004720048200492005020051200522005320054200552005620057200582005920060200612006220063200642006520066200672006820069200702007120072200732007420075200762007720078200792008020081200822008320084200852008620087200882008920090200912009220093200942009520096200972009820099201002010120102201032010420105201062010720108201092011020111201122011320114201152011620117201182011920120201212012220123201242012520126201272012820129201302013120132201332013420135201362013720138201392014020141201422014320144201452014620147201482014920150201512015220153201542015520156201572015820159201602016120162201632016420165201662016720168201692017020171201722017320174201752017620177201782017920180201812018220183201842018520186201872018820189201902019120192201932019420195201962019720198201992020020201202022020320204202052020620207202082020920210202112021220213202142021520216202172021820219202202022120222202232022420225202262022720228202292023020231202322023320234202352023620237202382023920240202412024220243202442024520246202472024820249202502025120252202532025420255202562025720258202592026020261202622026320264202652026620267202682026920270202712027220273202742027520276202772027820279202802028120282202832028420285202862028720288202892029020291202922029320294202952029620297202982029920300203012030220303203042030520306203072030820309203102031120312203132031420315203162031720318203192032020321203222032320324203252032620327203282032920330203312033220333203342033520336203372033820339203402034120342203432034420345203462034720348203492035020351203522035320354203552035620357203582035920360203612036220363203642036520366203672036820369203702037120372203732037420375203762037720378203792038020381203822038320384203852038620387203882038920390203912039220393203942039520396203972039820399204002040120402204032040420405204062040720408204092041020411204122041320414204152041620417204182041920420204212042220423204242042520426204272042820429204302043120432204332043420435204362043720438204392044020441204422044320444204452044620447204482044920450204512045220453204542045520456204572045820459204602046120462204632046420465204662046720468204692047020471204722047320474204752047620477204782047920480204812048220483204842048520486204872048820489204902049120492204932049420495204962049720498204992050020501205022050320504205052050620507205082050920510205112051220513205142051520516205172051820519205202052120522205232052420525205262052720528205292053020531205322053320534205352053620537205382053920540205412054220543205442054520546205472054820549205502055120552205532055420555205562055720558205592056020561205622056320564205652056620567205682056920570205712057220573205742057520576205772057820579205802058120582205832058420585205862058720588205892059020591205922059320594205952059620597205982059920600206012060220603206042060520606206072060820609206102061120612206132061420615206162061720618206192062020621206222062320624206252062620627206282062920630206312063220633206342063520636206372063820639206402064120642206432064420645206462064720648206492065020651206522065320654206552065620657206582065920660206612066220663206642066520666206672066820669206702067120672206732067420675206762067720678206792068020681206822068320684206852068620687206882068920690206912069220693206942069520696206972069820699207002070120702207032070420705207062070720708207092071020711207122071320714207152071620717207182071920720207212072220723207242072520726207272072820729207302073120732207332073420735207362073720738207392074020741207422074320744207452074620747207482074920750207512075220753207542075520756207572075820759207602076120762207632076420765207662076720768207692077020771207722077320774207752077620777207782077920780207812078220783207842078520786207872078820789207902079120792207932079420795207962079720798207992080020801208022080320804208052080620807208082080920810208112081220813208142081520816208172081820819208202082120822208232082420825208262082720828208292083020831208322083320834208352083620837208382083920840208412084220843208442084520846208472084820849208502085120852208532085420855208562085720858208592086020861208622086320864208652086620867208682086920870208712087220873208742087520876208772087820879208802088120882208832088420885208862088720888208892089020891208922089320894208952089620897208982089920900209012090220903209042090520906209072090820909209102091120912209132091420915209162091720918209192092020921209222092320924209252092620927209282092920930209312093220933209342093520936209372093820939209402094120942209432094420945209462094720948209492095020951209522095320954209552095620957209582095920960209612096220963209642096520966209672096820969209702097120972209732097420975209762097720978209792098020981209822098320984209852098620987209882098920990209912099220993209942099520996209972099820999210002100121002210032100421005210062100721008210092101021011210122101321014210152101621017210182101921020210212102221023210242102521026210272102821029210302103121032210332103421035210362103721038210392104021041210422104321044210452104621047210482104921050210512105221053210542105521056210572105821059210602106121062210632106421065210662106721068210692107021071210722107321074210752107621077210782107921080210812108221083210842108521086210872108821089210902109121092210932109421095210962109721098210992110021101211022110321104211052110621107211082110921110211112111221113211142111521116211172111821119211202112121122211232112421125211262112721128211292113021131211322113321134211352113621137211382113921140211412114221143211442114521146211472114821149211502115121152211532115421155211562115721158211592116021161211622116321164211652116621167211682116921170211712117221173211742117521176211772117821179211802118121182211832118421185211862118721188211892119021191211922119321194211952119621197211982119921200212012120221203212042120521206212072120821209212102121121212212132121421215212162121721218212192122021221212222122321224212252122621227212282122921230212312123221233212342123521236212372123821239212402124121242212432124421245212462124721248212492125021251212522125321254212552125621257212582125921260212612126221263212642126521266212672126821269212702127121272212732127421275212762127721278212792128021281212822128321284212852128621287212882128921290212912129221293212942129521296212972129821299213002130121302213032130421305213062130721308213092131021311213122131321314213152131621317213182131921320213212132221323213242132521326213272132821329213302133121332213332133421335213362133721338213392134021341213422134321344213452134621347213482134921350213512135221353213542135521356213572135821359213602136121362213632136421365213662136721368213692137021371213722137321374213752137621377213782137921380213812138221383213842138521386213872138821389213902139121392213932139421395213962139721398213992140021401214022140321404214052140621407214082140921410214112141221413214142141521416214172141821419214202142121422214232142421425214262142721428214292143021431214322143321434214352143621437214382143921440214412144221443214442144521446214472144821449214502145121452214532145421455214562145721458214592146021461214622146321464214652146621467214682146921470214712147221473214742147521476214772147821479214802148121482214832148421485214862148721488214892149021491214922149321494214952149621497214982149921500215012150221503215042150521506215072150821509215102151121512215132151421515215162151721518215192152021521215222152321524215252152621527215282152921530215312153221533215342153521536215372153821539215402154121542215432154421545215462154721548215492155021551215522155321554215552155621557215582155921560215612156221563215642156521566215672156821569215702157121572215732157421575215762157721578215792158021581215822158321584215852158621587215882158921590215912159221593215942159521596215972159821599216002160121602216032160421605216062160721608216092161021611216122161321614216152161621617216182161921620216212162221623216242162521626216272162821629216302163121632216332163421635216362163721638216392164021641216422164321644216452164621647216482164921650216512165221653216542165521656216572165821659216602166121662216632166421665216662166721668216692167021671216722167321674216752167621677216782167921680216812168221683216842168521686216872168821689216902169121692216932169421695216962169721698216992170021701217022170321704217052170621707217082170921710217112171221713217142171521716217172171821719217202172121722217232172421725217262172721728217292173021731217322173321734217352173621737217382173921740217412174221743217442174521746217472174821749217502175121752217532175421755217562175721758217592176021761217622176321764217652176621767217682176921770217712177221773217742177521776217772177821779217802178121782217832178421785217862178721788217892179021791217922179321794217952179621797217982179921800218012180221803218042180521806218072180821809218102181121812218132181421815218162181721818218192182021821218222182321824218252182621827218282182921830218312183221833218342183521836218372183821839218402184121842218432184421845218462184721848218492185021851218522185321854218552185621857218582185921860218612186221863218642186521866218672186821869218702187121872218732187421875218762187721878218792188021881218822188321884218852188621887218882188921890218912189221893218942189521896218972189821899219002190121902219032190421905219062190721908219092191021911219122191321914219152191621917219182191921920219212192221923219242192521926219272192821929219302193121932219332193421935219362193721938219392194021941219422194321944219452194621947219482194921950219512195221953219542195521956219572195821959219602196121962219632196421965219662196721968219692197021971219722197321974219752197621977219782197921980219812198221983219842198521986219872198821989219902199121992219932199421995219962199721998219992200022001220022200322004220052200622007220082200922010220112201222013220142201522016220172201822019220202202122022220232202422025220262202722028220292203022031220322203322034220352203622037220382203922040220412204222043220442204522046220472204822049220502205122052220532205422055220562205722058220592206022061220622206322064220652206622067220682206922070220712207222073220742207522076220772207822079220802208122082220832208422085220862208722088220892209022091220922209322094220952209622097220982209922100221012210222103221042210522106221072210822109221102211122112221132211422115221162211722118221192212022121221222212322124221252212622127221282212922130221312213222133221342213522136221372213822139221402214122142221432214422145221462214722148221492215022151221522215322154221552215622157221582215922160221612216222163221642216522166221672216822169221702217122172221732217422175221762217722178221792218022181221822218322184221852218622187221882218922190221912219222193221942219522196221972219822199222002220122202222032220422205222062220722208222092221022211222122221322214222152221622217222182221922220222212222222223222242222522226222272222822229222302223122232222332223422235222362223722238222392224022241222422224322244222452224622247222482224922250222512225222253222542225522256222572225822259222602226122262222632226422265222662226722268222692227022271222722227322274222752227622277222782227922280222812228222283222842228522286222872228822289222902229122292222932229422295222962229722298222992230022301223022230322304223052230622307223082230922310223112231222313223142231522316223172231822319223202232122322223232232422325223262232722328223292233022331223322233322334223352233622337223382233922340223412234222343223442234522346223472234822349223502235122352223532235422355223562235722358223592236022361223622236322364223652236622367223682236922370223712237222373223742237522376223772237822379223802238122382223832238422385223862238722388223892239022391223922239322394223952239622397223982239922400224012240222403224042240522406224072240822409224102241122412224132241422415224162241722418224192242022421224222242322424224252242622427224282242922430224312243222433224342243522436224372243822439224402244122442224432244422445224462244722448224492245022451224522245322454224552245622457224582245922460224612246222463224642246522466224672246822469224702247122472224732247422475224762247722478224792248022481224822248322484224852248622487224882248922490224912249222493224942249522496224972249822499225002250122502225032250422505225062250722508225092251022511225122251322514225152251622517225182251922520225212252222523225242252522526225272252822529225302253122532225332253422535225362253722538225392254022541225422254322544225452254622547225482254922550225512255222553225542255522556225572255822559225602256122562225632256422565225662256722568225692257022571225722257322574225752257622577225782257922580225812258222583225842258522586225872258822589225902259122592225932259422595225962259722598225992260022601226022260322604226052260622607226082260922610226112261222613226142261522616226172261822619226202262122622226232262422625226262262722628226292263022631226322263322634226352263622637226382263922640226412264222643226442264522646226472264822649226502265122652226532265422655226562265722658226592266022661226622266322664226652266622667226682266922670226712267222673226742267522676226772267822679226802268122682226832268422685226862268722688226892269022691226922269322694226952269622697226982269922700227012270222703227042270522706227072270822709227102271122712227132271422715227162271722718227192272022721227222272322724227252272622727227282272922730227312273222733227342273522736227372273822739227402274122742227432274422745227462274722748227492275022751227522275322754227552275622757227582275922760227612276222763227642276522766227672276822769227702277122772227732277422775227762277722778227792278022781227822278322784227852278622787227882278922790227912279222793227942279522796227972279822799228002280122802228032280422805228062280722808228092281022811228122281322814228152281622817228182281922820228212282222823228242282522826228272282822829228302283122832228332283422835228362283722838228392284022841228422284322844228452284622847228482284922850228512285222853228542285522856228572285822859228602286122862228632286422865228662286722868228692287022871228722287322874228752287622877228782287922880228812288222883228842288522886228872288822889228902289122892228932289422895228962289722898228992290022901229022290322904229052290622907229082290922910229112291222913229142291522916229172291822919229202292122922229232292422925229262292722928229292293022931229322293322934229352293622937229382293922940229412294222943229442294522946229472294822949229502295122952229532295422955229562295722958229592296022961229622296322964229652296622967229682296922970229712297222973229742297522976229772297822979229802298122982229832298422985229862298722988229892299022991229922299322994229952299622997229982299923000230012300223003230042300523006230072300823009230102301123012230132301423015230162301723018230192302023021230222302323024230252302623027230282302923030230312303223033230342303523036230372303823039230402304123042230432304423045230462304723048230492305023051230522305323054230552305623057230582305923060230612306223063230642306523066230672306823069230702307123072230732307423075230762307723078230792308023081230822308323084230852308623087230882308923090230912309223093230942309523096230972309823099231002310123102231032310423105231062310723108231092311023111231122311323114231152311623117231182311923120231212312223123231242312523126231272312823129231302313123132231332313423135231362313723138231392314023141231422314323144231452314623147231482314923150231512315223153231542315523156231572315823159231602316123162231632316423165231662316723168231692317023171231722317323174231752317623177231782317923180231812318223183231842318523186231872318823189231902319123192231932319423195231962319723198231992320023201232022320323204232052320623207232082320923210232112321223213232142321523216232172321823219232202322123222232232322423225232262322723228232292323023231232322323323234232352323623237232382323923240232412324223243232442324523246232472324823249232502325123252232532325423255232562325723258232592326023261232622326323264232652326623267232682326923270232712327223273232742327523276232772327823279232802328123282232832328423285232862328723288232892329023291232922329323294232952329623297232982329923300233012330223303233042330523306233072330823309233102331123312233132331423315233162331723318233192332023321233222332323324233252332623327233282332923330233312333223333233342333523336233372333823339233402334123342233432334423345233462334723348233492335023351233522335323354233552335623357233582335923360233612336223363233642336523366233672336823369233702337123372233732337423375233762337723378233792338023381233822338323384233852338623387233882338923390233912339223393233942339523396233972339823399234002340123402234032340423405234062340723408234092341023411234122341323414234152341623417234182341923420234212342223423234242342523426234272342823429234302343123432234332343423435234362343723438234392344023441234422344323444234452344623447234482344923450234512345223453234542345523456234572345823459234602346123462234632346423465234662346723468234692347023471234722347323474234752347623477234782347923480234812348223483234842348523486234872348823489234902349123492234932349423495234962349723498234992350023501235022350323504235052350623507235082350923510235112351223513235142351523516235172351823519235202352123522235232352423525235262352723528235292353023531235322353323534235352353623537235382353923540235412354223543235442354523546235472354823549235502355123552235532355423555235562355723558235592356023561235622356323564235652356623567235682356923570235712357223573235742357523576235772357823579235802358123582235832358423585235862358723588235892359023591235922359323594235952359623597235982359923600236012360223603236042360523606236072360823609236102361123612236132361423615236162361723618236192362023621236222362323624236252362623627236282362923630236312363223633236342363523636236372363823639236402364123642236432364423645236462364723648236492365023651236522365323654236552365623657236582365923660236612366223663236642366523666236672366823669236702367123672236732367423675236762367723678236792368023681236822368323684236852368623687236882368923690236912369223693236942369523696236972369823699237002370123702237032370423705237062370723708237092371023711237122371323714237152371623717237182371923720237212372223723237242372523726237272372823729237302373123732237332373423735237362373723738237392374023741237422374323744237452374623747237482374923750237512375223753237542375523756237572375823759237602376123762237632376423765237662376723768237692377023771237722377323774237752377623777237782377923780237812378223783237842378523786237872378823789237902379123792237932379423795237962379723798237992380023801238022380323804238052380623807238082380923810238112381223813238142381523816238172381823819238202382123822238232382423825238262382723828238292383023831238322383323834238352383623837238382383923840238412384223843238442384523846238472384823849238502385123852238532385423855238562385723858238592386023861238622386323864238652386623867238682386923870238712387223873238742387523876238772387823879238802388123882238832388423885238862388723888238892389023891238922389323894238952389623897238982389923900239012390223903239042390523906239072390823909239102391123912239132391423915239162391723918239192392023921239222392323924239252392623927239282392923930239312393223933239342393523936239372393823939239402394123942239432394423945239462394723948239492395023951239522395323954239552395623957239582395923960239612396223963239642396523966239672396823969239702397123972239732397423975239762397723978239792398023981239822398323984239852398623987239882398923990239912399223993239942399523996239972399823999240002400124002240032400424005240062400724008240092401024011240122401324014240152401624017240182401924020240212402224023240242402524026240272402824029240302403124032240332403424035240362403724038240392404024041240422404324044240452404624047240482404924050240512405224053240542405524056240572405824059240602406124062240632406424065240662406724068240692407024071240722407324074240752407624077240782407924080240812408224083240842408524086240872408824089240902409124092240932409424095240962409724098240992410024101241022410324104241052410624107241082410924110241112411224113241142411524116241172411824119241202412124122241232412424125241262412724128241292413024131241322413324134241352413624137241382413924140241412414224143241442414524146241472414824149241502415124152241532415424155241562415724158241592416024161241622416324164241652416624167241682416924170241712417224173241742417524176241772417824179241802418124182241832418424185241862418724188241892419024191241922419324194241952419624197241982419924200242012420224203242042420524206242072420824209242102421124212242132421424215242162421724218242192422024221242222422324224242252422624227242282422924230242312423224233242342423524236242372423824239242402424124242242432424424245242462424724248242492425024251242522425324254242552425624257242582425924260242612426224263242642426524266242672426824269242702427124272242732427424275242762427724278242792428024281242822428324284242852428624287242882428924290242912429224293242942429524296242972429824299243002430124302243032430424305243062430724308243092431024311243122431324314243152431624317243182431924320243212432224323243242432524326243272432824329243302433124332243332433424335243362433724338243392434024341243422434324344243452434624347243482434924350243512435224353243542435524356243572435824359243602436124362243632436424365243662436724368243692437024371243722437324374243752437624377243782437924380243812438224383243842438524386243872438824389243902439124392243932439424395243962439724398243992440024401244022440324404244052440624407244082440924410244112441224413244142441524416244172441824419244202442124422244232442424425244262442724428244292443024431244322443324434244352443624437244382443924440244412444224443244442444524446244472444824449244502445124452244532445424455244562445724458244592446024461244622446324464244652446624467244682446924470244712447224473244742447524476244772447824479244802448124482244832448424485244862448724488244892449024491244922449324494244952449624497244982449924500245012450224503245042450524506245072450824509245102451124512245132451424515245162451724518245192452024521245222452324524245252452624527245282452924530245312453224533245342453524536245372453824539245402454124542245432454424545245462454724548245492455024551245522455324554245552455624557245582455924560245612456224563245642456524566245672456824569245702457124572245732457424575245762457724578245792458024581245822458324584245852458624587245882458924590245912459224593245942459524596245972459824599246002460124602246032460424605246062460724608246092461024611246122461324614246152461624617246182461924620246212462224623246242462524626246272462824629246302463124632246332463424635246362463724638246392464024641246422464324644246452464624647246482464924650246512465224653246542465524656246572465824659246602466124662246632466424665246662466724668246692467024671246722467324674246752467624677246782467924680246812468224683246842468524686246872468824689246902469124692246932469424695246962469724698246992470024701247022470324704247052470624707247082470924710247112471224713247142471524716247172471824719247202472124722247232472424725247262472724728247292473024731247322473324734247352473624737247382473924740247412474224743247442474524746247472474824749247502475124752247532475424755247562475724758247592476024761247622476324764247652476624767247682476924770247712477224773247742477524776247772477824779247802478124782247832478424785247862478724788247892479024791247922479324794247952479624797247982479924800248012480224803248042480524806248072480824809248102481124812248132481424815248162481724818248192482024821248222482324824248252482624827248282482924830248312483224833248342483524836248372483824839248402484124842248432484424845248462484724848248492485024851248522485324854248552485624857248582485924860248612486224863248642486524866248672486824869248702487124872248732487424875248762487724878248792488024881248822488324884248852488624887248882488924890248912489224893248942489524896248972489824899249002490124902249032490424905249062490724908249092491024911249122491324914249152491624917249182491924920249212492224923249242492524926249272492824929249302493124932249332493424935249362493724938249392494024941249422494324944249452494624947249482494924950249512495224953249542495524956249572495824959249602496124962249632496424965249662496724968249692497024971249722497324974249752497624977249782497924980249812498224983249842498524986249872498824989249902499124992249932499424995249962499724998249992500025001250022500325004250052500625007250082500925010250112501225013250142501525016250172501825019250202502125022250232502425025250262502725028250292503025031250322503325034250352503625037250382503925040250412504225043250442504525046250472504825049250502505125052250532505425055250562505725058250592506025061250622506325064250652506625067250682506925070250712507225073250742507525076250772507825079250802508125082250832508425085250862508725088250892509025091250922509325094250952509625097250982509925100251012510225103251042510525106251072510825109251102511125112251132511425115251162511725118251192512025121251222512325124251252512625127251282512925130251312513225133251342513525136251372513825139251402514125142251432514425145251462514725148251492515025151251522515325154251552515625157251582515925160251612516225163251642516525166251672516825169251702517125172251732517425175251762517725178251792518025181251822518325184251852518625187251882518925190251912519225193251942519525196251972519825199252002520125202252032520425205252062520725208252092521025211252122521325214252152521625217252182521925220252212522225223252242522525226252272522825229252302523125232252332523425235252362523725238252392524025241252422524325244252452524625247252482524925250252512525225253252542525525256252572525825259252602526125262252632526425265252662526725268252692527025271252722527325274252752527625277252782527925280252812528225283252842528525286252872528825289252902529125292252932529425295252962529725298252992530025301253022530325304253052530625307253082530925310253112531225313253142531525316253172531825319253202532125322253232532425325253262532725328253292533025331253322533325334253352533625337253382533925340253412534225343253442534525346253472534825349253502535125352253532535425355253562535725358253592536025361253622536325364253652536625367253682536925370253712537225373253742537525376253772537825379253802538125382253832538425385253862538725388253892539025391253922539325394253952539625397253982539925400254012540225403254042540525406254072540825409254102541125412254132541425415254162541725418254192542025421254222542325424254252542625427254282542925430254312543225433254342543525436254372543825439254402544125442254432544425445254462544725448254492545025451254522545325454254552545625457254582545925460254612546225463254642546525466254672546825469254702547125472254732547425475254762547725478254792548025481254822548325484254852548625487254882548925490254912549225493254942549525496254972549825499255002550125502255032550425505255062550725508255092551025511255122551325514255152551625517255182551925520255212552225523255242552525526255272552825529255302553125532255332553425535255362553725538255392554025541255422554325544255452554625547255482554925550255512555225553255542555525556255572555825559255602556125562255632556425565255662556725568255692557025571255722557325574255752557625577255782557925580255812558225583255842558525586255872558825589255902559125592255932559425595255962559725598255992560025601256022560325604256052560625607256082560925610256112561225613256142561525616256172561825619256202562125622256232562425625256262562725628256292563025631256322563325634256352563625637256382563925640256412564225643256442564525646256472564825649256502565125652256532565425655256562565725658256592566025661256622566325664256652566625667256682566925670256712567225673256742567525676256772567825679256802568125682256832568425685256862568725688256892569025691256922569325694256952569625697256982569925700257012570225703257042570525706257072570825709257102571125712257132571425715257162571725718257192572025721257222572325724257252572625727257282572925730257312573225733257342573525736257372573825739257402574125742257432574425745257462574725748257492575025751257522575325754257552575625757257582575925760257612576225763257642576525766257672576825769257702577125772257732577425775257762577725778257792578025781257822578325784257852578625787257882578925790257912579225793257942579525796257972579825799258002580125802258032580425805258062580725808258092581025811258122581325814258152581625817258182581925820258212582225823258242582525826258272582825829258302583125832258332583425835258362583725838258392584025841258422584325844258452584625847258482584925850258512585225853258542585525856258572585825859258602586125862258632586425865258662586725868258692587025871258722587325874258752587625877258782587925880258812588225883258842588525886258872588825889258902589125892258932589425895258962589725898258992590025901259022590325904259052590625907259082590925910259112591225913259142591525916259172591825919259202592125922259232592425925259262592725928259292593025931259322593325934259352593625937259382593925940259412594225943259442594525946259472594825949259502595125952259532595425955259562595725958259592596025961259622596325964259652596625967259682596925970259712597225973259742597525976259772597825979259802598125982259832598425985259862598725988259892599025991259922599325994259952599625997259982599926000260012600226003260042600526006260072600826009260102601126012260132601426015260162601726018260192602026021260222602326024260252602626027260282602926030260312603226033260342603526036260372603826039260402604126042260432604426045260462604726048260492605026051260522605326054260552605626057260582605926060260612606226063260642606526066260672606826069260702607126072260732607426075260762607726078260792608026081260822608326084260852608626087260882608926090260912609226093260942609526096260972609826099261002610126102261032610426105261062610726108261092611026111261122611326114261152611626117261182611926120261212612226123261242612526126261272612826129261302613126132261332613426135261362613726138261392614026141261422614326144261452614626147261482614926150261512615226153261542615526156261572615826159261602616126162261632616426165261662616726168261692617026171261722617326174261752617626177261782617926180261812618226183261842618526186261872618826189261902619126192261932619426195261962619726198261992620026201262022620326204262052620626207262082620926210262112621226213262142621526216262172621826219262202622126222262232622426225262262622726228262292623026231262322623326234262352623626237262382623926240262412624226243262442624526246262472624826249262502625126252262532625426255262562625726258262592626026261262622626326264262652626626267262682626926270262712627226273262742627526276262772627826279262802628126282262832628426285262862628726288262892629026291262922629326294262952629626297262982629926300263012630226303263042630526306263072630826309263102631126312263132631426315263162631726318263192632026321263222632326324263252632626327263282632926330263312633226333263342633526336263372633826339263402634126342263432634426345263462634726348263492635026351263522635326354263552635626357263582635926360263612636226363263642636526366263672636826369263702637126372263732637426375263762637726378263792638026381263822638326384263852638626387263882638926390263912639226393263942639526396263972639826399264002640126402264032640426405264062640726408264092641026411264122641326414264152641626417264182641926420264212642226423264242642526426264272642826429264302643126432264332643426435264362643726438264392644026441264422644326444264452644626447264482644926450264512645226453264542645526456264572645826459264602646126462264632646426465264662646726468264692647026471264722647326474264752647626477264782647926480264812648226483264842648526486264872648826489264902649126492264932649426495264962649726498264992650026501265022650326504265052650626507265082650926510265112651226513265142651526516265172651826519265202652126522265232652426525265262652726528265292653026531265322653326534265352653626537265382653926540265412654226543265442654526546265472654826549265502655126552265532655426555265562655726558265592656026561265622656326564265652656626567265682656926570265712657226573265742657526576265772657826579265802658126582265832658426585265862658726588265892659026591265922659326594265952659626597265982659926600266012660226603266042660526606266072660826609266102661126612266132661426615266162661726618266192662026621266222662326624266252662626627266282662926630266312663226633266342663526636266372663826639266402664126642266432664426645266462664726648266492665026651266522665326654266552665626657266582665926660266612666226663266642666526666266672666826669266702667126672266732667426675266762667726678266792668026681266822668326684266852668626687266882668926690266912669226693266942669526696266972669826699267002670126702267032670426705267062670726708267092671026711267122671326714267152671626717267182671926720267212672226723267242672526726267272672826729267302673126732267332673426735267362673726738267392674026741267422674326744267452674626747267482674926750267512675226753267542675526756267572675826759267602676126762267632676426765267662676726768267692677026771267722677326774267752677626777267782677926780267812678226783267842678526786267872678826789267902679126792267932679426795267962679726798267992680026801268022680326804268052680626807268082680926810268112681226813268142681526816268172681826819268202682126822268232682426825268262682726828268292683026831268322683326834268352683626837268382683926840268412684226843268442684526846268472684826849268502685126852268532685426855268562685726858268592686026861268622686326864268652686626867268682686926870268712687226873268742687526876268772687826879268802688126882268832688426885268862688726888268892689026891268922689326894268952689626897268982689926900269012690226903269042690526906269072690826909269102691126912269132691426915269162691726918269192692026921269222692326924269252692626927269282692926930269312693226933269342693526936269372693826939269402694126942269432694426945269462694726948269492695026951269522695326954269552695626957269582695926960269612696226963269642696526966269672696826969269702697126972269732697426975269762697726978269792698026981269822698326984269852698626987269882698926990269912699226993269942699526996269972699826999270002700127002270032700427005270062700727008270092701027011270122701327014270152701627017270182701927020270212702227023270242702527026270272702827029270302703127032270332703427035270362703727038270392704027041270422704327044270452704627047270482704927050270512705227053270542705527056270572705827059270602706127062270632706427065270662706727068270692707027071270722707327074270752707627077270782707927080270812708227083270842708527086270872708827089270902709127092270932709427095270962709727098270992710027101271022710327104271052710627107271082710927110271112711227113271142711527116271172711827119271202712127122271232712427125271262712727128271292713027131271322713327134271352713627137271382713927140271412714227143271442714527146271472714827149271502715127152271532715427155271562715727158271592716027161271622716327164271652716627167271682716927170271712717227173271742717527176271772717827179271802718127182271832718427185271862718727188271892719027191271922719327194271952719627197271982719927200272012720227203272042720527206272072720827209272102721127212272132721427215272162721727218272192722027221272222722327224272252722627227272282722927230272312723227233272342723527236272372723827239272402724127242272432724427245272462724727248272492725027251272522725327254272552725627257272582725927260272612726227263272642726527266272672726827269272702727127272272732727427275272762727727278272792728027281272822728327284272852728627287272882728927290272912729227293272942729527296272972729827299273002730127302273032730427305273062730727308273092731027311273122731327314273152731627317273182731927320273212732227323273242732527326273272732827329273302733127332273332733427335273362733727338273392734027341273422734327344273452734627347273482734927350273512735227353273542735527356273572735827359273602736127362273632736427365273662736727368273692737027371273722737327374273752737627377273782737927380273812738227383273842738527386273872738827389273902739127392273932739427395273962739727398273992740027401274022740327404274052740627407274082740927410274112741227413274142741527416274172741827419274202742127422274232742427425274262742727428274292743027431274322743327434274352743627437274382743927440274412744227443274442744527446274472744827449274502745127452274532745427455274562745727458274592746027461274622746327464274652746627467274682746927470274712747227473274742747527476274772747827479274802748127482274832748427485274862748727488274892749027491274922749327494274952749627497274982749927500275012750227503275042750527506275072750827509275102751127512275132751427515275162751727518275192752027521275222752327524275252752627527275282752927530275312753227533275342753527536275372753827539275402754127542275432754427545275462754727548275492755027551275522755327554275552755627557275582755927560275612756227563275642756527566275672756827569275702757127572275732757427575275762757727578275792758027581275822758327584275852758627587275882758927590275912759227593275942759527596275972759827599276002760127602276032760427605276062760727608276092761027611276122761327614276152761627617276182761927620276212762227623276242762527626276272762827629276302763127632276332763427635276362763727638276392764027641276422764327644276452764627647276482764927650276512765227653276542765527656276572765827659276602766127662276632766427665276662766727668276692767027671276722767327674276752767627677276782767927680276812768227683276842768527686276872768827689276902769127692276932769427695276962769727698276992770027701277022770327704277052770627707277082770927710277112771227713277142771527716277172771827719277202772127722277232772427725277262772727728277292773027731277322773327734277352773627737277382773927740277412774227743277442774527746277472774827749277502775127752277532775427755277562775727758277592776027761277622776327764277652776627767277682776927770277712777227773277742777527776277772777827779277802778127782277832778427785277862778727788277892779027791277922779327794277952779627797277982779927800278012780227803278042780527806278072780827809278102781127812278132781427815278162781727818278192782027821278222782327824278252782627827278282782927830278312783227833278342783527836278372783827839278402784127842278432784427845278462784727848278492785027851278522785327854278552785627857278582785927860278612786227863278642786527866278672786827869278702787127872278732787427875278762787727878278792788027881278822788327884278852788627887278882788927890278912789227893278942789527896278972789827899279002790127902279032790427905279062790727908279092791027911279122791327914279152791627917279182791927920279212792227923279242792527926279272792827929279302793127932279332793427935279362793727938279392794027941279422794327944279452794627947279482794927950279512795227953279542795527956279572795827959279602796127962279632796427965279662796727968279692797027971279722797327974279752797627977279782797927980279812798227983279842798527986279872798827989279902799127992279932799427995279962799727998279992800028001280022800328004280052800628007280082800928010280112801228013280142801528016280172801828019280202802128022280232802428025280262802728028280292803028031280322803328034280352803628037280382803928040280412804228043280442804528046280472804828049280502805128052280532805428055280562805728058280592806028061280622806328064280652806628067280682806928070280712807228073280742807528076280772807828079280802808128082280832808428085280862808728088280892809028091280922809328094280952809628097280982809928100281012810228103281042810528106281072810828109281102811128112281132811428115281162811728118281192812028121281222812328124281252812628127281282812928130281312813228133281342813528136281372813828139281402814128142281432814428145281462814728148281492815028151281522815328154281552815628157281582815928160281612816228163281642816528166281672816828169281702817128172281732817428175281762817728178281792818028181281822818328184281852818628187281882818928190281912819228193281942819528196281972819828199282002820128202282032820428205282062820728208282092821028211282122821328214282152821628217282182821928220282212822228223282242822528226282272822828229282302823128232282332823428235282362823728238282392824028241282422824328244282452824628247282482824928250282512825228253282542825528256282572825828259282602826128262282632826428265282662826728268282692827028271282722827328274282752827628277282782827928280282812828228283282842828528286282872828828289282902829128292282932829428295282962829728298282992830028301283022830328304283052830628307283082830928310283112831228313283142831528316283172831828319283202832128322283232832428325283262832728328283292833028331283322833328334283352833628337283382833928340283412834228343283442834528346283472834828349283502835128352283532835428355283562835728358283592836028361283622836328364283652836628367283682836928370283712837228373283742837528376283772837828379283802838128382283832838428385283862838728388283892839028391283922839328394283952839628397283982839928400284012840228403284042840528406284072840828409284102841128412284132841428415284162841728418284192842028421284222842328424284252842628427284282842928430284312843228433284342843528436284372843828439284402844128442284432844428445284462844728448284492845028451284522845328454284552845628457284582845928460284612846228463284642846528466284672846828469284702847128472284732847428475284762847728478284792848028481284822848328484284852848628487284882848928490284912849228493284942849528496284972849828499285002850128502285032850428505285062850728508285092851028511285122851328514285152851628517285182851928520285212852228523285242852528526285272852828529285302853128532285332853428535285362853728538285392854028541285422854328544285452854628547285482854928550285512855228553285542855528556285572855828559285602856128562285632856428565285662856728568285692857028571285722857328574285752857628577285782857928580285812858228583285842858528586285872858828589285902859128592285932859428595285962859728598285992860028601286022860328604286052860628607286082860928610286112861228613286142861528616286172861828619286202862128622286232862428625286262862728628286292863028631286322863328634286352863628637286382863928640286412864228643286442864528646286472864828649286502865128652286532865428655286562865728658286592866028661286622866328664286652866628667286682866928670286712867228673286742867528676286772867828679286802868128682286832868428685286862868728688286892869028691286922869328694286952869628697286982869928700287012870228703287042870528706287072870828709287102871128712287132871428715287162871728718287192872028721287222872328724287252872628727287282872928730287312873228733287342873528736287372873828739287402874128742287432874428745287462874728748287492875028751287522875328754287552875628757287582875928760287612876228763287642876528766287672876828769287702877128772287732877428775287762877728778287792878028781287822878328784287852878628787287882878928790287912879228793287942879528796287972879828799288002880128802288032880428805288062880728808288092881028811288122881328814288152881628817288182881928820288212882228823288242882528826288272882828829288302883128832288332883428835288362883728838288392884028841288422884328844288452884628847288482884928850288512885228853288542885528856288572885828859288602886128862288632886428865288662886728868288692887028871288722887328874288752887628877288782887928880288812888228883288842888528886288872888828889288902889128892288932889428895288962889728898288992890028901289022890328904289052890628907289082890928910289112891228913289142891528916289172891828919289202892128922289232892428925289262892728928289292893028931289322893328934289352893628937289382893928940289412894228943289442894528946289472894828949289502895128952289532895428955289562895728958289592896028961289622896328964289652896628967289682896928970289712897228973289742897528976289772897828979289802898128982289832898428985289862898728988289892899028991289922899328994289952899628997289982899929000290012900229003290042900529006290072900829009290102901129012290132901429015290162901729018290192902029021290222902329024290252902629027290282902929030290312903229033290342903529036290372903829039290402904129042290432904429045290462904729048290492905029051290522905329054290552905629057290582905929060290612906229063290642906529066290672906829069290702907129072290732907429075290762907729078290792908029081290822908329084290852908629087290882908929090290912909229093290942909529096290972909829099291002910129102291032910429105291062910729108291092911029111291122911329114291152911629117291182911929120291212912229123291242912529126291272912829129291302913129132291332913429135291362913729138291392914029141291422914329144291452914629147291482914929150291512915229153291542915529156291572915829159291602916129162291632916429165291662916729168291692917029171291722917329174291752917629177291782917929180291812918229183291842918529186291872918829189291902919129192291932919429195291962919729198291992920029201292022920329204292052920629207292082920929210292112921229213292142921529216292172921829219292202922129222292232922429225292262922729228292292923029231292322923329234292352923629237292382923929240292412924229243292442924529246292472924829249292502925129252292532925429255292562925729258292592926029261292622926329264292652926629267292682926929270292712927229273292742927529276292772927829279292802928129282292832928429285292862928729288292892929029291292922929329294292952929629297292982929929300293012930229303293042930529306293072930829309293102931129312293132931429315293162931729318293192932029321293222932329324293252932629327293282932929330293312933229333293342933529336293372933829339293402934129342293432934429345293462934729348293492935029351293522935329354293552935629357293582935929360293612936229363293642936529366293672936829369293702937129372293732937429375293762937729378293792938029381293822938329384293852938629387293882938929390293912939229393293942939529396293972939829399294002940129402294032940429405294062940729408294092941029411294122941329414294152941629417294182941929420294212942229423294242942529426294272942829429294302943129432294332943429435294362943729438294392944029441294422944329444294452944629447294482944929450294512945229453294542945529456294572945829459294602946129462294632946429465294662946729468294692947029471294722947329474294752947629477294782947929480294812948229483294842948529486294872948829489294902949129492294932949429495294962949729498294992950029501295022950329504295052950629507295082950929510295112951229513295142951529516295172951829519295202952129522295232952429525295262952729528295292953029531295322953329534295352953629537295382953929540295412954229543295442954529546295472954829549295502955129552295532955429555295562955729558295592956029561295622956329564295652956629567295682956929570295712957229573295742957529576295772957829579295802958129582295832958429585295862958729588295892959029591295922959329594295952959629597295982959929600296012960229603296042960529606296072960829609296102961129612296132961429615296162961729618296192962029621296222962329624296252962629627296282962929630296312963229633296342963529636296372963829639296402964129642296432964429645296462964729648296492965029651296522965329654296552965629657296582965929660296612966229663296642966529666296672966829669296702967129672296732967429675296762967729678296792968029681296822968329684296852968629687296882968929690296912969229693296942969529696296972969829699297002970129702297032970429705297062970729708297092971029711297122971329714297152971629717297182971929720297212972229723297242972529726297272972829729297302973129732297332973429735297362973729738297392974029741297422974329744297452974629747297482974929750297512975229753297542975529756297572975829759297602976129762297632976429765297662976729768297692977029771297722977329774297752977629777297782977929780297812978229783297842978529786297872978829789297902979129792297932979429795297962979729798297992980029801298022980329804298052980629807298082980929810298112981229813298142981529816298172981829819298202982129822298232982429825298262982729828298292983029831298322983329834298352983629837298382983929840298412984229843298442984529846298472984829849298502985129852298532985429855298562985729858298592986029861298622986329864298652986629867298682986929870298712987229873298742987529876298772987829879298802988129882298832988429885298862988729888298892989029891298922989329894298952989629897298982989929900299012990229903299042990529906299072990829909299102991129912299132991429915299162991729918299192992029921299222992329924299252992629927299282992929930299312993229933299342993529936299372993829939299402994129942299432994429945299462994729948299492995029951299522995329954299552995629957299582995929960299612996229963299642996529966299672996829969299702997129972299732997429975299762997729978299792998029981299822998329984299852998629987299882998929990299912999229993299942999529996299972999829999300003000130002300033000430005300063000730008300093001030011300123001330014300153001630017300183001930020300213002230023300243002530026300273002830029300303003130032300333003430035300363003730038300393004030041300423004330044300453004630047300483004930050300513005230053300543005530056300573005830059300603006130062300633006430065300663006730068300693007030071300723007330074300753007630077300783007930080300813008230083300843008530086300873008830089300903009130092300933009430095300963009730098300993010030101301023010330104301053010630107301083010930110301113011230113301143011530116301173011830119301203012130122301233012430125301263012730128301293013030131301323013330134301353013630137301383013930140301413014230143301443014530146301473014830149301503015130152301533015430155301563015730158301593016030161301623016330164301653016630167301683016930170301713017230173301743017530176301773017830179301803018130182301833018430185301863018730188301893019030191301923019330194301953019630197301983019930200302013020230203302043020530206302073020830209302103021130212302133021430215302163021730218302193022030221302223022330224302253022630227302283022930230302313023230233302343023530236302373023830239302403024130242302433024430245302463024730248302493025030251302523025330254302553025630257302583025930260302613026230263302643026530266302673026830269302703027130272302733027430275302763027730278302793028030281302823028330284302853028630287302883028930290302913029230293302943029530296302973029830299303003030130302303033030430305303063030730308303093031030311303123031330314303153031630317303183031930320303213032230323303243032530326303273032830329303303033130332303333033430335303363033730338303393034030341303423034330344303453034630347303483034930350303513035230353303543035530356303573035830359303603036130362303633036430365303663036730368303693037030371303723037330374303753037630377303783037930380303813038230383303843038530386303873038830389303903039130392303933039430395303963039730398303993040030401304023040330404304053040630407304083040930410304113041230413304143041530416304173041830419304203042130422304233042430425304263042730428304293043030431304323043330434304353043630437304383043930440304413044230443304443044530446304473044830449304503045130452304533045430455304563045730458304593046030461304623046330464304653046630467304683046930470304713047230473304743047530476304773047830479304803048130482304833048430485304863048730488304893049030491304923049330494304953049630497304983049930500305013050230503305043050530506305073050830509305103051130512305133051430515305163051730518305193052030521305223052330524305253052630527305283052930530305313053230533305343053530536305373053830539305403054130542305433054430545305463054730548305493055030551305523055330554305553055630557305583055930560305613056230563305643056530566305673056830569305703057130572305733057430575305763057730578305793058030581305823058330584305853058630587305883058930590305913059230593305943059530596305973059830599306003060130602306033060430605306063060730608306093061030611306123061330614306153061630617306183061930620306213062230623306243062530626306273062830629306303063130632306333063430635306363063730638306393064030641306423064330644306453064630647306483064930650306513065230653306543065530656306573065830659306603066130662306633066430665306663066730668306693067030671306723067330674306753067630677306783067930680306813068230683306843068530686306873068830689306903069130692306933069430695306963069730698306993070030701307023070330704307053070630707307083070930710307113071230713307143071530716307173071830719307203072130722307233072430725307263072730728307293073030731307323073330734307353073630737307383073930740307413074230743307443074530746307473074830749307503075130752307533075430755307563075730758307593076030761307623076330764307653076630767307683076930770307713077230773307743077530776307773077830779307803078130782307833078430785307863078730788307893079030791307923079330794307953079630797307983079930800308013080230803308043080530806308073080830809308103081130812308133081430815308163081730818308193082030821308223082330824308253082630827308283082930830308313083230833308343083530836308373083830839308403084130842308433084430845308463084730848308493085030851308523085330854308553085630857308583085930860308613086230863308643086530866308673086830869308703087130872308733087430875308763087730878308793088030881308823088330884308853088630887308883088930890308913089230893308943089530896308973089830899309003090130902309033090430905309063090730908309093091030911309123091330914309153091630917309183091930920309213092230923309243092530926309273092830929309303093130932309333093430935309363093730938309393094030941309423094330944309453094630947309483094930950309513095230953309543095530956309573095830959309603096130962309633096430965309663096730968309693097030971309723097330974309753097630977309783097930980309813098230983309843098530986309873098830989309903099130992309933099430995309963099730998309993100031001310023100331004310053100631007310083100931010310113101231013310143101531016310173101831019310203102131022310233102431025310263102731028310293103031031310323103331034310353103631037310383103931040310413104231043310443104531046310473104831049310503105131052310533105431055310563105731058310593106031061310623106331064310653106631067310683106931070310713107231073310743107531076310773107831079310803108131082310833108431085310863108731088310893109031091310923109331094310953109631097310983109931100311013110231103311043110531106311073110831109311103111131112311133111431115311163111731118311193112031121311223112331124311253112631127311283112931130311313113231133311343113531136311373113831139311403114131142311433114431145311463114731148311493115031151311523115331154311553115631157311583115931160311613116231163311643116531166311673116831169311703117131172311733117431175311763117731178311793118031181311823118331184311853118631187311883118931190311913119231193311943119531196311973119831199312003120131202312033120431205312063120731208312093121031211312123121331214312153121631217312183121931220312213122231223312243122531226312273122831229312303123131232312333123431235312363123731238312393124031241312423124331244312453124631247312483124931250312513125231253312543125531256312573125831259312603126131262312633126431265312663126731268312693127031271312723127331274312753127631277312783127931280312813128231283312843128531286312873128831289312903129131292312933129431295312963129731298312993130031301313023130331304313053130631307313083130931310313113131231313313143131531316313173131831319313203132131322313233132431325313263132731328313293133031331313323133331334313353133631337313383133931340313413134231343313443134531346313473134831349313503135131352313533135431355313563135731358313593136031361313623136331364313653136631367313683136931370313713137231373313743137531376313773137831379313803138131382313833138431385313863138731388313893139031391313923139331394313953139631397313983139931400314013140231403314043140531406314073140831409314103141131412314133141431415314163141731418314193142031421314223142331424314253142631427314283142931430314313143231433314343143531436314373143831439314403144131442314433144431445314463144731448314493145031451314523145331454314553145631457314583145931460314613146231463314643146531466314673146831469314703147131472314733147431475314763147731478314793148031481314823148331484314853148631487314883148931490314913149231493314943149531496314973149831499315003150131502315033150431505315063150731508315093151031511315123151331514315153151631517315183151931520315213152231523315243152531526315273152831529315303153131532315333153431535315363153731538315393154031541315423154331544315453154631547315483154931550315513155231553315543155531556315573155831559315603156131562315633156431565315663156731568315693157031571315723157331574315753157631577315783157931580315813158231583315843158531586315873158831589315903159131592315933159431595315963159731598315993160031601316023160331604316053160631607316083160931610316113161231613316143161531616316173161831619316203162131622316233162431625316263162731628316293163031631316323163331634316353163631637316383163931640316413164231643316443164531646316473164831649316503165131652316533165431655316563165731658316593166031661316623166331664316653166631667316683166931670316713167231673316743167531676316773167831679316803168131682316833168431685316863168731688316893169031691316923169331694316953169631697316983169931700317013170231703317043170531706317073170831709317103171131712317133171431715317163171731718317193172031721317223172331724317253172631727317283172931730317313173231733317343173531736317373173831739317403174131742317433174431745317463174731748317493175031751317523175331754317553175631757317583175931760317613176231763317643176531766317673176831769317703177131772317733177431775317763177731778317793178031781317823178331784317853178631787317883178931790317913179231793317943179531796317973179831799318003180131802318033180431805318063180731808318093181031811318123181331814318153181631817318183181931820318213182231823318243182531826318273182831829318303183131832318333183431835318363183731838318393184031841318423184331844318453184631847318483184931850318513185231853318543185531856318573185831859318603186131862318633186431865318663186731868318693187031871318723187331874318753187631877318783187931880318813188231883318843188531886318873188831889318903189131892318933189431895318963189731898318993190031901319023190331904319053190631907319083190931910319113191231913319143191531916319173191831919319203192131922319233192431925319263192731928319293193031931319323193331934319353193631937319383193931940319413194231943319443194531946319473194831949319503195131952319533195431955319563195731958319593196031961319623196331964319653196631967319683196931970319713197231973319743197531976319773197831979319803198131982319833198431985319863198731988319893199031991319923199331994319953199631997319983199932000320013200232003320043200532006320073200832009320103201132012320133201432015320163201732018320193202032021320223202332024320253202632027320283202932030320313203232033320343203532036320373203832039320403204132042320433204432045320463204732048320493205032051320523205332054320553205632057320583205932060320613206232063320643206532066320673206832069320703207132072320733207432075320763207732078320793208032081320823208332084320853208632087320883208932090320913209232093320943209532096320973209832099321003210132102321033210432105321063210732108321093211032111321123211332114321153211632117321183211932120321213212232123321243212532126321273212832129321303213132132321333213432135321363213732138321393214032141321423214332144321453214632147321483214932150321513215232153321543215532156321573215832159321603216132162321633216432165321663216732168321693217032171321723217332174321753217632177321783217932180321813218232183321843218532186321873218832189321903219132192321933219432195321963219732198321993220032201322023220332204322053220632207322083220932210322113221232213322143221532216322173221832219322203222132222322233222432225322263222732228322293223032231322323223332234322353223632237322383223932240322413224232243322443224532246322473224832249322503225132252322533225432255322563225732258322593226032261322623226332264322653226632267322683226932270322713227232273322743227532276322773227832279322803228132282322833228432285322863228732288322893229032291322923229332294322953229632297322983229932300323013230232303323043230532306323073230832309323103231132312323133231432315323163231732318323193232032321323223232332324323253232632327323283232932330323313233232333323343233532336323373233832339323403234132342323433234432345323463234732348323493235032351323523235332354323553235632357323583235932360323613236232363323643236532366323673236832369323703237132372323733237432375323763237732378323793238032381323823238332384323853238632387323883238932390323913239232393323943239532396323973239832399324003240132402324033240432405324063240732408324093241032411324123241332414324153241632417324183241932420324213242232423324243242532426324273242832429324303243132432324333243432435324363243732438324393244032441324423244332444324453244632447324483244932450324513245232453324543245532456324573245832459324603246132462324633246432465324663246732468324693247032471324723247332474324753247632477324783247932480324813248232483324843248532486324873248832489324903249132492324933249432495324963249732498324993250032501325023250332504325053250632507325083250932510325113251232513325143251532516325173251832519325203252132522325233252432525325263252732528325293253032531325323253332534325353253632537325383253932540325413254232543325443254532546325473254832549325503255132552325533255432555325563255732558325593256032561325623256332564325653256632567325683256932570325713257232573325743257532576325773257832579325803258132582325833258432585325863258732588325893259032591325923259332594325953259632597325983259932600326013260232603326043260532606326073260832609326103261132612326133261432615326163261732618326193262032621326223262332624326253262632627326283262932630326313263232633326343263532636326373263832639326403264132642326433264432645326463264732648326493265032651326523265332654326553265632657326583265932660326613266232663326643266532666326673266832669326703267132672326733267432675326763267732678326793268032681326823268332684326853268632687326883268932690326913269232693326943269532696326973269832699327003270132702327033270432705327063270732708327093271032711327123271332714327153271632717327183271932720327213272232723327243272532726327273272832729327303273132732327333273432735327363273732738327393274032741327423274332744327453274632747327483274932750327513275232753327543275532756327573275832759327603276132762327633276432765327663276732768327693277032771327723277332774327753277632777327783277932780327813278232783327843278532786327873278832789327903279132792327933279432795327963279732798327993280032801328023280332804328053280632807328083280932810328113281232813328143281532816328173281832819328203282132822328233282432825328263282732828328293283032831328323283332834328353283632837328383283932840328413284232843328443284532846328473284832849328503285132852328533285432855328563285732858328593286032861328623286332864328653286632867328683286932870328713287232873328743287532876328773287832879328803288132882328833288432885328863288732888328893289032891328923289332894328953289632897328983289932900329013290232903329043290532906329073290832909329103291132912329133291432915329163291732918329193292032921329223292332924329253292632927329283292932930329313293232933329343293532936329373293832939329403294132942329433294432945329463294732948329493295032951329523295332954329553295632957329583295932960329613296232963329643296532966329673296832969329703297132972329733297432975329763297732978329793298032981329823298332984329853298632987329883298932990329913299232993329943299532996329973299832999330003300133002330033300433005330063300733008330093301033011330123301333014330153301633017330183301933020330213302233023330243302533026330273302833029330303303133032330333303433035330363303733038330393304033041330423304333044330453304633047330483304933050330513305233053330543305533056330573305833059330603306133062330633306433065330663306733068330693307033071330723307333074330753307633077330783307933080330813308233083330843308533086330873308833089330903309133092330933309433095330963309733098330993310033101331023310333104331053310633107331083310933110331113311233113331143311533116331173311833119331203312133122331233312433125331263312733128331293313033131331323313333134331353313633137331383313933140331413314233143331443314533146331473314833149331503315133152331533315433155331563315733158331593316033161331623316333164331653316633167331683316933170331713317233173331743317533176331773317833179331803318133182331833318433185331863318733188331893319033191331923319333194331953319633197331983319933200332013320233203332043320533206332073320833209332103321133212332133321433215332163321733218332193322033221332223322333224332253322633227332283322933230332313323233233332343323533236332373323833239332403324133242332433324433245332463324733248332493325033251332523325333254332553325633257332583325933260332613326233263332643326533266332673326833269332703327133272332733327433275332763327733278332793328033281332823328333284332853328633287332883328933290332913329233293332943329533296332973329833299333003330133302333033330433305333063330733308333093331033311333123331333314333153331633317333183331933320333213332233323333243332533326333273332833329333303333133332333333333433335333363333733338333393334033341333423334333344333453334633347333483334933350333513335233353333543335533356333573335833359333603336133362333633336433365333663336733368333693337033371333723337333374333753337633377333783337933380333813338233383333843338533386333873338833389333903339133392333933339433395333963339733398333993340033401334023340333404334053340633407334083340933410334113341233413334143341533416334173341833419334203342133422334233342433425334263342733428334293343033431334323343333434334353343633437334383343933440334413344233443334443344533446334473344833449334503345133452334533345433455334563345733458334593346033461334623346333464334653346633467334683346933470334713347233473334743347533476334773347833479334803348133482334833348433485334863348733488334893349033491334923349333494334953349633497334983349933500335013350233503335043350533506335073350833509335103351133512335133351433515335163351733518335193352033521335223352333524335253352633527335283352933530335313353233533335343353533536335373353833539335403354133542335433354433545335463354733548335493355033551335523355333554335553355633557335583355933560335613356233563335643356533566335673356833569335703357133572335733357433575335763357733578335793358033581335823358333584335853358633587335883358933590335913359233593335943359533596335973359833599336003360133602336033360433605336063360733608336093361033611336123361333614336153361633617336183361933620336213362233623336243362533626336273362833629336303363133632336333363433635336363363733638336393364033641336423364333644336453364633647336483364933650336513365233653336543365533656336573365833659336603366133662336633366433665336663366733668336693367033671336723367333674336753367633677336783367933680336813368233683336843368533686336873368833689336903369133692336933369433695336963369733698336993370033701337023370333704337053370633707337083370933710337113371233713337143371533716337173371833719337203372133722337233372433725337263372733728337293373033731337323373333734337353373633737337383373933740337413374233743337443374533746337473374833749337503375133752337533375433755337563375733758337593376033761337623376333764337653376633767337683376933770337713377233773337743377533776337773377833779337803378133782337833378433785337863378733788337893379033791337923379333794337953379633797337983379933800338013380233803338043380533806338073380833809338103381133812338133381433815338163381733818338193382033821338223382333824338253382633827338283382933830338313383233833338343383533836338373383833839338403384133842338433384433845338463384733848338493385033851338523385333854338553385633857338583385933860338613386233863338643386533866338673386833869338703387133872338733387433875338763387733878338793388033881338823388333884338853388633887338883388933890338913389233893338943389533896338973389833899339003390133902339033390433905339063390733908339093391033911339123391333914339153391633917339183391933920339213392233923339243392533926339273392833929339303393133932339333393433935339363393733938339393394033941339423394333944339453394633947339483394933950339513395233953339543395533956339573395833959339603396133962339633396433965339663396733968339693397033971339723397333974339753397633977339783397933980339813398233983339843398533986339873398833989339903399133992339933399433995339963399733998339993400034001340023400334004340053400634007340083400934010340113401234013340143401534016340173401834019340203402134022340233402434025340263402734028340293403034031340323403334034340353403634037340383403934040340413404234043340443404534046340473404834049340503405134052340533405434055340563405734058340593406034061340623406334064340653406634067340683406934070340713407234073340743407534076340773407834079340803408134082340833408434085340863408734088340893409034091340923409334094340953409634097340983409934100341013410234103341043410534106341073410834109341103411134112341133411434115341163411734118341193412034121341223412334124341253412634127341283412934130341313413234133341343413534136341373413834139341403414134142341433414434145341463414734148341493415034151341523415334154341553415634157341583415934160341613416234163341643416534166341673416834169341703417134172341733417434175341763417734178341793418034181341823418334184341853418634187341883418934190341913419234193341943419534196341973419834199342003420134202342033420434205342063420734208342093421034211342123421334214342153421634217342183421934220342213422234223342243422534226342273422834229342303423134232342333423434235342363423734238342393424034241342423424334244342453424634247342483424934250342513425234253342543425534256342573425834259342603426134262342633426434265342663426734268342693427034271342723427334274342753427634277342783427934280342813428234283342843428534286342873428834289342903429134292342933429434295342963429734298342993430034301343023430334304343053430634307343083430934310343113431234313343143431534316343173431834319343203432134322343233432434325343263432734328343293433034331343323433334334343353433634337343383433934340343413434234343343443434534346343473434834349343503435134352343533435434355343563435734358343593436034361343623436334364343653436634367343683436934370343713437234373343743437534376343773437834379343803438134382343833438434385343863438734388343893439034391343923439334394343953439634397343983439934400344013440234403344043440534406344073440834409344103441134412344133441434415344163441734418344193442034421344223442334424344253442634427344283442934430344313443234433344343443534436344373443834439344403444134442344433444434445344463444734448344493445034451344523445334454344553445634457344583445934460344613446234463344643446534466344673446834469344703447134472344733447434475344763447734478344793448034481344823448334484344853448634487344883448934490344913449234493344943449534496344973449834499345003450134502345033450434505345063450734508345093451034511345123451334514345153451634517345183451934520345213452234523345243452534526345273452834529345303453134532345333453434535345363453734538345393454034541345423454334544345453454634547345483454934550345513455234553345543455534556345573455834559345603456134562345633456434565345663456734568345693457034571345723457334574345753457634577345783457934580345813458234583345843458534586345873458834589345903459134592345933459434595345963459734598345993460034601346023460334604346053460634607346083460934610346113461234613346143461534616346173461834619346203462134622346233462434625346263462734628346293463034631346323463334634346353463634637346383463934640346413464234643346443464534646346473464834649346503465134652346533465434655346563465734658346593466034661346623466334664346653466634667346683466934670346713467234673346743467534676346773467834679346803468134682346833468434685346863468734688346893469034691346923469334694346953469634697346983469934700347013470234703347043470534706347073470834709347103471134712347133471434715347163471734718347193472034721347223472334724347253472634727347283472934730347313473234733347343473534736347373473834739347403474134742347433474434745347463474734748347493475034751347523475334754347553475634757347583475934760347613476234763347643476534766347673476834769347703477134772347733477434775347763477734778347793478034781347823478334784347853478634787347883478934790347913479234793347943479534796347973479834799348003480134802348033480434805348063480734808348093481034811348123481334814348153481634817348183481934820348213482234823348243482534826348273482834829348303483134832348333483434835348363483734838348393484034841348423484334844348453484634847348483484934850348513485234853348543485534856348573485834859348603486134862348633486434865348663486734868348693487034871348723487334874348753487634877348783487934880348813488234883348843488534886348873488834889348903489134892348933489434895348963489734898348993490034901349023490334904349053490634907349083490934910349113491234913349143491534916349173491834919349203492134922349233492434925349263492734928349293493034931349323493334934349353493634937349383493934940349413494234943349443494534946349473494834949349503495134952349533495434955349563495734958349593496034961349623496334964349653496634967349683496934970349713497234973349743497534976349773497834979349803498134982349833498434985349863498734988349893499034991349923499334994349953499634997349983499935000350013500235003350043500535006350073500835009350103501135012350133501435015350163501735018350193502035021350223502335024350253502635027350283502935030350313503235033350343503535036350373503835039350403504135042350433504435045350463504735048350493505035051350523505335054350553505635057350583505935060350613506235063350643506535066350673506835069350703507135072350733507435075350763507735078350793508035081350823508335084350853508635087350883508935090350913509235093350943509535096350973509835099351003510135102351033510435105351063510735108351093511035111351123511335114351153511635117351183511935120351213512235123351243512535126351273512835129351303513135132351333513435135351363513735138351393514035141351423514335144351453514635147351483514935150351513515235153351543515535156351573515835159351603516135162351633516435165351663516735168351693517035171351723517335174351753517635177351783517935180351813518235183351843518535186351873518835189351903519135192351933519435195351963519735198351993520035201352023520335204352053520635207352083520935210352113521235213352143521535216352173521835219352203522135222352233522435225352263522735228352293523035231352323523335234352353523635237352383523935240352413524235243352443524535246352473524835249352503525135252352533525435255352563525735258352593526035261352623526335264352653526635267352683526935270352713527235273352743527535276352773527835279352803528135282352833528435285352863528735288352893529035291352923529335294352953529635297352983529935300353013530235303353043530535306353073530835309353103531135312353133531435315353163531735318353193532035321353223532335324353253532635327353283532935330353313533235333353343533535336353373533835339353403534135342353433534435345353463534735348353493535035351353523535335354353553535635357353583535935360353613536235363353643536535366353673536835369353703537135372353733537435375353763537735378353793538035381353823538335384353853538635387353883538935390353913539235393353943539535396353973539835399354003540135402354033540435405354063540735408354093541035411354123541335414354153541635417354183541935420354213542235423354243542535426354273542835429354303543135432354333543435435354363543735438354393544035441354423544335444354453544635447354483544935450354513545235453354543545535456354573545835459354603546135462354633546435465354663546735468354693547035471354723547335474354753547635477354783547935480354813548235483354843548535486354873548835489354903549135492354933549435495354963549735498354993550035501355023550335504355053550635507355083550935510355113551235513355143551535516355173551835519355203552135522355233552435525355263552735528355293553035531355323553335534355353553635537355383553935540355413554235543355443554535546355473554835549355503555135552355533555435555355563555735558355593556035561355623556335564355653556635567355683556935570355713557235573355743557535576355773557835579355803558135582355833558435585355863558735588355893559035591355923559335594355953559635597355983559935600356013560235603356043560535606356073560835609356103561135612356133561435615356163561735618356193562035621356223562335624356253562635627356283562935630356313563235633356343563535636356373563835639356403564135642356433564435645356463564735648356493565035651356523565335654356553565635657356583565935660356613566235663356643566535666356673566835669356703567135672356733567435675356763567735678356793568035681356823568335684356853568635687356883568935690356913569235693356943569535696356973569835699357003570135702357033570435705357063570735708357093571035711357123571335714357153571635717357183571935720357213572235723357243572535726357273572835729357303573135732357333573435735357363573735738357393574035741357423574335744357453574635747357483574935750357513575235753357543575535756357573575835759357603576135762357633576435765357663576735768357693577035771357723577335774357753577635777357783577935780357813578235783357843578535786357873578835789357903579135792357933579435795357963579735798357993580035801358023580335804358053580635807358083580935810358113581235813358143581535816358173581835819358203582135822358233582435825358263582735828358293583035831358323583335834358353583635837358383583935840358413584235843358443584535846358473584835849358503585135852358533585435855358563585735858358593586035861358623586335864358653586635867358683586935870358713587235873358743587535876358773587835879358803588135882358833588435885358863588735888358893589035891358923589335894358953589635897358983589935900359013590235903359043590535906359073590835909359103591135912359133591435915359163591735918359193592035921359223592335924359253592635927359283592935930359313593235933359343593535936359373593835939359403594135942359433594435945359463594735948359493595035951359523595335954359553595635957359583595935960359613596235963359643596535966359673596835969359703597135972359733597435975359763597735978359793598035981359823598335984359853598635987359883598935990359913599235993359943599535996359973599835999360003600136002360033600436005360063600736008360093601036011360123601336014360153601636017360183601936020360213602236023360243602536026360273602836029360303603136032360333603436035360363603736038360393604036041360423604336044360453604636047360483604936050360513605236053360543605536056360573605836059360603606136062360633606436065360663606736068360693607036071360723607336074360753607636077360783607936080360813608236083360843608536086360873608836089360903609136092360933609436095360963609736098360993610036101361023610336104361053610636107361083610936110361113611236113361143611536116361173611836119361203612136122361233612436125361263612736128361293613036131361323613336134361353613636137361383613936140361413614236143361443614536146361473614836149361503615136152361533615436155361563615736158361593616036161361623616336164361653616636167361683616936170361713617236173361743617536176361773617836179361803618136182361833618436185361863618736188361893619036191361923619336194361953619636197361983619936200362013620236203362043620536206362073620836209362103621136212362133621436215362163621736218362193622036221362223622336224362253622636227362283622936230362313623236233362343623536236362373623836239362403624136242362433624436245362463624736248362493625036251362523625336254362553625636257362583625936260362613626236263362643626536266362673626836269362703627136272362733627436275362763627736278362793628036281362823628336284362853628636287362883628936290362913629236293362943629536296362973629836299363003630136302363033630436305363063630736308363093631036311363123631336314363153631636317363183631936320363213632236323363243632536326363273632836329363303633136332363333633436335363363633736338363393634036341363423634336344363453634636347363483634936350363513635236353363543635536356363573635836359363603636136362363633636436365363663636736368363693637036371363723637336374363753637636377363783637936380363813638236383363843638536386363873638836389363903639136392363933639436395363963639736398363993640036401364023640336404364053640636407364083640936410364113641236413364143641536416364173641836419364203642136422364233642436425364263642736428364293643036431364323643336434364353643636437364383643936440364413644236443364443644536446364473644836449364503645136452364533645436455364563645736458364593646036461364623646336464364653646636467364683646936470364713647236473364743647536476364773647836479364803648136482364833648436485364863648736488364893649036491364923649336494364953649636497364983649936500365013650236503365043650536506365073650836509365103651136512365133651436515365163651736518365193652036521365223652336524365253652636527365283652936530365313653236533365343653536536365373653836539365403654136542365433654436545365463654736548365493655036551365523655336554365553655636557365583655936560365613656236563365643656536566365673656836569365703657136572365733657436575365763657736578365793658036581365823658336584365853658636587365883658936590365913659236593365943659536596365973659836599366003660136602366033660436605366063660736608366093661036611366123661336614366153661636617366183661936620366213662236623366243662536626366273662836629366303663136632366333663436635366363663736638366393664036641366423664336644366453664636647366483664936650366513665236653366543665536656366573665836659366603666136662366633666436665366663666736668366693667036671366723667336674366753667636677366783667936680366813668236683366843668536686366873668836689366903669136692366933669436695366963669736698366993670036701367023670336704367053670636707367083670936710367113671236713367143671536716367173671836719367203672136722367233672436725367263672736728367293673036731367323673336734367353673636737367383673936740367413674236743367443674536746367473674836749367503675136752367533675436755367563675736758367593676036761367623676336764367653676636767367683676936770367713677236773367743677536776367773677836779367803678136782367833678436785367863678736788367893679036791367923679336794367953679636797367983679936800368013680236803368043680536806368073680836809368103681136812368133681436815368163681736818368193682036821368223682336824368253682636827368283682936830368313683236833368343683536836368373683836839368403684136842368433684436845368463684736848368493685036851368523685336854368553685636857368583685936860368613686236863368643686536866368673686836869368703687136872368733687436875368763687736878368793688036881368823688336884368853688636887368883688936890368913689236893368943689536896368973689836899369003690136902369033690436905369063690736908369093691036911369123691336914369153691636917369183691936920369213692236923369243692536926369273692836929369303693136932369333693436935369363693736938369393694036941369423694336944369453694636947369483694936950369513695236953369543695536956369573695836959369603696136962369633696436965369663696736968369693697036971369723697336974369753697636977369783697936980369813698236983369843698536986369873698836989369903699136992369933699436995369963699736998369993700037001370023700337004370053700637007370083700937010370113701237013370143701537016370173701837019370203702137022370233702437025370263702737028370293703037031370323703337034370353703637037370383703937040370413704237043370443704537046370473704837049370503705137052370533705437055370563705737058370593706037061370623706337064370653706637067370683706937070370713707237073370743707537076370773707837079370803708137082370833708437085370863708737088370893709037091370923709337094370953709637097370983709937100371013710237103371043710537106371073710837109371103711137112371133711437115371163711737118371193712037121371223712337124371253712637127371283712937130371313713237133371343713537136371373713837139371403714137142371433714437145371463714737148371493715037151371523715337154371553715637157371583715937160371613716237163371643716537166371673716837169371703717137172371733717437175371763717737178371793718037181371823718337184371853718637187371883718937190371913719237193371943719537196371973719837199372003720137202372033720437205372063720737208372093721037211372123721337214372153721637217372183721937220372213722237223372243722537226372273722837229372303723137232372333723437235372363723737238372393724037241372423724337244372453724637247372483724937250372513725237253372543725537256372573725837259372603726137262372633726437265372663726737268372693727037271372723727337274372753727637277372783727937280372813728237283372843728537286372873728837289372903729137292372933729437295372963729737298372993730037301373023730337304373053730637307373083730937310373113731237313373143731537316373173731837319373203732137322373233732437325373263732737328373293733037331373323733337334373353733637337373383733937340373413734237343373443734537346373473734837349373503735137352373533735437355373563735737358373593736037361373623736337364373653736637367373683736937370373713737237373373743737537376373773737837379373803738137382373833738437385373863738737388373893739037391373923739337394373953739637397373983739937400374013740237403374043740537406374073740837409374103741137412374133741437415374163741737418374193742037421374223742337424374253742637427374283742937430374313743237433374343743537436374373743837439374403744137442374433744437445374463744737448374493745037451374523745337454374553745637457374583745937460374613746237463374643746537466374673746837469374703747137472374733747437475374763747737478374793748037481374823748337484374853748637487374883748937490374913749237493374943749537496374973749837499375003750137502375033750437505375063750737508375093751037511375123751337514375153751637517375183751937520375213752237523375243752537526375273752837529375303753137532375333753437535375363753737538375393754037541375423754337544375453754637547375483754937550375513755237553375543755537556375573755837559375603756137562375633756437565375663756737568375693757037571375723757337574375753757637577375783757937580375813758237583375843758537586375873758837589375903759137592375933759437595375963759737598375993760037601376023760337604376053760637607376083760937610376113761237613376143761537616376173761837619376203762137622376233762437625376263762737628376293763037631376323763337634376353763637637376383763937640376413764237643376443764537646376473764837649376503765137652376533765437655376563765737658376593766037661376623766337664376653766637667376683766937670376713767237673376743767537676376773767837679376803768137682376833768437685376863768737688376893769037691376923769337694376953769637697376983769937700377013770237703377043770537706377073770837709377103771137712377133771437715377163771737718377193772037721377223772337724377253772637727377283772937730377313773237733377343773537736377373773837739377403774137742377433774437745377463774737748377493775037751377523775337754377553775637757377583775937760377613776237763377643776537766377673776837769377703777137772377733777437775377763777737778377793778037781377823778337784377853778637787377883778937790377913779237793377943779537796377973779837799378003780137802378033780437805378063780737808378093781037811378123781337814378153781637817378183781937820378213782237823378243782537826378273782837829378303783137832378333783437835378363783737838378393784037841378423784337844378453784637847378483784937850378513785237853378543785537856378573785837859378603786137862378633786437865378663786737868378693787037871378723787337874378753787637877378783787937880378813788237883378843788537886378873788837889378903789137892378933789437895378963789737898378993790037901379023790337904379053790637907379083790937910379113791237913379143791537916379173791837919379203792137922379233792437925379263792737928379293793037931379323793337934379353793637937379383793937940379413794237943379443794537946379473794837949379503795137952379533795437955379563795737958379593796037961379623796337964379653796637967379683796937970379713797237973379743797537976379773797837979379803798137982379833798437985379863798737988379893799037991379923799337994379953799637997379983799938000380013800238003380043800538006380073800838009380103801138012380133801438015380163801738018380193802038021380223802338024380253802638027380283802938030380313803238033380343803538036380373803838039380403804138042380433804438045380463804738048380493805038051380523805338054380553805638057380583805938060380613806238063380643806538066380673806838069380703807138072380733807438075380763807738078380793808038081380823808338084380853808638087380883808938090380913809238093380943809538096380973809838099381003810138102381033810438105381063810738108381093811038111381123811338114381153811638117381183811938120381213812238123381243812538126381273812838129381303813138132381333813438135381363813738138381393814038141381423814338144381453814638147381483814938150381513815238153381543815538156381573815838159381603816138162381633816438165381663816738168381693817038171381723817338174381753817638177381783817938180381813818238183381843818538186381873818838189381903819138192381933819438195381963819738198381993820038201382023820338204382053820638207382083820938210382113821238213382143821538216382173821838219382203822138222382233822438225382263822738228382293823038231382323823338234382353823638237382383823938240382413824238243382443824538246382473824838249382503825138252382533825438255382563825738258382593826038261382623826338264382653826638267382683826938270382713827238273382743827538276382773827838279382803828138282382833828438285382863828738288382893829038291382923829338294382953829638297382983829938300383013830238303383043830538306383073830838309383103831138312383133831438315383163831738318383193832038321383223832338324383253832638327383283832938330383313833238333383343833538336383373833838339383403834138342383433834438345383463834738348383493835038351383523835338354383553835638357383583835938360383613836238363383643836538366383673836838369383703837138372383733837438375383763837738378383793838038381383823838338384383853838638387383883838938390383913839238393383943839538396383973839838399384003840138402384033840438405384063840738408384093841038411384123841338414384153841638417384183841938420384213842238423384243842538426384273842838429384303843138432384333843438435384363843738438384393844038441384423844338444384453844638447384483844938450384513845238453384543845538456384573845838459384603846138462384633846438465384663846738468384693847038471384723847338474384753847638477384783847938480384813848238483384843848538486384873848838489384903849138492384933849438495384963849738498384993850038501385023850338504385053850638507385083850938510385113851238513385143851538516385173851838519385203852138522385233852438525385263852738528385293853038531385323853338534385353853638537385383853938540385413854238543385443854538546385473854838549385503855138552385533855438555385563855738558385593856038561385623856338564385653856638567385683856938570385713857238573385743857538576385773857838579385803858138582385833858438585385863858738588385893859038591385923859338594385953859638597385983859938600386013860238603386043860538606386073860838609386103861138612386133861438615386163861738618386193862038621386223862338624386253862638627386283862938630386313863238633386343863538636386373863838639386403864138642386433864438645386463864738648386493865038651386523865338654386553865638657386583865938660386613866238663386643866538666386673866838669386703867138672386733867438675386763867738678386793868038681386823868338684386853868638687386883868938690386913869238693386943869538696386973869838699387003870138702387033870438705387063870738708387093871038711387123871338714387153871638717387183871938720387213872238723387243872538726387273872838729387303873138732387333873438735387363873738738387393874038741387423874338744387453874638747387483874938750387513875238753387543875538756387573875838759387603876138762387633876438765387663876738768387693877038771387723877338774387753877638777387783877938780387813878238783387843878538786387873878838789387903879138792387933879438795387963879738798387993880038801388023880338804388053880638807388083880938810388113881238813388143881538816388173881838819388203882138822388233882438825388263882738828388293883038831388323883338834388353883638837388383883938840388413884238843388443884538846388473884838849388503885138852388533885438855388563885738858388593886038861388623886338864388653886638867388683886938870388713887238873388743887538876388773887838879388803888138882388833888438885388863888738888388893889038891388923889338894388953889638897388983889938900389013890238903389043890538906389073890838909389103891138912389133891438915389163891738918389193892038921389223892338924389253892638927389283892938930389313893238933389343893538936389373893838939389403894138942389433894438945389463894738948389493895038951389523895338954389553895638957389583895938960389613896238963389643896538966389673896838969389703897138972389733897438975389763897738978389793898038981389823898338984389853898638987389883898938990389913899238993389943899538996389973899838999390003900139002390033900439005390063900739008390093901039011390123901339014390153901639017390183901939020390213902239023390243902539026390273902839029390303903139032390333903439035390363903739038390393904039041390423904339044390453904639047390483904939050390513905239053390543905539056390573905839059390603906139062390633906439065390663906739068390693907039071390723907339074390753907639077390783907939080390813908239083390843908539086390873908839089390903909139092390933909439095390963909739098390993910039101391023910339104391053910639107391083910939110391113911239113391143911539116391173911839119391203912139122391233912439125391263912739128391293913039131391323913339134391353913639137391383913939140391413914239143391443914539146391473914839149391503915139152391533915439155391563915739158391593916039161391623916339164391653916639167391683916939170391713917239173391743917539176391773917839179391803918139182391833918439185391863918739188391893919039191391923919339194391953919639197391983919939200392013920239203392043920539206392073920839209392103921139212392133921439215392163921739218392193922039221392223922339224392253922639227392283922939230392313923239233392343923539236392373923839239392403924139242392433924439245392463924739248392493925039251392523925339254392553925639257392583925939260392613926239263392643926539266392673926839269392703927139272392733927439275392763927739278392793928039281392823928339284392853928639287392883928939290392913929239293392943929539296392973929839299393003930139302393033930439305393063930739308393093931039311393123931339314393153931639317393183931939320393213932239323393243932539326393273932839329393303933139332393333933439335393363933739338393393934039341393423934339344393453934639347393483934939350393513935239353393543935539356393573935839359393603936139362393633936439365393663936739368393693937039371393723937339374393753937639377393783937939380393813938239383393843938539386393873938839389393903939139392393933939439395393963939739398393993940039401394023940339404394053940639407394083940939410394113941239413394143941539416394173941839419394203942139422394233942439425394263942739428394293943039431394323943339434394353943639437394383943939440394413944239443394443944539446394473944839449394503945139452394533945439455394563945739458394593946039461394623946339464394653946639467394683946939470394713947239473394743947539476394773947839479394803948139482394833948439485394863948739488394893949039491394923949339494394953949639497394983949939500395013950239503395043950539506395073950839509395103951139512395133951439515395163951739518395193952039521395223952339524395253952639527395283952939530395313953239533395343953539536395373953839539395403954139542395433954439545395463954739548395493955039551395523955339554395553955639557395583955939560395613956239563395643956539566395673956839569395703957139572395733957439575395763957739578395793958039581395823958339584395853958639587395883958939590395913959239593395943959539596395973959839599396003960139602396033960439605396063960739608396093961039611396123961339614396153961639617396183961939620396213962239623396243962539626396273962839629396303963139632396333963439635396363963739638396393964039641396423964339644396453964639647396483964939650396513965239653396543965539656396573965839659396603966139662396633966439665396663966739668396693967039671396723967339674396753967639677396783967939680396813968239683396843968539686396873968839689396903969139692396933969439695396963969739698396993970039701397023970339704397053970639707397083970939710397113971239713397143971539716397173971839719397203972139722397233972439725397263972739728397293973039731397323973339734397353973639737397383973939740397413974239743397443974539746397473974839749397503975139752397533975439755397563975739758397593976039761397623976339764397653976639767397683976939770397713977239773397743977539776397773977839779397803978139782397833978439785397863978739788397893979039791397923979339794397953979639797397983979939800398013980239803398043980539806398073980839809398103981139812398133981439815398163981739818398193982039821398223982339824398253982639827398283982939830398313983239833398343983539836398373983839839398403984139842398433984439845398463984739848398493985039851398523985339854398553985639857398583985939860398613986239863398643986539866398673986839869398703987139872398733987439875398763987739878398793988039881398823988339884398853988639887398883988939890398913989239893398943989539896398973989839899399003990139902399033990439905399063990739908399093991039911399123991339914399153991639917399183991939920399213992239923399243992539926399273992839929399303993139932399333993439935399363993739938399393994039941399423994339944399453994639947399483994939950399513995239953399543995539956399573995839959399603996139962399633996439965399663996739968399693997039971399723997339974399753997639977399783997939980399813998239983399843998539986399873998839989399903999139992399933999439995399963999739998399994000040001400024000340004400054000640007400084000940010400114001240013400144001540016400174001840019400204002140022400234002440025400264002740028400294003040031400324003340034400354003640037400384003940040400414004240043400444004540046400474004840049400504005140052400534005440055400564005740058400594006040061400624006340064400654006640067400684006940070400714007240073400744007540076400774007840079400804008140082400834008440085400864008740088400894009040091400924009340094400954009640097400984009940100401014010240103401044010540106401074010840109401104011140112401134011440115401164011740118401194012040121401224012340124401254012640127401284012940130401314013240133401344013540136401374013840139401404014140142401434014440145401464014740148401494015040151401524015340154401554015640157401584015940160401614016240163401644016540166401674016840169401704017140172401734017440175401764017740178401794018040181401824018340184401854018640187401884018940190401914019240193401944019540196401974019840199402004020140202402034020440205402064020740208402094021040211402124021340214402154021640217402184021940220402214022240223402244022540226402274022840229402304023140232402334023440235402364023740238402394024040241402424024340244402454024640247402484024940250402514025240253402544025540256402574025840259402604026140262402634026440265402664026740268402694027040271402724027340274402754027640277402784027940280402814028240283402844028540286402874028840289402904029140292402934029440295402964029740298402994030040301403024030340304403054030640307403084030940310403114031240313403144031540316403174031840319403204032140322403234032440325403264032740328403294033040331403324033340334403354033640337403384033940340403414034240343403444034540346403474034840349403504035140352403534035440355403564035740358403594036040361403624036340364403654036640367403684036940370403714037240373403744037540376403774037840379403804038140382403834038440385403864038740388403894039040391403924039340394403954039640397403984039940400404014040240403404044040540406404074040840409404104041140412404134041440415404164041740418404194042040421404224042340424404254042640427404284042940430404314043240433404344043540436404374043840439404404044140442404434044440445404464044740448404494045040451404524045340454404554045640457404584045940460404614046240463404644046540466404674046840469404704047140472404734047440475404764047740478404794048040481404824048340484404854048640487404884048940490404914049240493404944049540496404974049840499405004050140502405034050440505405064050740508405094051040511405124051340514405154051640517405184051940520405214052240523405244052540526405274052840529405304053140532405334053440535405364053740538405394054040541405424054340544405454054640547405484054940550405514055240553405544055540556405574055840559405604056140562405634056440565405664056740568405694057040571405724057340574405754057640577405784057940580405814058240583405844058540586405874058840589405904059140592405934059440595405964059740598405994060040601406024060340604406054060640607406084060940610406114061240613406144061540616406174061840619406204062140622406234062440625406264062740628406294063040631406324063340634406354063640637406384063940640406414064240643406444064540646406474064840649406504065140652406534065440655406564065740658406594066040661406624066340664406654066640667406684066940670406714067240673406744067540676406774067840679406804068140682406834068440685406864068740688406894069040691406924069340694406954069640697406984069940700407014070240703407044070540706407074070840709407104071140712407134071440715407164071740718407194072040721407224072340724407254072640727407284072940730407314073240733407344073540736407374073840739407404074140742407434074440745407464074740748407494075040751407524075340754407554075640757407584075940760407614076240763407644076540766407674076840769407704077140772407734077440775407764077740778407794078040781407824078340784407854078640787407884078940790407914079240793407944079540796407974079840799408004080140802408034080440805408064080740808408094081040811408124081340814408154081640817408184081940820408214082240823408244082540826408274082840829408304083140832408334083440835408364083740838408394084040841408424084340844408454084640847408484084940850408514085240853408544085540856408574085840859408604086140862408634086440865408664086740868408694087040871408724087340874408754087640877408784087940880408814088240883408844088540886408874088840889408904089140892408934089440895408964089740898408994090040901409024090340904409054090640907409084090940910409114091240913409144091540916409174091840919409204092140922409234092440925409264092740928409294093040931409324093340934409354093640937409384093940940409414094240943409444094540946409474094840949409504095140952409534095440955409564095740958409594096040961409624096340964409654096640967409684096940970409714097240973409744097540976409774097840979409804098140982409834098440985409864098740988409894099040991409924099340994409954099640997409984099941000410014100241003410044100541006410074100841009410104101141012410134101441015410164101741018410194102041021410224102341024410254102641027410284102941030410314103241033410344103541036410374103841039410404104141042410434104441045410464104741048410494105041051410524105341054410554105641057410584105941060410614106241063410644106541066410674106841069410704107141072410734107441075410764107741078410794108041081410824108341084410854108641087410884108941090410914109241093410944109541096410974109841099411004110141102411034110441105411064110741108411094111041111411124111341114411154111641117411184111941120411214112241123411244112541126411274112841129411304113141132411334113441135411364113741138411394114041141411424114341144411454114641147411484114941150411514115241153411544115541156411574115841159411604116141162411634116441165411664116741168411694117041171411724117341174411754117641177411784117941180411814118241183411844118541186411874118841189411904119141192411934119441195411964119741198411994120041201412024120341204412054120641207412084120941210412114121241213412144121541216412174121841219412204122141222412234122441225412264122741228412294123041231412324123341234412354123641237412384123941240412414124241243412444124541246412474124841249412504125141252412534125441255412564125741258412594126041261412624126341264412654126641267412684126941270412714127241273412744127541276412774127841279412804128141282412834128441285412864128741288412894129041291412924129341294412954129641297412984129941300413014130241303413044130541306413074130841309413104131141312413134131441315413164131741318413194132041321413224132341324413254132641327413284132941330413314133241333413344133541336413374133841339413404134141342413434134441345413464134741348413494135041351413524135341354413554135641357413584135941360413614136241363413644136541366413674136841369413704137141372413734137441375413764137741378413794138041381413824138341384413854138641387413884138941390413914139241393413944139541396413974139841399414004140141402414034140441405414064140741408414094141041411414124141341414414154141641417414184141941420414214142241423414244142541426414274142841429414304143141432414334143441435414364143741438414394144041441414424144341444414454144641447414484144941450414514145241453414544145541456414574145841459414604146141462414634146441465414664146741468414694147041471414724147341474414754147641477414784147941480414814148241483414844148541486414874148841489414904149141492414934149441495414964149741498414994150041501415024150341504415054150641507415084150941510415114151241513415144151541516415174151841519415204152141522415234152441525415264152741528415294153041531415324153341534415354153641537415384153941540415414154241543415444154541546415474154841549415504155141552415534155441555415564155741558415594156041561415624156341564415654156641567415684156941570415714157241573415744157541576415774157841579415804158141582415834158441585415864158741588415894159041591415924159341594415954159641597415984159941600416014160241603416044160541606416074160841609416104161141612416134161441615416164161741618416194162041621416224162341624416254162641627416284162941630416314163241633416344163541636416374163841639416404164141642416434164441645416464164741648416494165041651416524165341654416554165641657416584165941660416614166241663416644166541666416674166841669416704167141672416734167441675416764167741678416794168041681416824168341684416854168641687416884168941690416914169241693416944169541696416974169841699417004170141702417034170441705417064170741708417094171041711417124171341714417154171641717417184171941720417214172241723417244172541726417274172841729417304173141732417334173441735417364173741738417394174041741417424174341744417454174641747417484174941750417514175241753417544175541756417574175841759417604176141762417634176441765417664176741768417694177041771417724177341774417754177641777417784177941780417814178241783417844178541786417874178841789417904179141792417934179441795417964179741798417994180041801418024180341804418054180641807418084180941810418114181241813418144181541816418174181841819418204182141822418234182441825418264182741828418294183041831418324183341834418354183641837418384183941840418414184241843418444184541846418474184841849418504185141852418534185441855418564185741858418594186041861418624186341864418654186641867418684186941870418714187241873418744187541876418774187841879418804188141882418834188441885418864188741888418894189041891418924189341894418954189641897418984189941900419014190241903419044190541906419074190841909419104191141912419134191441915419164191741918419194192041921419224192341924419254192641927419284192941930419314193241933419344193541936419374193841939419404194141942419434194441945419464194741948419494195041951419524195341954419554195641957419584195941960419614196241963419644196541966419674196841969419704197141972419734197441975419764197741978419794198041981419824198341984419854198641987419884198941990419914199241993419944199541996419974199841999420004200142002420034200442005420064200742008420094201042011420124201342014420154201642017420184201942020420214202242023420244202542026420274202842029420304203142032420334203442035420364203742038420394204042041420424204342044420454204642047420484204942050420514205242053420544205542056420574205842059420604206142062420634206442065420664206742068420694207042071420724207342074420754207642077420784207942080420814208242083420844208542086420874208842089420904209142092420934209442095420964209742098420994210042101421024210342104421054210642107421084210942110421114211242113421144211542116421174211842119421204212142122421234212442125421264212742128421294213042131421324213342134421354213642137421384213942140421414214242143421444214542146421474214842149421504215142152421534215442155421564215742158421594216042161421624216342164421654216642167421684216942170421714217242173421744217542176421774217842179421804218142182421834218442185421864218742188421894219042191421924219342194421954219642197421984219942200422014220242203422044220542206422074220842209422104221142212422134221442215422164221742218422194222042221422224222342224422254222642227422284222942230422314223242233422344223542236422374223842239422404224142242422434224442245422464224742248422494225042251422524225342254422554225642257422584225942260422614226242263422644226542266422674226842269422704227142272422734227442275422764227742278422794228042281422824228342284422854228642287422884228942290422914229242293422944229542296422974229842299423004230142302423034230442305423064230742308423094231042311423124231342314423154231642317423184231942320423214232242323423244232542326423274232842329423304233142332423334233442335423364233742338423394234042341423424234342344423454234642347423484234942350423514235242353423544235542356423574235842359423604236142362423634236442365423664236742368423694237042371423724237342374423754237642377423784237942380423814238242383423844238542386423874238842389423904239142392423934239442395423964239742398423994240042401424024240342404424054240642407424084240942410424114241242413424144241542416424174241842419424204242142422424234242442425424264242742428424294243042431424324243342434424354243642437424384243942440424414244242443424444244542446424474244842449424504245142452424534245442455424564245742458424594246042461424624246342464424654246642467424684246942470424714247242473424744247542476424774247842479424804248142482424834248442485424864248742488424894249042491424924249342494424954249642497424984249942500425014250242503425044250542506425074250842509425104251142512425134251442515425164251742518425194252042521425224252342524425254252642527425284252942530425314253242533425344253542536425374253842539425404254142542425434254442545425464254742548425494255042551425524255342554425554255642557425584255942560425614256242563425644256542566425674256842569425704257142572425734257442575425764257742578425794258042581425824258342584425854258642587425884258942590425914259242593425944259542596425974259842599426004260142602426034260442605426064260742608426094261042611426124261342614426154261642617426184261942620426214262242623426244262542626426274262842629426304263142632426334263442635426364263742638426394264042641426424264342644426454264642647426484264942650426514265242653426544265542656426574265842659426604266142662426634266442665426664266742668426694267042671426724267342674426754267642677426784267942680426814268242683426844268542686426874268842689426904269142692426934269442695426964269742698426994270042701427024270342704427054270642707427084270942710427114271242713427144271542716427174271842719427204272142722427234272442725427264272742728427294273042731427324273342734427354273642737427384273942740427414274242743427444274542746427474274842749427504275142752427534275442755427564275742758427594276042761427624276342764427654276642767427684276942770427714277242773427744277542776427774277842779427804278142782427834278442785427864278742788427894279042791427924279342794427954279642797427984279942800428014280242803428044280542806428074280842809428104281142812428134281442815428164281742818428194282042821428224282342824428254282642827428284282942830428314283242833428344283542836428374283842839428404284142842428434284442845428464284742848428494285042851428524285342854428554285642857428584285942860428614286242863428644286542866428674286842869428704287142872428734287442875428764287742878428794288042881428824288342884428854288642887428884288942890428914289242893428944289542896428974289842899429004290142902429034290442905429064290742908429094291042911429124291342914429154291642917429184291942920429214292242923429244292542926429274292842929429304293142932429334293442935429364293742938429394294042941429424294342944429454294642947429484294942950429514295242953429544295542956429574295842959429604296142962429634296442965429664296742968429694297042971429724297342974429754297642977429784297942980429814298242983429844298542986429874298842989429904299142992429934299442995429964299742998429994300043001430024300343004430054300643007430084300943010430114301243013430144301543016430174301843019430204302143022430234302443025430264302743028430294303043031430324303343034430354303643037430384303943040430414304243043430444304543046430474304843049430504305143052430534305443055430564305743058430594306043061430624306343064430654306643067430684306943070430714307243073430744307543076430774307843079430804308143082430834308443085430864308743088430894309043091430924309343094430954309643097430984309943100431014310243103431044310543106431074310843109431104311143112431134311443115431164311743118431194312043121431224312343124431254312643127431284312943130431314313243133431344313543136431374313843139431404314143142431434314443145431464314743148431494315043151431524315343154431554315643157431584315943160431614316243163431644316543166431674316843169431704317143172431734317443175431764317743178431794318043181431824318343184431854318643187431884318943190431914319243193431944319543196431974319843199432004320143202432034320443205432064320743208432094321043211432124321343214432154321643217432184321943220432214322243223432244322543226432274322843229432304323143232432334323443235432364323743238432394324043241432424324343244432454324643247432484324943250432514325243253432544325543256432574325843259432604326143262432634326443265432664326743268432694327043271432724327343274432754327643277432784327943280432814328243283432844328543286432874328843289432904329143292432934329443295432964329743298432994330043301433024330343304433054330643307433084330943310433114331243313433144331543316433174331843319433204332143322433234332443325433264332743328433294333043331433324333343334433354333643337433384333943340433414334243343433444334543346433474334843349433504335143352433534335443355433564335743358433594336043361433624336343364433654336643367433684336943370433714337243373433744337543376433774337843379433804338143382433834338443385433864338743388433894339043391433924339343394433954339643397433984339943400434014340243403434044340543406434074340843409434104341143412434134341443415434164341743418434194342043421434224342343424434254342643427434284342943430434314343243433434344343543436434374343843439434404344143442434434344443445434464344743448434494345043451434524345343454434554345643457434584345943460434614346243463434644346543466434674346843469434704347143472434734347443475434764347743478434794348043481434824348343484434854348643487434884348943490434914349243493434944349543496434974349843499435004350143502435034350443505435064350743508435094351043511435124351343514435154351643517435184351943520435214352243523435244352543526435274352843529435304353143532435334353443535435364353743538435394354043541435424354343544435454354643547435484354943550435514355243553435544355543556435574355843559435604356143562435634356443565435664356743568435694357043571435724357343574435754357643577435784357943580435814358243583435844358543586435874358843589435904359143592435934359443595435964359743598435994360043601436024360343604436054360643607436084360943610436114361243613436144361543616436174361843619436204362143622436234362443625436264362743628436294363043631436324363343634436354363643637436384363943640436414364243643436444364543646436474364843649436504365143652436534365443655436564365743658436594366043661436624366343664436654366643667436684366943670436714367243673436744367543676436774367843679436804368143682436834368443685436864368743688436894369043691436924369343694436954369643697436984369943700437014370243703437044370543706437074370843709437104371143712437134371443715437164371743718437194372043721437224372343724437254372643727437284372943730437314373243733437344373543736437374373843739437404374143742437434374443745437464374743748437494375043751437524375343754437554375643757437584375943760437614376243763437644376543766437674376843769437704377143772437734377443775437764377743778437794378043781437824378343784437854378643787437884378943790437914379243793437944379543796437974379843799438004380143802438034380443805438064380743808438094381043811438124381343814438154381643817438184381943820438214382243823438244382543826438274382843829438304383143832438334383443835438364383743838438394384043841438424384343844438454384643847438484384943850438514385243853438544385543856438574385843859438604386143862438634386443865438664386743868438694387043871438724387343874438754387643877438784387943880438814388243883438844388543886438874388843889438904389143892438934389443895438964389743898438994390043901439024390343904439054390643907439084390943910439114391243913439144391543916439174391843919439204392143922439234392443925439264392743928439294393043931439324393343934439354393643937439384393943940439414394243943439444394543946439474394843949439504395143952439534395443955439564395743958439594396043961439624396343964439654396643967439684396943970439714397243973439744397543976439774397843979439804398143982439834398443985439864398743988439894399043991439924399343994439954399643997439984399944000440014400244003440044400544006440074400844009440104401144012440134401444015440164401744018440194402044021440224402344024440254402644027440284402944030440314403244033440344403544036440374403844039440404404144042440434404444045440464404744048440494405044051440524405344054440554405644057440584405944060440614406244063440644406544066440674406844069440704407144072440734407444075440764407744078440794408044081440824408344084440854408644087440884408944090440914409244093440944409544096440974409844099441004410144102441034410444105441064410744108441094411044111441124411344114441154411644117441184411944120441214412244123441244412544126441274412844129441304413144132441334413444135441364413744138441394414044141441424414344144441454414644147441484414944150441514415244153441544415544156441574415844159441604416144162441634416444165441664416744168441694417044171441724417344174441754417644177441784417944180441814418244183441844418544186441874418844189441904419144192441934419444195441964419744198441994420044201442024420344204442054420644207442084420944210442114421244213442144421544216442174421844219442204422144222442234422444225442264422744228442294423044231442324423344234442354423644237442384423944240442414424244243442444424544246442474424844249442504425144252442534425444255442564425744258442594426044261442624426344264442654426644267442684426944270442714427244273442744427544276442774427844279442804428144282442834428444285442864428744288442894429044291442924429344294442954429644297442984429944300443014430244303443044430544306443074430844309443104431144312443134431444315443164431744318443194432044321443224432344324443254432644327443284432944330443314433244333443344433544336443374433844339443404434144342443434434444345443464434744348443494435044351443524435344354443554435644357443584435944360443614436244363443644436544366443674436844369443704437144372443734437444375443764437744378443794438044381443824438344384443854438644387443884438944390443914439244393443944439544396443974439844399444004440144402444034440444405444064440744408444094441044411444124441344414444154441644417444184441944420444214442244423444244442544426444274442844429444304443144432444334443444435444364443744438444394444044441444424444344444444454444644447444484444944450444514445244453444544445544456444574445844459444604446144462444634446444465444664446744468444694447044471444724447344474444754447644477444784447944480444814448244483444844448544486444874448844489444904449144492444934449444495444964449744498444994450044501445024450344504445054450644507445084450944510445114451244513445144451544516445174451844519445204452144522445234452444525445264452744528445294453044531445324453344534445354453644537445384453944540445414454244543445444454544546445474454844549445504455144552445534455444555445564455744558445594456044561445624456344564445654456644567445684456944570445714457244573445744457544576445774457844579445804458144582445834458444585445864458744588445894459044591445924459344594445954459644597445984459944600446014460244603446044460544606446074460844609446104461144612446134461444615446164461744618446194462044621446224462344624446254462644627446284462944630446314463244633446344463544636446374463844639446404464144642446434464444645446464464744648446494465044651446524465344654446554465644657446584465944660446614466244663446644466544666446674466844669446704467144672446734467444675446764467744678446794468044681446824468344684446854468644687446884468944690446914469244693446944469544696446974469844699447004470144702447034470444705447064470744708447094471044711447124471344714447154471644717447184471944720447214472244723447244472544726447274472844729447304473144732447334473444735447364473744738447394474044741447424474344744447454474644747447484474944750447514475244753447544475544756447574475844759447604476144762447634476444765447664476744768447694477044771447724477344774447754477644777447784477944780447814478244783447844478544786447874478844789447904479144792447934479444795447964479744798447994480044801448024480344804448054480644807448084480944810448114481244813448144481544816448174481844819448204482144822448234482444825448264482744828448294483044831448324483344834448354483644837448384483944840448414484244843448444484544846448474484844849448504485144852448534485444855448564485744858448594486044861448624486344864448654486644867448684486944870448714487244873448744487544876448774487844879448804488144882448834488444885448864488744888448894489044891448924489344894448954489644897448984489944900449014490244903449044490544906449074490844909449104491144912449134491444915449164491744918449194492044921449224492344924449254492644927449284492944930449314493244933449344493544936449374493844939449404494144942449434494444945449464494744948449494495044951449524495344954449554495644957449584495944960449614496244963449644496544966449674496844969449704497144972449734497444975449764497744978449794498044981449824498344984449854498644987449884498944990449914499244993449944499544996449974499844999450004500145002450034500445005450064500745008450094501045011450124501345014450154501645017450184501945020450214502245023450244502545026450274502845029450304503145032450334503445035450364503745038450394504045041450424504345044450454504645047450484504945050450514505245053450544505545056450574505845059450604506145062450634506445065450664506745068450694507045071450724507345074450754507645077450784507945080450814508245083450844508545086450874508845089450904509145092450934509445095450964509745098450994510045101451024510345104451054510645107451084510945110451114511245113451144511545116451174511845119451204512145122451234512445125451264512745128451294513045131451324513345134451354513645137451384513945140451414514245143451444514545146451474514845149451504515145152451534515445155451564515745158451594516045161451624516345164451654516645167451684516945170451714517245173451744517545176451774517845179451804518145182451834518445185451864518745188451894519045191451924519345194451954519645197451984519945200452014520245203452044520545206452074520845209452104521145212452134521445215452164521745218452194522045221452224522345224452254522645227452284522945230452314523245233452344523545236452374523845239452404524145242452434524445245452464524745248452494525045251452524525345254452554525645257452584525945260452614526245263452644526545266452674526845269452704527145272452734527445275452764527745278452794528045281452824528345284452854528645287452884528945290452914529245293452944529545296452974529845299453004530145302453034530445305453064530745308453094531045311453124531345314453154531645317453184531945320453214532245323453244532545326453274532845329453304533145332453334533445335453364533745338453394534045341453424534345344453454534645347453484534945350453514535245353453544535545356453574535845359453604536145362453634536445365453664536745368453694537045371453724537345374453754537645377453784537945380453814538245383453844538545386453874538845389453904539145392453934539445395453964539745398453994540045401454024540345404454054540645407454084540945410454114541245413454144541545416454174541845419454204542145422454234542445425454264542745428454294543045431454324543345434454354543645437454384543945440454414544245443454444544545446454474544845449454504545145452454534545445455454564545745458454594546045461454624546345464454654546645467454684546945470454714547245473454744547545476454774547845479454804548145482454834548445485454864548745488454894549045491454924549345494454954549645497454984549945500455014550245503455044550545506455074550845509455104551145512455134551445515455164551745518455194552045521455224552345524455254552645527455284552945530455314553245533455344553545536455374553845539455404554145542455434554445545455464554745548455494555045551455524555345554455554555645557455584555945560455614556245563455644556545566455674556845569455704557145572455734557445575455764557745578455794558045581455824558345584455854558645587455884558945590455914559245593455944559545596455974559845599456004560145602456034560445605456064560745608456094561045611456124561345614456154561645617456184561945620456214562245623456244562545626456274562845629456304563145632456334563445635456364563745638456394564045641456424564345644456454564645647456484564945650456514565245653456544565545656456574565845659456604566145662456634566445665456664566745668456694567045671456724567345674456754567645677456784567945680456814568245683456844568545686456874568845689456904569145692456934569445695456964569745698456994570045701457024570345704457054570645707457084570945710457114571245713457144571545716457174571845719457204572145722457234572445725457264572745728457294573045731457324573345734457354573645737457384573945740457414574245743457444574545746457474574845749457504575145752457534575445755457564575745758457594576045761457624576345764457654576645767457684576945770457714577245773457744577545776457774577845779457804578145782457834578445785457864578745788457894579045791457924579345794457954579645797457984579945800458014580245803458044580545806458074580845809458104581145812458134581445815458164581745818458194582045821458224582345824458254582645827458284582945830458314583245833458344583545836458374583845839458404584145842458434584445845458464584745848458494585045851458524585345854458554585645857458584585945860458614586245863458644586545866458674586845869458704587145872458734587445875458764587745878458794588045881458824588345884458854588645887458884588945890458914589245893458944589545896458974589845899459004590145902459034590445905459064590745908459094591045911459124591345914459154591645917459184591945920459214592245923459244592545926459274592845929459304593145932459334593445935459364593745938459394594045941459424594345944459454594645947459484594945950459514595245953459544595545956459574595845959459604596145962459634596445965459664596745968459694597045971459724597345974459754597645977459784597945980459814598245983459844598545986459874598845989459904599145992459934599445995459964599745998459994600046001460024600346004460054600646007460084600946010460114601246013460144601546016460174601846019460204602146022460234602446025460264602746028460294603046031460324603346034460354603646037460384603946040460414604246043460444604546046460474604846049460504605146052460534605446055460564605746058460594606046061460624606346064460654606646067460684606946070460714607246073460744607546076460774607846079460804608146082460834608446085460864608746088460894609046091460924609346094460954609646097460984609946100461014610246103461044610546106461074610846109461104611146112461134611446115461164611746118461194612046121461224612346124461254612646127461284612946130461314613246133461344613546136461374613846139461404614146142461434614446145461464614746148461494615046151461524615346154461554615646157461584615946160461614616246163461644616546166461674616846169461704617146172461734617446175461764617746178461794618046181461824618346184461854618646187461884618946190461914619246193461944619546196461974619846199462004620146202462034620446205462064620746208462094621046211462124621346214462154621646217462184621946220462214622246223462244622546226462274622846229462304623146232462334623446235462364623746238462394624046241462424624346244462454624646247462484624946250462514625246253462544625546256462574625846259462604626146262462634626446265462664626746268462694627046271462724627346274462754627646277462784627946280462814628246283462844628546286462874628846289462904629146292462934629446295462964629746298462994630046301463024630346304463054630646307463084630946310463114631246313463144631546316463174631846319463204632146322463234632446325463264632746328463294633046331463324633346334463354633646337463384633946340463414634246343463444634546346463474634846349463504635146352463534635446355463564635746358463594636046361463624636346364463654636646367463684636946370463714637246373463744637546376463774637846379463804638146382463834638446385463864638746388463894639046391463924639346394463954639646397463984639946400464014640246403464044640546406464074640846409464104641146412464134641446415464164641746418464194642046421464224642346424464254642646427464284642946430464314643246433464344643546436464374643846439464404644146442464434644446445464464644746448464494645046451464524645346454464554645646457464584645946460464614646246463464644646546466464674646846469464704647146472464734647446475464764647746478464794648046481464824648346484464854648646487464884648946490464914649246493464944649546496464974649846499465004650146502465034650446505465064650746508465094651046511465124651346514465154651646517465184651946520465214652246523465244652546526465274652846529465304653146532465334653446535465364653746538465394654046541465424654346544465454654646547465484654946550465514655246553465544655546556465574655846559465604656146562465634656446565465664656746568465694657046571465724657346574465754657646577465784657946580465814658246583465844658546586465874658846589465904659146592465934659446595465964659746598465994660046601466024660346604466054660646607466084660946610466114661246613466144661546616466174661846619466204662146622466234662446625466264662746628466294663046631466324663346634466354663646637466384663946640466414664246643466444664546646466474664846649466504665146652466534665446655466564665746658466594666046661466624666346664466654666646667466684666946670466714667246673466744667546676466774667846679466804668146682466834668446685466864668746688466894669046691466924669346694466954669646697466984669946700467014670246703467044670546706467074670846709467104671146712467134671446715467164671746718467194672046721467224672346724467254672646727467284672946730467314673246733467344673546736467374673846739467404674146742467434674446745467464674746748467494675046751467524675346754467554675646757467584675946760467614676246763467644676546766467674676846769467704677146772467734677446775467764677746778467794678046781467824678346784467854678646787467884678946790467914679246793467944679546796467974679846799468004680146802468034680446805468064680746808468094681046811468124681346814468154681646817468184681946820468214682246823468244682546826468274682846829468304683146832468334683446835468364683746838468394684046841468424684346844468454684646847468484684946850468514685246853468544685546856468574685846859468604686146862468634686446865468664686746868468694687046871468724687346874468754687646877468784687946880468814688246883468844688546886468874688846889468904689146892468934689446895468964689746898468994690046901469024690346904469054690646907469084690946910469114691246913469144691546916469174691846919469204692146922469234692446925469264692746928469294693046931469324693346934469354693646937469384693946940469414694246943469444694546946469474694846949469504695146952469534695446955469564695746958469594696046961469624696346964469654696646967469684696946970469714697246973469744697546976469774697846979469804698146982469834698446985469864698746988469894699046991469924699346994469954699646997469984699947000470014700247003470044700547006470074700847009470104701147012470134701447015470164701747018470194702047021470224702347024470254702647027470284702947030470314703247033470344703547036470374703847039470404704147042470434704447045470464704747048470494705047051470524705347054470554705647057470584705947060470614706247063470644706547066470674706847069470704707147072470734707447075470764707747078470794708047081470824708347084470854708647087470884708947090470914709247093470944709547096470974709847099471004710147102471034710447105471064710747108471094711047111471124711347114471154711647117471184711947120471214712247123471244712547126471274712847129471304713147132471334713447135471364713747138471394714047141471424714347144471454714647147471484714947150471514715247153471544715547156471574715847159471604716147162471634716447165471664716747168471694717047171471724717347174471754717647177471784717947180471814718247183471844718547186471874718847189471904719147192471934719447195471964719747198471994720047201472024720347204472054720647207472084720947210472114721247213472144721547216472174721847219472204722147222472234722447225472264722747228472294723047231472324723347234472354723647237472384723947240472414724247243472444724547246472474724847249472504725147252472534725447255472564725747258472594726047261472624726347264472654726647267472684726947270472714727247273472744727547276472774727847279472804728147282472834728447285472864728747288472894729047291472924729347294472954729647297472984729947300473014730247303473044730547306473074730847309473104731147312473134731447315473164731747318473194732047321473224732347324473254732647327473284732947330473314733247333473344733547336473374733847339473404734147342473434734447345473464734747348473494735047351473524735347354473554735647357473584735947360473614736247363473644736547366473674736847369473704737147372473734737447375473764737747378473794738047381473824738347384473854738647387473884738947390473914739247393473944739547396473974739847399474004740147402474034740447405474064740747408474094741047411474124741347414474154741647417474184741947420474214742247423474244742547426474274742847429474304743147432474334743447435474364743747438474394744047441474424744347444474454744647447474484744947450474514745247453474544745547456474574745847459474604746147462474634746447465474664746747468474694747047471474724747347474474754747647477474784747947480474814748247483474844748547486474874748847489474904749147492474934749447495474964749747498474994750047501475024750347504475054750647507475084750947510475114751247513475144751547516475174751847519475204752147522475234752447525475264752747528475294753047531475324753347534475354753647537475384753947540475414754247543475444754547546475474754847549475504755147552475534755447555475564755747558475594756047561475624756347564475654756647567475684756947570475714757247573475744757547576475774757847579475804758147582475834758447585475864758747588475894759047591475924759347594475954759647597475984759947600476014760247603476044760547606476074760847609476104761147612476134761447615476164761747618476194762047621476224762347624476254762647627476284762947630476314763247633476344763547636476374763847639476404764147642476434764447645476464764747648476494765047651476524765347654476554765647657476584765947660476614766247663476644766547666476674766847669476704767147672476734767447675476764767747678476794768047681476824768347684476854768647687476884768947690476914769247693476944769547696476974769847699477004770147702477034770447705477064770747708477094771047711477124771347714477154771647717477184771947720477214772247723477244772547726477274772847729477304773147732477334773447735477364773747738477394774047741477424774347744477454774647747477484774947750477514775247753477544775547756477574775847759477604776147762477634776447765477664776747768477694777047771477724777347774477754777647777477784777947780477814778247783477844778547786477874778847789477904779147792477934779447795477964779747798477994780047801478024780347804478054780647807478084780947810478114781247813478144781547816478174781847819478204782147822478234782447825478264782747828478294783047831478324783347834478354783647837478384783947840478414784247843478444784547846478474784847849478504785147852478534785447855478564785747858478594786047861478624786347864478654786647867478684786947870478714787247873478744787547876478774787847879478804788147882478834788447885478864788747888478894789047891478924789347894478954789647897478984789947900479014790247903479044790547906479074790847909479104791147912479134791447915479164791747918479194792047921479224792347924479254792647927479284792947930479314793247933479344793547936479374793847939479404794147942479434794447945479464794747948479494795047951479524795347954479554795647957479584795947960479614796247963479644796547966479674796847969479704797147972479734797447975479764797747978479794798047981479824798347984479854798647987479884798947990479914799247993479944799547996479974799847999480004800148002480034800448005480064800748008480094801048011480124801348014480154801648017480184801948020480214802248023480244802548026480274802848029480304803148032480334803448035480364803748038480394804048041480424804348044480454804648047480484804948050480514805248053480544805548056480574805848059480604806148062480634806448065480664806748068480694807048071480724807348074480754807648077480784807948080480814808248083480844808548086480874808848089480904809148092480934809448095480964809748098480994810048101481024810348104481054810648107481084810948110481114811248113481144811548116481174811848119481204812148122481234812448125481264812748128481294813048131481324813348134481354813648137481384813948140481414814248143481444814548146481474814848149481504815148152481534815448155481564815748158481594816048161481624816348164481654816648167481684816948170481714817248173481744817548176481774817848179481804818148182481834818448185481864818748188481894819048191481924819348194481954819648197481984819948200482014820248203482044820548206482074820848209482104821148212482134821448215482164821748218482194822048221482224822348224482254822648227482284822948230482314823248233482344823548236482374823848239482404824148242482434824448245482464824748248482494825048251482524825348254482554825648257482584825948260482614826248263482644826548266482674826848269482704827148272482734827448275482764827748278482794828048281482824828348284482854828648287482884828948290482914829248293482944829548296482974829848299483004830148302483034830448305483064830748308483094831048311483124831348314483154831648317483184831948320483214832248323483244832548326483274832848329483304833148332483334833448335483364833748338483394834048341483424834348344483454834648347483484834948350483514835248353483544835548356483574835848359483604836148362483634836448365483664836748368483694837048371483724837348374483754837648377483784837948380483814838248383483844838548386483874838848389483904839148392483934839448395483964839748398483994840048401484024840348404484054840648407484084840948410484114841248413484144841548416484174841848419484204842148422484234842448425484264842748428484294843048431484324843348434484354843648437484384843948440484414844248443484444844548446484474844848449484504845148452484534845448455484564845748458484594846048461484624846348464484654846648467484684846948470484714847248473484744847548476484774847848479484804848148482484834848448485484864848748488484894849048491484924849348494484954849648497484984849948500485014850248503485044850548506485074850848509485104851148512485134851448515485164851748518485194852048521485224852348524485254852648527485284852948530485314853248533485344853548536485374853848539485404854148542485434854448545485464854748548485494855048551485524855348554485554855648557485584855948560485614856248563485644856548566485674856848569485704857148572485734857448575485764857748578485794858048581485824858348584485854858648587485884858948590485914859248593485944859548596485974859848599486004860148602486034860448605486064860748608486094861048611486124861348614486154861648617486184861948620486214862248623486244862548626486274862848629486304863148632486334863448635486364863748638486394864048641486424864348644486454864648647486484864948650486514865248653486544865548656486574865848659486604866148662486634866448665486664866748668486694867048671486724867348674486754867648677486784867948680486814868248683486844868548686486874868848689486904869148692486934869448695486964869748698486994870048701487024870348704487054870648707487084870948710487114871248713487144871548716487174871848719487204872148722487234872448725487264872748728487294873048731487324873348734487354873648737487384873948740487414874248743487444874548746487474874848749487504875148752487534875448755487564875748758487594876048761487624876348764487654876648767487684876948770487714877248773487744877548776487774877848779487804878148782487834878448785487864878748788487894879048791487924879348794487954879648797487984879948800488014880248803488044880548806488074880848809488104881148812488134881448815488164881748818488194882048821488224882348824488254882648827488284882948830488314883248833488344883548836488374883848839488404884148842488434884448845488464884748848488494885048851488524885348854488554885648857488584885948860488614886248863488644886548866488674886848869488704887148872488734887448875488764887748878488794888048881488824888348884488854888648887488884888948890488914889248893488944889548896488974889848899489004890148902489034890448905489064890748908489094891048911489124891348914489154891648917489184891948920489214892248923489244892548926489274892848929489304893148932489334893448935489364893748938489394894048941489424894348944489454894648947489484894948950489514895248953489544895548956489574895848959489604896148962489634896448965489664896748968489694897048971489724897348974489754897648977489784897948980489814898248983489844898548986489874898848989489904899148992489934899448995489964899748998489994900049001490024900349004490054900649007490084900949010490114901249013490144901549016490174901849019490204902149022490234902449025490264902749028490294903049031490324903349034490354903649037490384903949040490414904249043490444904549046490474904849049490504905149052490534905449055490564905749058490594906049061490624906349064490654906649067490684906949070490714907249073490744907549076490774907849079490804908149082490834908449085490864908749088490894909049091490924909349094490954909649097490984909949100491014910249103491044910549106491074910849109491104911149112491134911449115491164911749118491194912049121491224912349124491254912649127491284912949130491314913249133491344913549136491374913849139491404914149142491434914449145491464914749148491494915049151491524915349154491554915649157491584915949160491614916249163491644916549166491674916849169491704917149172491734917449175491764917749178491794918049181491824918349184491854918649187491884918949190491914919249193491944919549196491974919849199492004920149202492034920449205492064920749208492094921049211492124921349214492154921649217492184921949220492214922249223492244922549226492274922849229492304923149232492334923449235492364923749238492394924049241492424924349244492454924649247492484924949250492514925249253492544925549256492574925849259492604926149262492634926449265492664926749268492694927049271492724927349274492754927649277492784927949280492814928249283492844928549286492874928849289492904929149292492934929449295492964929749298492994930049301493024930349304493054930649307493084930949310493114931249313493144931549316493174931849319493204932149322493234932449325493264932749328493294933049331493324933349334493354933649337493384933949340493414934249343493444934549346493474934849349493504935149352493534935449355493564935749358493594936049361493624936349364493654936649367493684936949370493714937249373493744937549376493774937849379493804938149382493834938449385493864938749388493894939049391493924939349394493954939649397493984939949400494014940249403494044940549406494074940849409494104941149412494134941449415494164941749418494194942049421494224942349424494254942649427494284942949430494314943249433494344943549436494374943849439494404944149442494434944449445494464944749448494494945049451494524945349454494554945649457494584945949460494614946249463494644946549466494674946849469494704947149472494734947449475494764947749478494794948049481494824948349484494854948649487494884948949490494914949249493494944949549496494974949849499495004950149502495034950449505495064950749508495094951049511495124951349514495154951649517495184951949520495214952249523495244952549526495274952849529495304953149532495334953449535495364953749538495394954049541495424954349544495454954649547495484954949550495514955249553495544955549556495574955849559495604956149562495634956449565495664956749568495694957049571495724957349574495754957649577495784957949580495814958249583495844958549586495874958849589495904959149592495934959449595495964959749598495994960049601496024960349604496054960649607496084960949610496114961249613496144961549616496174961849619496204962149622496234962449625496264962749628496294963049631496324963349634496354963649637496384963949640496414964249643496444964549646496474964849649496504965149652496534965449655496564965749658496594966049661496624966349664496654966649667496684966949670496714967249673496744967549676496774967849679496804968149682496834968449685496864968749688496894969049691496924969349694496954969649697496984969949700497014970249703497044970549706497074970849709497104971149712497134971449715497164971749718497194972049721497224972349724497254972649727497284972949730497314973249733497344973549736497374973849739497404974149742497434974449745497464974749748497494975049751497524975349754497554975649757497584975949760497614976249763497644976549766497674976849769497704977149772497734977449775497764977749778497794978049781497824978349784497854978649787497884978949790497914979249793497944979549796497974979849799498004980149802498034980449805498064980749808498094981049811498124981349814498154981649817498184981949820498214982249823498244982549826498274982849829498304983149832498334983449835498364983749838498394984049841498424984349844498454984649847498484984949850498514985249853498544985549856498574985849859498604986149862498634986449865498664986749868498694987049871498724987349874498754987649877498784987949880498814988249883498844988549886498874988849889498904989149892498934989449895498964989749898498994990049901499024990349904499054990649907499084990949910499114991249913499144991549916499174991849919499204992149922499234992449925499264992749928499294993049931499324993349934499354993649937499384993949940499414994249943499444994549946499474994849949499504995149952499534995449955499564995749958499594996049961499624996349964499654996649967499684996949970499714997249973499744997549976499774997849979499804998149982499834998449985499864998749988499894999049991499924999349994499954999649997499984999950000500015000250003500045000550006500075000850009500105001150012500135001450015500165001750018500195002050021500225002350024500255002650027500285002950030500315003250033500345003550036500375003850039500405004150042500435004450045500465004750048500495005050051500525005350054500555005650057500585005950060500615006250063500645006550066500675006850069500705007150072500735007450075500765007750078500795008050081500825008350084500855008650087500885008950090500915009250093500945009550096500975009850099501005010150102501035010450105501065010750108501095011050111501125011350114501155011650117501185011950120501215012250123501245012550126501275012850129501305013150132501335013450135501365013750138501395014050141501425014350144501455014650147501485014950150501515015250153501545015550156501575015850159501605016150162501635016450165501665016750168501695017050171501725017350174501755017650177501785017950180501815018250183501845018550186501875018850189501905019150192501935019450195501965019750198501995020050201502025020350204502055020650207502085020950210502115021250213502145021550216502175021850219502205022150222502235022450225502265022750228502295023050231502325023350234502355023650237502385023950240502415024250243502445024550246502475024850249502505025150252502535025450255502565025750258502595026050261502625026350264502655026650267502685026950270502715027250273502745027550276502775027850279502805028150282502835028450285502865028750288502895029050291502925029350294502955029650297502985029950300503015030250303503045030550306503075030850309503105031150312503135031450315503165031750318503195032050321503225032350324503255032650327503285032950330503315033250333503345033550336503375033850339503405034150342503435034450345503465034750348503495035050351503525035350354503555035650357503585035950360503615036250363503645036550366503675036850369503705037150372503735037450375503765037750378503795038050381503825038350384503855038650387503885038950390503915039250393503945039550396503975039850399504005040150402504035040450405504065040750408504095041050411504125041350414504155041650417504185041950420504215042250423504245042550426504275042850429504305043150432504335043450435504365043750438504395044050441504425044350444504455044650447504485044950450504515045250453504545045550456504575045850459504605046150462504635046450465504665046750468504695047050471504725047350474504755047650477504785047950480504815048250483504845048550486504875048850489504905049150492504935049450495504965049750498504995050050501505025050350504505055050650507505085050950510505115051250513505145051550516505175051850519505205052150522505235052450525505265052750528505295053050531505325053350534505355053650537505385053950540505415054250543505445054550546505475054850549505505055150552505535055450555505565055750558505595056050561505625056350564505655056650567505685056950570505715057250573505745057550576505775057850579505805058150582505835058450585505865058750588505895059050591505925059350594505955059650597505985059950600506015060250603506045060550606506075060850609506105061150612506135061450615506165061750618506195062050621506225062350624506255062650627506285062950630506315063250633506345063550636506375063850639506405064150642506435064450645506465064750648506495065050651506525065350654506555065650657506585065950660506615066250663506645066550666506675066850669506705067150672506735067450675506765067750678506795068050681506825068350684506855068650687506885068950690506915069250693506945069550696506975069850699507005070150702507035070450705507065070750708507095071050711507125071350714507155071650717507185071950720507215072250723507245072550726507275072850729507305073150732507335073450735507365073750738507395074050741507425074350744507455074650747507485074950750507515075250753507545075550756507575075850759507605076150762507635076450765507665076750768507695077050771507725077350774507755077650777507785077950780507815078250783507845078550786507875078850789507905079150792507935079450795507965079750798507995080050801508025080350804508055080650807508085080950810508115081250813508145081550816508175081850819508205082150822508235082450825508265082750828508295083050831508325083350834508355083650837508385083950840508415084250843508445084550846508475084850849508505085150852508535085450855508565085750858508595086050861508625086350864508655086650867508685086950870508715087250873508745087550876508775087850879508805088150882508835088450885508865088750888508895089050891508925089350894508955089650897508985089950900509015090250903509045090550906509075090850909509105091150912509135091450915509165091750918509195092050921509225092350924509255092650927509285092950930509315093250933509345093550936509375093850939509405094150942509435094450945509465094750948509495095050951509525095350954509555095650957509585095950960509615096250963509645096550966509675096850969509705097150972509735097450975509765097750978509795098050981509825098350984509855098650987509885098950990509915099250993509945099550996509975099850999510005100151002510035100451005510065100751008510095101051011510125101351014510155101651017510185101951020510215102251023510245102551026510275102851029510305103151032510335103451035510365103751038510395104051041510425104351044510455104651047510485104951050510515105251053510545105551056510575105851059510605106151062510635106451065510665106751068510695107051071510725107351074510755107651077510785107951080510815108251083510845108551086510875108851089510905109151092510935109451095510965109751098510995110051101511025110351104511055110651107511085110951110511115111251113511145111551116511175111851119511205112151122511235112451125511265112751128511295113051131511325113351134511355113651137511385113951140511415114251143511445114551146511475114851149511505115151152511535115451155511565115751158511595116051161511625116351164511655116651167511685116951170511715117251173511745117551176511775117851179511805118151182511835118451185511865118751188511895119051191511925119351194511955119651197511985119951200512015120251203512045120551206512075120851209512105121151212512135121451215512165121751218512195122051221512225122351224512255122651227512285122951230512315123251233512345123551236512375123851239512405124151242512435124451245512465124751248512495125051251512525125351254512555125651257512585125951260512615126251263512645126551266512675126851269512705127151272512735127451275512765127751278512795128051281512825128351284512855128651287512885128951290512915129251293512945129551296512975129851299513005130151302513035130451305513065130751308513095131051311513125131351314513155131651317513185131951320513215132251323513245132551326513275132851329513305133151332513335133451335513365133751338513395134051341513425134351344513455134651347513485134951350513515135251353513545135551356513575135851359513605136151362513635136451365513665136751368513695137051371513725137351374513755137651377513785137951380513815138251383513845138551386513875138851389513905139151392513935139451395513965139751398513995140051401514025140351404514055140651407514085140951410514115141251413514145141551416514175141851419514205142151422514235142451425514265142751428514295143051431514325143351434514355143651437514385143951440514415144251443514445144551446514475144851449514505145151452514535145451455514565145751458514595146051461514625146351464514655146651467514685146951470514715147251473514745147551476514775147851479514805148151482514835148451485514865148751488514895149051491514925149351494514955149651497514985149951500515015150251503515045150551506515075150851509515105151151512515135151451515515165151751518515195152051521515225152351524515255152651527515285152951530515315153251533515345153551536515375153851539515405154151542515435154451545515465154751548515495155051551515525155351554515555155651557515585155951560515615156251563515645156551566515675156851569515705157151572515735157451575515765157751578515795158051581515825158351584515855158651587515885158951590515915159251593515945159551596515975159851599516005160151602516035160451605516065160751608516095161051611516125161351614516155161651617516185161951620516215162251623516245162551626516275162851629516305163151632516335163451635516365163751638516395164051641516425164351644516455164651647516485164951650516515165251653516545165551656516575165851659516605166151662516635166451665516665166751668516695167051671516725167351674516755167651677516785167951680516815168251683516845168551686516875168851689516905169151692516935169451695516965169751698516995170051701517025170351704517055170651707517085170951710517115171251713517145171551716517175171851719517205172151722517235172451725517265172751728517295173051731517325173351734517355173651737517385173951740517415174251743517445174551746517475174851749517505175151752517535175451755517565175751758517595176051761517625176351764517655176651767517685176951770517715177251773517745177551776517775177851779517805178151782517835178451785517865178751788517895179051791517925179351794517955179651797517985179951800518015180251803518045180551806518075180851809518105181151812518135181451815518165181751818518195182051821518225182351824518255182651827518285182951830518315183251833518345183551836518375183851839518405184151842518435184451845518465184751848518495185051851518525185351854518555185651857518585185951860518615186251863518645186551866518675186851869518705187151872518735187451875518765187751878518795188051881518825188351884518855188651887518885188951890518915189251893518945189551896518975189851899519005190151902519035190451905519065190751908519095191051911519125191351914519155191651917519185191951920519215192251923519245192551926519275192851929519305193151932519335193451935519365193751938519395194051941519425194351944519455194651947519485194951950519515195251953519545195551956519575195851959519605196151962519635196451965519665196751968519695197051971519725197351974519755197651977519785197951980519815198251983519845198551986519875198851989519905199151992519935199451995519965199751998519995200052001520025200352004520055200652007520085200952010520115201252013520145201552016520175201852019520205202152022520235202452025520265202752028520295203052031520325203352034520355203652037520385203952040520415204252043520445204552046520475204852049520505205152052520535205452055520565205752058520595206052061520625206352064520655206652067520685206952070520715207252073520745207552076520775207852079520805208152082520835208452085520865208752088520895209052091520925209352094520955209652097520985209952100521015210252103521045210552106521075210852109521105211152112521135211452115521165211752118521195212052121521225212352124521255212652127521285212952130521315213252133521345213552136521375213852139521405214152142521435214452145521465214752148521495215052151521525215352154521555215652157521585215952160521615216252163521645216552166521675216852169521705217152172521735217452175521765217752178521795218052181521825218352184521855218652187521885218952190521915219252193521945219552196521975219852199522005220152202522035220452205522065220752208522095221052211522125221352214522155221652217522185221952220522215222252223522245222552226522275222852229522305223152232522335223452235522365223752238522395224052241522425224352244522455224652247522485224952250522515225252253522545225552256522575225852259522605226152262522635226452265522665226752268522695227052271522725227352274522755227652277522785227952280522815228252283522845228552286522875228852289522905229152292522935229452295522965229752298522995230052301523025230352304523055230652307523085230952310523115231252313523145231552316523175231852319523205232152322523235232452325523265232752328523295233052331523325233352334523355233652337523385233952340523415234252343523445234552346523475234852349523505235152352523535235452355523565235752358523595236052361523625236352364523655236652367523685236952370523715237252373523745237552376523775237852379523805238152382523835238452385523865238752388523895239052391523925239352394523955239652397523985239952400524015240252403524045240552406524075240852409524105241152412524135241452415524165241752418524195242052421524225242352424524255242652427524285242952430524315243252433524345243552436524375243852439524405244152442524435244452445524465244752448524495245052451524525245352454524555245652457524585245952460524615246252463524645246552466524675246852469524705247152472524735247452475524765247752478524795248052481524825248352484524855248652487524885248952490524915249252493524945249552496524975249852499525005250152502525035250452505525065250752508525095251052511525125251352514525155251652517525185251952520525215252252523525245252552526525275252852529525305253152532525335253452535525365253752538525395254052541525425254352544525455254652547525485254952550525515255252553525545255552556525575255852559525605256152562525635256452565525665256752568525695257052571525725257352574525755257652577525785257952580525815258252583525845258552586525875258852589525905259152592525935259452595525965259752598525995260052601526025260352604526055260652607526085260952610526115261252613526145261552616526175261852619526205262152622526235262452625526265262752628526295263052631526325263352634526355263652637526385263952640526415264252643526445264552646526475264852649526505265152652526535265452655526565265752658526595266052661526625266352664526655266652667526685266952670526715267252673526745267552676526775267852679526805268152682526835268452685526865268752688526895269052691526925269352694526955269652697526985269952700527015270252703527045270552706527075270852709527105271152712527135271452715527165271752718527195272052721527225272352724527255272652727527285272952730527315273252733527345273552736527375273852739527405274152742527435274452745527465274752748527495275052751527525275352754527555275652757527585275952760527615276252763527645276552766527675276852769527705277152772527735277452775527765277752778527795278052781527825278352784527855278652787527885278952790527915279252793527945279552796527975279852799528005280152802528035280452805528065280752808528095281052811528125281352814528155281652817528185281952820528215282252823528245282552826528275282852829528305283152832528335283452835528365283752838528395284052841528425284352844528455284652847528485284952850528515285252853528545285552856528575285852859528605286152862528635286452865528665286752868528695287052871528725287352874528755287652877528785287952880528815288252883528845288552886528875288852889528905289152892528935289452895528965289752898528995290052901529025290352904529055290652907529085290952910529115291252913529145291552916529175291852919529205292152922529235292452925529265292752928529295293052931529325293352934529355293652937529385293952940529415294252943529445294552946529475294852949529505295152952529535295452955529565295752958529595296052961529625296352964529655296652967529685296952970529715297252973529745297552976529775297852979529805298152982529835298452985529865298752988529895299052991529925299352994529955299652997529985299953000530015300253003530045300553006530075300853009530105301153012530135301453015530165301753018530195302053021530225302353024530255302653027530285302953030530315303253033530345303553036530375303853039530405304153042530435304453045530465304753048530495305053051530525305353054530555305653057530585305953060530615306253063530645306553066530675306853069530705307153072530735307453075530765307753078530795308053081530825308353084530855308653087530885308953090530915309253093530945309553096530975309853099531005310153102531035310453105531065310753108531095311053111531125311353114531155311653117531185311953120531215312253123531245312553126531275312853129531305313153132531335313453135531365313753138531395314053141531425314353144531455314653147531485314953150531515315253153531545315553156531575315853159531605316153162531635316453165531665316753168531695317053171531725317353174531755317653177531785317953180531815318253183531845318553186531875318853189531905319153192531935319453195531965319753198531995320053201532025320353204532055320653207532085320953210532115321253213532145321553216532175321853219532205322153222532235322453225532265322753228532295323053231532325323353234532355323653237532385323953240532415324253243532445324553246532475324853249532505325153252532535325453255532565325753258532595326053261532625326353264532655326653267532685326953270532715327253273532745327553276532775327853279532805328153282532835328453285532865328753288532895329053291532925329353294532955329653297532985329953300533015330253303533045330553306533075330853309533105331153312533135331453315533165331753318533195332053321533225332353324533255332653327533285332953330533315333253333533345333553336533375333853339533405334153342533435334453345533465334753348533495335053351533525335353354533555335653357533585335953360533615336253363533645336553366533675336853369533705337153372533735337453375533765337753378533795338053381533825338353384533855338653387533885338953390533915339253393533945339553396533975339853399534005340153402534035340453405534065340753408534095341053411534125341353414534155341653417534185341953420534215342253423534245342553426534275342853429534305343153432534335343453435534365343753438534395344053441534425344353444534455344653447534485344953450534515345253453534545345553456534575345853459534605346153462534635346453465534665346753468534695347053471534725347353474534755347653477534785347953480534815348253483534845348553486534875348853489534905349153492534935349453495534965349753498534995350053501535025350353504535055350653507535085350953510535115351253513535145351553516535175351853519535205352153522535235352453525535265352753528535295353053531535325353353534535355353653537535385353953540535415354253543535445354553546535475354853549535505355153552535535355453555535565355753558535595356053561535625356353564535655356653567535685356953570535715357253573535745357553576535775357853579535805358153582535835358453585535865358753588535895359053591535925359353594535955359653597535985359953600536015360253603536045360553606536075360853609536105361153612536135361453615536165361753618536195362053621536225362353624536255362653627536285362953630536315363253633536345363553636536375363853639536405364153642536435364453645536465364753648536495365053651536525365353654536555365653657536585365953660536615366253663536645366553666536675366853669536705367153672536735367453675536765367753678536795368053681536825368353684536855368653687536885368953690536915369253693536945369553696536975369853699537005370153702537035370453705537065370753708537095371053711537125371353714537155371653717537185371953720537215372253723537245372553726537275372853729537305373153732537335373453735537365373753738537395374053741537425374353744537455374653747537485374953750537515375253753537545375553756537575375853759537605376153762537635376453765537665376753768537695377053771537725377353774537755377653777537785377953780537815378253783537845378553786537875378853789537905379153792537935379453795537965379753798537995380053801538025380353804538055380653807538085380953810538115381253813538145381553816538175381853819538205382153822538235382453825538265382753828538295383053831538325383353834538355383653837538385383953840538415384253843538445384553846538475384853849538505385153852538535385453855538565385753858538595386053861538625386353864538655386653867538685386953870538715387253873538745387553876538775387853879538805388153882538835388453885538865388753888538895389053891538925389353894538955389653897538985389953900539015390253903539045390553906539075390853909539105391153912539135391453915539165391753918539195392053921539225392353924539255392653927539285392953930539315393253933539345393553936539375393853939539405394153942539435394453945539465394753948539495395053951539525395353954539555395653957539585395953960539615396253963539645396553966539675396853969539705397153972539735397453975539765397753978539795398053981539825398353984539855398653987539885398953990539915399253993539945399553996539975399853999540005400154002540035400454005540065400754008540095401054011540125401354014540155401654017540185401954020540215402254023540245402554026540275402854029540305403154032540335403454035540365403754038540395404054041540425404354044540455404654047540485404954050540515405254053540545405554056540575405854059540605406154062540635406454065540665406754068540695407054071540725407354074540755407654077540785407954080540815408254083540845408554086540875408854089540905409154092540935409454095540965409754098540995410054101541025410354104541055410654107541085410954110541115411254113541145411554116541175411854119541205412154122541235412454125541265412754128541295413054131541325413354134541355413654137541385413954140541415414254143541445414554146541475414854149541505415154152541535415454155541565415754158541595416054161541625416354164541655416654167541685416954170541715417254173541745417554176541775417854179541805418154182541835418454185541865418754188541895419054191541925419354194541955419654197541985419954200542015420254203542045420554206542075420854209542105421154212542135421454215542165421754218542195422054221542225422354224542255422654227542285422954230542315423254233542345423554236542375423854239542405424154242542435424454245542465424754248542495425054251542525425354254542555425654257542585425954260542615426254263542645426554266542675426854269542705427154272542735427454275542765427754278542795428054281542825428354284542855428654287542885428954290542915429254293542945429554296542975429854299543005430154302543035430454305543065430754308543095431054311543125431354314543155431654317543185431954320543215432254323543245432554326543275432854329543305433154332543335433454335543365433754338543395434054341543425434354344543455434654347543485434954350543515435254353543545435554356543575435854359543605436154362543635436454365543665436754368543695437054371543725437354374543755437654377543785437954380543815438254383543845438554386543875438854389543905439154392543935439454395543965439754398543995440054401544025440354404544055440654407544085440954410544115441254413544145441554416544175441854419544205442154422544235442454425544265442754428544295443054431544325443354434544355443654437544385443954440544415444254443544445444554446544475444854449544505445154452544535445454455544565445754458544595446054461544625446354464544655446654467544685446954470544715447254473544745447554476544775447854479544805448154482544835448454485544865448754488544895449054491544925449354494544955449654497544985449954500545015450254503545045450554506545075450854509545105451154512545135451454515545165451754518545195452054521545225452354524545255452654527545285452954530545315453254533545345453554536545375453854539545405454154542545435454454545545465454754548545495455054551545525455354554545555455654557545585455954560545615456254563545645456554566545675456854569545705457154572545735457454575545765457754578545795458054581545825458354584545855458654587545885458954590545915459254593545945459554596545975459854599546005460154602546035460454605546065460754608546095461054611546125461354614546155461654617546185461954620546215462254623546245462554626546275462854629546305463154632546335463454635546365463754638546395464054641546425464354644546455464654647546485464954650546515465254653546545465554656546575465854659546605466154662546635466454665546665466754668546695467054671546725467354674546755467654677546785467954680546815468254683546845468554686546875468854689546905469154692546935469454695546965469754698546995470054701547025470354704547055470654707547085470954710547115471254713547145471554716547175471854719547205472154722547235472454725547265472754728547295473054731547325473354734547355473654737547385473954740547415474254743547445474554746547475474854749547505475154752547535475454755547565475754758547595476054761547625476354764547655476654767547685476954770547715477254773547745477554776547775477854779547805478154782547835478454785547865478754788547895479054791547925479354794547955479654797547985479954800548015480254803548045480554806548075480854809548105481154812548135481454815548165481754818548195482054821548225482354824548255482654827548285482954830548315483254833548345483554836548375483854839548405484154842548435484454845548465484754848548495485054851548525485354854548555485654857548585485954860548615486254863548645486554866548675486854869548705487154872548735487454875548765487754878548795488054881548825488354884548855488654887548885488954890548915489254893548945489554896548975489854899549005490154902549035490454905549065490754908549095491054911549125491354914549155491654917549185491954920549215492254923549245492554926549275492854929549305493154932549335493454935549365493754938549395494054941549425494354944549455494654947549485494954950549515495254953549545495554956549575495854959549605496154962549635496454965549665496754968549695497054971549725497354974549755497654977549785497954980549815498254983549845498554986549875498854989549905499154992549935499454995549965499754998549995500055001550025500355004550055500655007550085500955010550115501255013550145501555016550175501855019550205502155022550235502455025550265502755028550295503055031550325503355034550355503655037550385503955040550415504255043550445504555046550475504855049550505505155052550535505455055550565505755058550595506055061550625506355064550655506655067550685506955070550715507255073550745507555076550775507855079550805508155082550835508455085550865508755088550895509055091550925509355094550955509655097550985509955100551015510255103551045510555106551075510855109551105511155112551135511455115551165511755118551195512055121551225512355124551255512655127551285512955130551315513255133551345513555136551375513855139551405514155142551435514455145551465514755148551495515055151551525515355154551555515655157551585515955160551615516255163551645516555166551675516855169551705517155172551735517455175551765517755178551795518055181551825518355184551855518655187551885518955190551915519255193551945519555196551975519855199552005520155202552035520455205552065520755208552095521055211552125521355214552155521655217552185521955220552215522255223552245522555226552275522855229552305523155232552335523455235552365523755238552395524055241552425524355244552455524655247552485524955250552515525255253552545525555256552575525855259552605526155262552635526455265552665526755268552695527055271552725527355274552755527655277552785527955280552815528255283552845528555286552875528855289552905529155292552935529455295552965529755298552995530055301553025530355304553055530655307553085530955310553115531255313553145531555316553175531855319553205532155322553235532455325553265532755328553295533055331553325533355334553355533655337553385533955340553415534255343553445534555346553475534855349553505535155352553535535455355553565535755358553595536055361553625536355364553655536655367553685536955370553715537255373553745537555376553775537855379553805538155382553835538455385553865538755388553895539055391553925539355394553955539655397553985539955400554015540255403554045540555406554075540855409554105541155412554135541455415554165541755418554195542055421554225542355424554255542655427554285542955430554315543255433554345543555436554375543855439554405544155442554435544455445554465544755448554495545055451554525545355454554555545655457554585545955460554615546255463554645546555466554675546855469554705547155472554735547455475554765547755478554795548055481554825548355484554855548655487554885548955490554915549255493554945549555496554975549855499555005550155502555035550455505555065550755508555095551055511555125551355514555155551655517555185551955520555215552255523555245552555526555275552855529555305553155532555335553455535555365553755538555395554055541555425554355544555455554655547555485554955550555515555255553555545555555556555575555855559555605556155562555635556455565555665556755568555695557055571555725557355574555755557655577555785557955580555815558255583555845558555586555875558855589555905559155592555935559455595555965559755598555995560055601556025560355604556055560655607556085560955610556115561255613556145561555616556175561855619556205562155622556235562455625556265562755628556295563055631556325563355634556355563655637556385563955640556415564255643556445564555646556475564855649556505565155652556535565455655556565565755658556595566055661556625566355664556655566655667556685566955670556715567255673556745567555676556775567855679556805568155682556835568455685556865568755688556895569055691556925569355694556955569655697556985569955700557015570255703557045570555706557075570855709557105571155712557135571455715557165571755718557195572055721557225572355724557255572655727557285572955730557315573255733557345573555736557375573855739557405574155742557435574455745557465574755748557495575055751557525575355754557555575655757557585575955760557615576255763557645576555766557675576855769557705577155772557735577455775557765577755778557795578055781557825578355784557855578655787557885578955790557915579255793557945579555796557975579855799558005580155802558035580455805558065580755808558095581055811558125581355814558155581655817558185581955820558215582255823558245582555826558275582855829558305583155832558335583455835558365583755838558395584055841558425584355844558455584655847558485584955850558515585255853558545585555856558575585855859558605586155862558635586455865558665586755868558695587055871558725587355874558755587655877558785587955880558815588255883558845588555886558875588855889558905589155892558935589455895558965589755898558995590055901559025590355904559055590655907559085590955910559115591255913559145591555916559175591855919559205592155922559235592455925559265592755928559295593055931559325593355934559355593655937559385593955940559415594255943559445594555946559475594855949559505595155952559535595455955559565595755958559595596055961559625596355964559655596655967559685596955970559715597255973559745597555976559775597855979559805598155982559835598455985559865598755988559895599055991559925599355994559955599655997559985599956000560015600256003560045600556006560075600856009560105601156012560135601456015560165601756018560195602056021560225602356024560255602656027560285602956030560315603256033560345603556036560375603856039560405604156042560435604456045560465604756048560495605056051560525605356054560555605656057560585605956060560615606256063560645606556066560675606856069560705607156072560735607456075560765607756078560795608056081560825608356084560855608656087560885608956090560915609256093560945609556096560975609856099561005610156102561035610456105561065610756108561095611056111561125611356114561155611656117561185611956120561215612256123561245612556126561275612856129561305613156132561335613456135561365613756138561395614056141561425614356144561455614656147561485614956150561515615256153561545615556156561575615856159561605616156162561635616456165561665616756168561695617056171561725617356174561755617656177561785617956180561815618256183561845618556186561875618856189561905619156192561935619456195561965619756198561995620056201562025620356204562055620656207562085620956210562115621256213562145621556216562175621856219562205622156222562235622456225562265622756228562295623056231562325623356234562355623656237562385623956240562415624256243562445624556246562475624856249562505625156252562535625456255562565625756258562595626056261562625626356264562655626656267562685626956270562715627256273562745627556276562775627856279562805628156282562835628456285562865628756288562895629056291562925629356294562955629656297562985629956300563015630256303563045630556306563075630856309563105631156312563135631456315563165631756318563195632056321563225632356324563255632656327563285632956330563315633256333563345633556336563375633856339563405634156342563435634456345563465634756348563495635056351563525635356354563555635656357563585635956360563615636256363563645636556366563675636856369563705637156372563735637456375563765637756378563795638056381563825638356384563855638656387563885638956390563915639256393563945639556396563975639856399564005640156402564035640456405564065640756408564095641056411564125641356414564155641656417564185641956420564215642256423564245642556426564275642856429564305643156432564335643456435564365643756438564395644056441564425644356444564455644656447564485644956450564515645256453564545645556456564575645856459564605646156462564635646456465564665646756468564695647056471564725647356474564755647656477564785647956480564815648256483564845648556486564875648856489564905649156492564935649456495564965649756498564995650056501565025650356504565055650656507565085650956510565115651256513565145651556516565175651856519565205652156522565235652456525565265652756528565295653056531565325653356534565355653656537565385653956540565415654256543565445654556546565475654856549565505655156552565535655456555565565655756558565595656056561565625656356564565655656656567565685656956570565715657256573565745657556576565775657856579565805658156582565835658456585565865658756588565895659056591565925659356594565955659656597565985659956600566015660256603566045660556606566075660856609566105661156612566135661456615566165661756618566195662056621566225662356624566255662656627566285662956630566315663256633566345663556636566375663856639566405664156642566435664456645566465664756648566495665056651566525665356654566555665656657566585665956660566615666256663566645666556666566675666856669566705667156672566735667456675566765667756678566795668056681566825668356684566855668656687566885668956690566915669256693566945669556696566975669856699567005670156702567035670456705567065670756708567095671056711567125671356714567155671656717567185671956720567215672256723567245672556726567275672856729567305673156732567335673456735567365673756738567395674056741567425674356744567455674656747567485674956750567515675256753567545675556756567575675856759567605676156762567635676456765567665676756768567695677056771567725677356774567755677656777567785677956780567815678256783567845678556786567875678856789567905679156792567935679456795567965679756798567995680056801568025680356804568055680656807568085680956810568115681256813568145681556816568175681856819568205682156822568235682456825568265682756828568295683056831568325683356834568355683656837568385683956840568415684256843568445684556846568475684856849568505685156852568535685456855568565685756858568595686056861568625686356864568655686656867568685686956870568715687256873568745687556876568775687856879568805688156882568835688456885568865688756888568895689056891568925689356894568955689656897568985689956900569015690256903569045690556906569075690856909569105691156912569135691456915569165691756918569195692056921569225692356924569255692656927569285692956930569315693256933569345693556936569375693856939569405694156942569435694456945569465694756948569495695056951569525695356954569555695656957569585695956960569615696256963569645696556966569675696856969569705697156972569735697456975569765697756978569795698056981569825698356984569855698656987569885698956990569915699256993569945699556996569975699856999570005700157002570035700457005570065700757008570095701057011570125701357014570155701657017570185701957020570215702257023570245702557026570275702857029570305703157032570335703457035570365703757038570395704057041570425704357044570455704657047570485704957050570515705257053570545705557056570575705857059570605706157062570635706457065570665706757068570695707057071570725707357074570755707657077570785707957080570815708257083570845708557086570875708857089570905709157092570935709457095570965709757098570995710057101571025710357104571055710657107571085710957110571115711257113571145711557116571175711857119571205712157122571235712457125571265712757128571295713057131571325713357134571355713657137571385713957140571415714257143571445714557146571475714857149571505715157152571535715457155571565715757158571595716057161571625716357164571655716657167571685716957170571715717257173571745717557176571775717857179571805718157182571835718457185571865718757188571895719057191571925719357194571955719657197571985719957200572015720257203572045720557206572075720857209572105721157212572135721457215572165721757218572195722057221572225722357224572255722657227572285722957230572315723257233572345723557236572375723857239572405724157242572435724457245572465724757248572495725057251572525725357254572555725657257572585725957260572615726257263572645726557266572675726857269572705727157272572735727457275572765727757278572795728057281572825728357284572855728657287572885728957290572915729257293572945729557296572975729857299573005730157302573035730457305573065730757308573095731057311573125731357314573155731657317573185731957320573215732257323573245732557326573275732857329573305733157332573335733457335573365733757338573395734057341573425734357344573455734657347573485734957350573515735257353573545735557356573575735857359573605736157362573635736457365573665736757368573695737057371573725737357374573755737657377573785737957380573815738257383573845738557386573875738857389573905739157392573935739457395573965739757398573995740057401574025740357404574055740657407574085740957410574115741257413574145741557416574175741857419574205742157422574235742457425574265742757428574295743057431574325743357434574355743657437574385743957440574415744257443574445744557446574475744857449574505745157452574535745457455574565745757458574595746057461574625746357464574655746657467574685746957470574715747257473574745747557476574775747857479574805748157482574835748457485574865748757488574895749057491574925749357494574955749657497574985749957500575015750257503575045750557506575075750857509575105751157512575135751457515575165751757518575195752057521575225752357524575255752657527575285752957530575315753257533575345753557536575375753857539575405754157542575435754457545575465754757548575495755057551575525755357554575555755657557575585755957560575615756257563575645756557566575675756857569575705757157572575735757457575575765757757578575795758057581575825758357584575855758657587575885758957590575915759257593575945759557596575975759857599576005760157602576035760457605576065760757608576095761057611576125761357614576155761657617576185761957620576215762257623576245762557626576275762857629576305763157632576335763457635576365763757638576395764057641576425764357644576455764657647576485764957650576515765257653576545765557656576575765857659576605766157662576635766457665576665766757668576695767057671576725767357674576755767657677576785767957680576815768257683576845768557686576875768857689576905769157692576935769457695576965769757698576995770057701577025770357704577055770657707577085770957710577115771257713577145771557716577175771857719577205772157722577235772457725577265772757728577295773057731577325773357734577355773657737577385773957740577415774257743577445774557746577475774857749577505775157752577535775457755577565775757758577595776057761577625776357764577655776657767577685776957770577715777257773577745777557776577775777857779577805778157782577835778457785577865778757788577895779057791577925779357794577955779657797577985779957800578015780257803578045780557806578075780857809578105781157812578135781457815578165781757818578195782057821578225782357824578255782657827578285782957830578315783257833578345783557836578375783857839578405784157842578435784457845578465784757848578495785057851578525785357854578555785657857578585785957860578615786257863578645786557866578675786857869578705787157872578735787457875578765787757878578795788057881578825788357884578855788657887578885788957890578915789257893578945789557896578975789857899579005790157902579035790457905579065790757908579095791057911579125791357914579155791657917579185791957920579215792257923579245792557926579275792857929579305793157932579335793457935579365793757938579395794057941579425794357944579455794657947579485794957950579515795257953579545795557956579575795857959579605796157962579635796457965579665796757968579695797057971579725797357974579755797657977579785797957980579815798257983579845798557986579875798857989579905799157992579935799457995579965799757998579995800058001580025800358004580055800658007580085800958010580115801258013580145801558016580175801858019580205802158022580235802458025580265802758028580295803058031580325803358034580355803658037580385803958040580415804258043580445804558046580475804858049580505805158052580535805458055580565805758058580595806058061580625806358064580655806658067580685806958070580715807258073580745807558076580775807858079580805808158082580835808458085580865808758088580895809058091580925809358094580955809658097580985809958100581015810258103581045810558106581075810858109581105811158112581135811458115581165811758118581195812058121581225812358124581255812658127581285812958130581315813258133581345813558136581375813858139581405814158142581435814458145581465814758148581495815058151581525815358154581555815658157581585815958160581615816258163581645816558166581675816858169581705817158172581735817458175581765817758178581795818058181581825818358184581855818658187581885818958190581915819258193581945819558196581975819858199582005820158202582035820458205582065820758208582095821058211582125821358214582155821658217582185821958220582215822258223582245822558226582275822858229582305823158232582335823458235582365823758238582395824058241582425824358244582455824658247582485824958250582515825258253582545825558256582575825858259582605826158262582635826458265582665826758268582695827058271582725827358274582755827658277582785827958280582815828258283582845828558286582875828858289582905829158292582935829458295582965829758298582995830058301583025830358304583055830658307583085830958310583115831258313583145831558316583175831858319583205832158322583235832458325583265832758328583295833058331583325833358334583355833658337583385833958340583415834258343583445834558346583475834858349583505835158352583535835458355583565835758358583595836058361583625836358364583655836658367583685836958370583715837258373583745837558376583775837858379583805838158382583835838458385583865838758388583895839058391583925839358394583955839658397583985839958400584015840258403584045840558406584075840858409584105841158412584135841458415584165841758418584195842058421584225842358424584255842658427584285842958430584315843258433584345843558436584375843858439584405844158442584435844458445584465844758448584495845058451584525845358454584555845658457584585845958460584615846258463584645846558466584675846858469584705847158472584735847458475584765847758478584795848058481584825848358484584855848658487584885848958490584915849258493584945849558496584975849858499585005850158502585035850458505585065850758508585095851058511585125851358514585155851658517585185851958520585215852258523585245852558526585275852858529585305853158532585335853458535585365853758538585395854058541585425854358544585455854658547585485854958550585515855258553585545855558556585575855858559585605856158562585635856458565585665856758568585695857058571585725857358574585755857658577585785857958580585815858258583585845858558586585875858858589585905859158592585935859458595585965859758598585995860058601586025860358604586055860658607586085860958610586115861258613586145861558616586175861858619586205862158622586235862458625586265862758628586295863058631586325863358634586355863658637586385863958640586415864258643586445864558646586475864858649586505865158652586535865458655586565865758658586595866058661586625866358664586655866658667586685866958670586715867258673586745867558676586775867858679586805868158682586835868458685586865868758688586895869058691586925869358694586955869658697586985869958700587015870258703587045870558706587075870858709587105871158712587135871458715587165871758718587195872058721587225872358724587255872658727587285872958730587315873258733587345873558736587375873858739587405874158742587435874458745587465874758748587495875058751587525875358754587555875658757587585875958760587615876258763587645876558766587675876858769587705877158772587735877458775587765877758778587795878058781587825878358784587855878658787587885878958790587915879258793587945879558796587975879858799588005880158802588035880458805588065880758808588095881058811588125881358814588155881658817588185881958820588215882258823588245882558826588275882858829588305883158832588335883458835588365883758838588395884058841588425884358844588455884658847588485884958850588515885258853588545885558856588575885858859588605886158862588635886458865588665886758868588695887058871588725887358874588755887658877588785887958880588815888258883588845888558886588875888858889588905889158892588935889458895588965889758898588995890058901589025890358904589055890658907589085890958910589115891258913589145891558916589175891858919589205892158922589235892458925589265892758928589295893058931589325893358934589355893658937589385893958940589415894258943589445894558946589475894858949589505895158952589535895458955589565895758958589595896058961589625896358964589655896658967589685896958970589715897258973589745897558976589775897858979589805898158982589835898458985589865898758988589895899058991589925899358994589955899658997589985899959000590015900259003590045900559006590075900859009590105901159012590135901459015590165901759018590195902059021590225902359024590255902659027590285902959030590315903259033590345903559036590375903859039590405904159042590435904459045590465904759048590495905059051590525905359054590555905659057590585905959060590615906259063590645906559066590675906859069590705907159072590735907459075590765907759078590795908059081590825908359084590855908659087590885908959090590915909259093590945909559096590975909859099591005910159102591035910459105591065910759108591095911059111591125911359114591155911659117591185911959120591215912259123591245912559126591275912859129591305913159132591335913459135591365913759138591395914059141591425914359144591455914659147591485914959150591515915259153591545915559156591575915859159591605916159162591635916459165591665916759168591695917059171591725917359174591755917659177591785917959180591815918259183591845918559186591875918859189591905919159192591935919459195591965919759198591995920059201592025920359204592055920659207592085920959210592115921259213592145921559216592175921859219592205922159222592235922459225592265922759228592295923059231592325923359234592355923659237592385923959240592415924259243592445924559246592475924859249592505925159252592535925459255592565925759258592595926059261592625926359264592655926659267592685926959270592715927259273592745927559276592775927859279592805928159282592835928459285592865928759288592895929059291592925929359294592955929659297592985929959300593015930259303593045930559306593075930859309593105931159312593135931459315593165931759318593195932059321593225932359324593255932659327593285932959330593315933259333593345933559336593375933859339593405934159342593435934459345593465934759348593495935059351593525935359354593555935659357593585935959360593615936259363593645936559366593675936859369593705937159372593735937459375593765937759378593795938059381593825938359384593855938659387593885938959390593915939259393593945939559396593975939859399594005940159402594035940459405594065940759408594095941059411594125941359414594155941659417594185941959420594215942259423594245942559426594275942859429594305943159432594335943459435594365943759438594395944059441594425944359444594455944659447594485944959450594515945259453594545945559456594575945859459594605946159462594635946459465594665946759468594695947059471594725947359474594755947659477594785947959480594815948259483594845948559486594875948859489594905949159492594935949459495594965949759498594995950059501595025950359504595055950659507595085950959510595115951259513595145951559516595175951859519595205952159522595235952459525595265952759528595295953059531595325953359534595355953659537595385953959540595415954259543595445954559546595475954859549595505955159552595535955459555595565955759558595595956059561595625956359564595655956659567595685956959570595715957259573595745957559576595775957859579595805958159582595835958459585595865958759588595895959059591595925959359594595955959659597595985959959600596015960259603596045960559606596075960859609596105961159612596135961459615596165961759618596195962059621596225962359624596255962659627596285962959630596315963259633596345963559636596375963859639596405964159642596435964459645596465964759648596495965059651596525965359654596555965659657596585965959660596615966259663596645966559666596675966859669596705967159672596735967459675596765967759678596795968059681596825968359684596855968659687596885968959690596915969259693596945969559696596975969859699597005970159702597035970459705597065970759708597095971059711597125971359714597155971659717597185971959720597215972259723597245972559726597275972859729597305973159732597335973459735597365973759738597395974059741597425974359744597455974659747597485974959750597515975259753597545975559756597575975859759597605976159762597635976459765597665976759768597695977059771597725977359774597755977659777597785977959780597815978259783597845978559786597875978859789597905979159792597935979459795597965979759798597995980059801598025980359804598055980659807598085980959810598115981259813598145981559816598175981859819598205982159822598235982459825598265982759828598295983059831598325983359834598355983659837598385983959840598415984259843598445984559846598475984859849598505985159852598535985459855598565985759858598595986059861598625986359864598655986659867598685986959870598715987259873598745987559876598775987859879598805988159882598835988459885598865988759888598895989059891598925989359894598955989659897598985989959900599015990259903599045990559906599075990859909599105991159912599135991459915599165991759918599195992059921599225992359924599255992659927599285992959930599315993259933599345993559936599375993859939599405994159942599435994459945599465994759948599495995059951599525995359954599555995659957599585995959960599615996259963599645996559966599675996859969599705997159972599735997459975599765997759978599795998059981599825998359984599855998659987599885998959990599915999259993599945999559996599975999859999600006000160002600036000460005600066000760008600096001060011600126001360014600156001660017600186001960020600216002260023600246002560026600276002860029600306003160032600336003460035600366003760038600396004060041600426004360044600456004660047600486004960050600516005260053600546005560056600576005860059600606006160062600636006460065600666006760068600696007060071600726007360074600756007660077600786007960080600816008260083600846008560086600876008860089600906009160092600936009460095600966009760098600996010060101601026010360104601056010660107601086010960110601116011260113601146011560116601176011860119601206012160122601236012460125601266012760128601296013060131601326013360134601356013660137601386013960140601416014260143601446014560146601476014860149601506015160152601536015460155601566015760158601596016060161601626016360164601656016660167601686016960170601716017260173601746017560176601776017860179601806018160182601836018460185601866018760188601896019060191601926019360194601956019660197601986019960200602016020260203602046020560206602076020860209602106021160212602136021460215602166021760218602196022060221602226022360224602256022660227602286022960230602316023260233602346023560236602376023860239602406024160242602436024460245602466024760248602496025060251602526025360254602556025660257602586025960260602616026260263602646026560266602676026860269602706027160272602736027460275602766027760278602796028060281602826028360284602856028660287602886028960290602916029260293602946029560296602976029860299603006030160302603036030460305603066030760308603096031060311603126031360314603156031660317603186031960320603216032260323603246032560326603276032860329603306033160332603336033460335603366033760338603396034060341603426034360344603456034660347603486034960350603516035260353603546035560356603576035860359603606036160362603636036460365603666036760368603696037060371603726037360374603756037660377603786037960380603816038260383603846038560386603876038860389603906039160392603936039460395603966039760398603996040060401604026040360404604056040660407604086040960410604116041260413604146041560416604176041860419604206042160422604236042460425604266042760428604296043060431604326043360434604356043660437604386043960440604416044260443604446044560446604476044860449604506045160452604536045460455604566045760458604596046060461604626046360464604656046660467604686046960470604716047260473604746047560476604776047860479604806048160482604836048460485604866048760488604896049060491604926049360494604956049660497604986049960500605016050260503605046050560506605076050860509605106051160512605136051460515605166051760518605196052060521605226052360524605256052660527605286052960530605316053260533605346053560536605376053860539605406054160542605436054460545605466054760548605496055060551605526055360554605556055660557605586055960560605616056260563605646056560566605676056860569605706057160572605736057460575605766057760578605796058060581605826058360584605856058660587605886058960590605916059260593605946059560596605976059860599606006060160602606036060460605606066060760608606096061060611606126061360614606156061660617606186061960620606216062260623606246062560626606276062860629606306063160632606336063460635606366063760638606396064060641606426064360644606456064660647606486064960650606516065260653606546065560656606576065860659606606066160662606636066460665606666066760668606696067060671606726067360674606756067660677606786067960680606816068260683606846068560686606876068860689606906069160692606936069460695606966069760698606996070060701607026070360704607056070660707607086070960710607116071260713607146071560716607176071860719607206072160722607236072460725607266072760728607296073060731607326073360734607356073660737607386073960740607416074260743607446074560746607476074860749607506075160752607536075460755607566075760758607596076060761607626076360764607656076660767607686076960770607716077260773607746077560776607776077860779607806078160782607836078460785607866078760788607896079060791607926079360794607956079660797607986079960800608016080260803608046080560806608076080860809608106081160812608136081460815608166081760818608196082060821608226082360824608256082660827608286082960830608316083260833608346083560836608376083860839608406084160842608436084460845608466084760848608496085060851608526085360854608556085660857608586085960860608616086260863608646086560866608676086860869608706087160872608736087460875608766087760878608796088060881608826088360884608856088660887608886088960890608916089260893608946089560896608976089860899609006090160902609036090460905609066090760908609096091060911609126091360914609156091660917609186091960920609216092260923609246092560926609276092860929609306093160932609336093460935609366093760938609396094060941609426094360944609456094660947609486094960950609516095260953609546095560956609576095860959609606096160962609636096460965609666096760968609696097060971609726097360974609756097660977609786097960980609816098260983609846098560986609876098860989609906099160992609936099460995609966099760998609996100061001610026100361004610056100661007610086100961010610116101261013610146101561016610176101861019610206102161022610236102461025610266102761028610296103061031610326103361034610356103661037610386103961040610416104261043610446104561046610476104861049610506105161052610536105461055610566105761058610596106061061610626106361064610656106661067610686106961070610716107261073610746107561076610776107861079610806108161082610836108461085610866108761088610896109061091610926109361094610956109661097610986109961100611016110261103611046110561106611076110861109611106111161112611136111461115611166111761118611196112061121611226112361124611256112661127611286112961130611316113261133611346113561136611376113861139611406114161142611436114461145611466114761148611496115061151611526115361154611556115661157611586115961160611616116261163611646116561166611676116861169611706117161172611736117461175611766117761178611796118061181611826118361184611856118661187611886118961190611916119261193611946119561196611976119861199612006120161202612036120461205612066120761208612096121061211612126121361214612156121661217612186121961220612216122261223612246122561226612276122861229612306123161232612336123461235612366123761238612396124061241612426124361244612456124661247612486124961250612516125261253612546125561256612576125861259612606126161262612636126461265612666126761268612696127061271612726127361274612756127661277612786127961280612816128261283612846128561286612876128861289612906129161292612936129461295612966129761298612996130061301613026130361304613056130661307613086130961310613116131261313613146131561316613176131861319613206132161322613236132461325613266132761328613296133061331613326133361334613356133661337613386133961340613416134261343613446134561346613476134861349613506135161352613536135461355613566135761358613596136061361613626136361364613656136661367613686136961370613716137261373613746137561376613776137861379613806138161382613836138461385613866138761388613896139061391613926139361394613956139661397613986139961400614016140261403614046140561406614076140861409614106141161412614136141461415614166141761418614196142061421614226142361424614256142661427614286142961430614316143261433614346143561436614376143861439614406144161442614436144461445614466144761448614496145061451614526145361454614556145661457614586145961460614616146261463614646146561466614676146861469614706147161472614736147461475614766147761478614796148061481614826148361484614856148661487614886148961490614916149261493614946149561496614976149861499615006150161502615036150461505615066150761508615096151061511615126151361514615156151661517615186151961520615216152261523615246152561526615276152861529615306153161532615336153461535615366153761538615396154061541615426154361544615456154661547615486154961550615516155261553615546155561556615576155861559615606156161562615636156461565615666156761568615696157061571615726157361574615756157661577615786157961580615816158261583615846158561586615876158861589615906159161592615936159461595615966159761598615996160061601616026160361604616056160661607616086160961610616116161261613616146161561616616176161861619616206162161622616236162461625616266162761628616296163061631616326163361634616356163661637616386163961640616416164261643616446164561646616476164861649616506165161652616536165461655616566165761658616596166061661616626166361664616656166661667616686166961670616716167261673616746167561676616776167861679616806168161682616836168461685616866168761688616896169061691616926169361694616956169661697616986169961700617016170261703617046170561706617076170861709617106171161712617136171461715617166171761718617196172061721617226172361724617256172661727617286172961730617316173261733617346173561736617376173861739617406174161742617436174461745617466174761748617496175061751617526175361754617556175661757617586175961760617616176261763617646176561766617676176861769617706177161772617736177461775617766177761778617796178061781617826178361784617856178661787617886178961790617916179261793617946179561796617976179861799618006180161802618036180461805618066180761808618096181061811618126181361814618156181661817618186181961820618216182261823618246182561826618276182861829618306183161832618336183461835618366183761838618396184061841618426184361844618456184661847618486184961850618516185261853618546185561856618576185861859618606186161862618636186461865618666186761868618696187061871618726187361874618756187661877618786187961880618816188261883618846188561886618876188861889618906189161892618936189461895618966189761898618996190061901619026190361904619056190661907619086190961910619116191261913619146191561916619176191861919619206192161922619236192461925619266192761928619296193061931619326193361934619356193661937619386193961940619416194261943619446194561946619476194861949619506195161952619536195461955619566195761958619596196061961619626196361964619656196661967619686196961970619716197261973619746197561976619776197861979619806198161982619836198461985619866198761988619896199061991619926199361994619956199661997619986199962000620016200262003620046200562006620076200862009620106201162012620136201462015620166201762018620196202062021620226202362024620256202662027620286202962030620316203262033620346203562036620376203862039620406204162042620436204462045620466204762048620496205062051620526205362054620556205662057620586205962060620616206262063620646206562066620676206862069620706207162072620736207462075620766207762078620796208062081620826208362084620856208662087620886208962090620916209262093620946209562096620976209862099621006210162102621036210462105621066210762108621096211062111621126211362114621156211662117621186211962120621216212262123621246212562126621276212862129621306213162132621336213462135621366213762138621396214062141621426214362144621456214662147621486214962150621516215262153621546215562156621576215862159621606216162162621636216462165621666216762168621696217062171621726217362174621756217662177621786217962180621816218262183621846218562186621876218862189621906219162192621936219462195621966219762198621996220062201622026220362204622056220662207622086220962210622116221262213622146221562216622176221862219622206222162222622236222462225622266222762228622296223062231622326223362234622356223662237622386223962240622416224262243622446224562246622476224862249622506225162252622536225462255622566225762258622596226062261622626226362264622656226662267622686226962270622716227262273622746227562276622776227862279622806228162282622836228462285622866228762288622896229062291622926229362294622956229662297622986229962300623016230262303623046230562306623076230862309623106231162312623136231462315623166231762318623196232062321623226232362324623256232662327623286232962330623316233262333623346233562336623376233862339623406234162342623436234462345623466234762348623496235062351623526235362354623556235662357623586235962360623616236262363623646236562366623676236862369623706237162372623736237462375623766237762378623796238062381623826238362384623856238662387623886238962390623916239262393623946239562396623976239862399624006240162402624036240462405624066240762408624096241062411624126241362414624156241662417624186241962420624216242262423624246242562426624276242862429624306243162432624336243462435624366243762438624396244062441624426244362444624456244662447624486244962450624516245262453624546245562456624576245862459624606246162462624636246462465624666246762468624696247062471624726247362474624756247662477624786247962480624816248262483624846248562486624876248862489624906249162492624936249462495624966249762498624996250062501625026250362504625056250662507625086250962510625116251262513625146251562516625176251862519625206252162522625236252462525625266252762528625296253062531625326253362534625356253662537625386253962540625416254262543625446254562546625476254862549625506255162552625536255462555625566255762558625596256062561625626256362564625656256662567625686256962570625716257262573625746257562576625776257862579625806258162582625836258462585625866258762588625896259062591625926259362594625956259662597625986259962600626016260262603626046260562606626076260862609626106261162612626136261462615626166261762618626196262062621626226262362624626256262662627626286262962630626316263262633626346263562636626376263862639626406264162642626436264462645626466264762648626496265062651626526265362654626556265662657626586265962660626616266262663626646266562666626676266862669626706267162672626736267462675626766267762678626796268062681626826268362684626856268662687626886268962690626916269262693626946269562696626976269862699627006270162702627036270462705627066270762708627096271062711627126271362714627156271662717627186271962720627216272262723627246272562726627276272862729627306273162732627336273462735627366273762738627396274062741627426274362744627456274662747627486274962750627516275262753627546275562756627576275862759627606276162762627636276462765627666276762768627696277062771627726277362774627756277662777627786277962780627816278262783627846278562786627876278862789627906279162792627936279462795627966279762798627996280062801628026280362804628056280662807628086280962810628116281262813628146281562816628176281862819628206282162822628236282462825628266282762828628296283062831628326283362834628356283662837628386283962840628416284262843628446284562846628476284862849628506285162852628536285462855628566285762858628596286062861628626286362864628656286662867628686286962870628716287262873628746287562876628776287862879628806288162882628836288462885628866288762888628896289062891628926289362894628956289662897628986289962900629016290262903629046290562906629076290862909629106291162912629136291462915629166291762918629196292062921629226292362924629256292662927629286292962930629316293262933629346293562936629376293862939629406294162942629436294462945629466294762948629496295062951629526295362954629556295662957629586295962960629616296262963629646296562966629676296862969629706297162972629736297462975629766297762978629796298062981629826298362984629856298662987629886298962990629916299262993629946299562996629976299862999630006300163002630036300463005630066300763008630096301063011630126301363014630156301663017630186301963020630216302263023630246302563026630276302863029630306303163032630336303463035630366303763038630396304063041630426304363044630456304663047630486304963050630516305263053630546305563056630576305863059630606306163062630636306463065630666306763068630696307063071630726307363074630756307663077630786307963080630816308263083630846308563086630876308863089630906309163092630936309463095630966309763098630996310063101631026310363104631056310663107631086310963110631116311263113631146311563116631176311863119631206312163122631236312463125631266312763128631296313063131631326313363134631356313663137631386313963140631416314263143631446314563146631476314863149631506315163152631536315463155631566315763158631596316063161631626316363164631656316663167631686316963170631716317263173631746317563176631776317863179631806318163182631836318463185631866318763188631896319063191631926319363194631956319663197631986319963200632016320263203632046320563206632076320863209632106321163212632136321463215632166321763218632196322063221632226322363224632256322663227632286322963230632316323263233632346323563236632376323863239632406324163242632436324463245632466324763248632496325063251632526325363254632556325663257632586325963260632616326263263632646326563266632676326863269632706327163272632736327463275632766327763278632796328063281632826328363284632856328663287632886328963290632916329263293632946329563296632976329863299633006330163302633036330463305633066330763308633096331063311633126331363314633156331663317633186331963320633216332263323633246332563326633276332863329633306333163332633336333463335633366333763338633396334063341633426334363344633456334663347633486334963350633516335263353633546335563356633576335863359633606336163362633636336463365633666336763368633696337063371633726337363374633756337663377633786337963380633816338263383633846338563386633876338863389633906339163392633936339463395633966339763398633996340063401634026340363404634056340663407634086340963410634116341263413634146341563416634176341863419634206342163422634236342463425634266342763428634296343063431634326343363434634356343663437634386343963440634416344263443634446344563446634476344863449634506345163452634536345463455634566345763458634596346063461634626346363464634656346663467634686346963470634716347263473634746347563476634776347863479634806348163482634836348463485634866348763488634896349063491634926349363494634956349663497634986349963500635016350263503635046350563506635076350863509635106351163512635136351463515635166351763518635196352063521635226352363524635256352663527635286352963530635316353263533635346353563536635376353863539635406354163542635436354463545635466354763548635496355063551635526355363554635556355663557635586355963560635616356263563635646356563566635676356863569635706357163572635736357463575635766357763578635796358063581635826358363584635856358663587635886358963590635916359263593635946359563596635976359863599636006360163602636036360463605636066360763608636096361063611636126361363614636156361663617636186361963620636216362263623636246362563626636276362863629636306363163632636336363463635636366363763638636396364063641636426364363644636456364663647636486364963650636516365263653636546365563656636576365863659636606366163662636636366463665636666366763668636696367063671636726367363674636756367663677636786367963680636816368263683636846368563686636876368863689636906369163692636936369463695636966369763698636996370063701637026370363704637056370663707637086370963710637116371263713637146371563716637176371863719637206372163722637236372463725637266372763728637296373063731637326373363734637356373663737637386373963740637416374263743637446374563746637476374863749637506375163752637536375463755637566375763758637596376063761637626376363764637656376663767637686376963770637716377263773637746377563776637776377863779637806378163782637836378463785637866378763788637896379063791637926379363794637956379663797637986379963800638016380263803638046380563806638076380863809638106381163812638136381463815638166381763818638196382063821638226382363824638256382663827638286382963830638316383263833638346383563836638376383863839638406384163842638436384463845638466384763848638496385063851638526385363854638556385663857638586385963860638616386263863638646386563866638676386863869638706387163872638736387463875638766387763878638796388063881638826388363884638856388663887638886388963890638916389263893638946389563896638976389863899639006390163902639036390463905639066390763908639096391063911639126391363914639156391663917639186391963920639216392263923639246392563926639276392863929639306393163932639336393463935639366393763938639396394063941639426394363944639456394663947639486394963950639516395263953639546395563956639576395863959639606396163962639636396463965639666396763968639696397063971639726397363974639756397663977639786397963980639816398263983639846398563986639876398863989639906399163992639936399463995639966399763998639996400064001640026400364004640056400664007640086400964010640116401264013640146401564016640176401864019640206402164022640236402464025640266402764028640296403064031640326403364034640356403664037640386403964040640416404264043640446404564046640476404864049640506405164052640536405464055640566405764058640596406064061640626406364064640656406664067640686406964070640716407264073640746407564076640776407864079640806408164082640836408464085640866408764088640896409064091640926409364094640956409664097640986409964100641016410264103641046410564106641076410864109641106411164112641136411464115641166411764118641196412064121641226412364124641256412664127641286412964130641316413264133641346413564136641376413864139641406414164142641436414464145641466414764148641496415064151641526415364154641556415664157641586415964160641616416264163641646416564166641676416864169641706417164172641736417464175641766417764178641796418064181641826418364184641856418664187641886418964190641916419264193641946419564196641976419864199642006420164202642036420464205642066420764208642096421064211642126421364214642156421664217642186421964220642216422264223642246422564226642276422864229642306423164232642336423464235642366423764238642396424064241642426424364244642456424664247642486424964250642516425264253642546425564256642576425864259642606426164262642636426464265642666426764268642696427064271642726427364274642756427664277642786427964280642816428264283642846428564286642876428864289642906429164292642936429464295642966429764298642996430064301643026430364304643056430664307643086430964310643116431264313643146431564316643176431864319643206432164322643236432464325643266432764328643296433064331643326433364334643356433664337643386433964340643416434264343643446434564346643476434864349643506435164352643536435464355643566435764358643596436064361643626436364364643656436664367643686436964370643716437264373643746437564376643776437864379643806438164382643836438464385643866438764388643896439064391643926439364394643956439664397643986439964400644016440264403644046440564406644076440864409644106441164412644136441464415644166441764418644196442064421644226442364424644256442664427644286442964430644316443264433644346443564436644376443864439644406444164442644436444464445644466444764448644496445064451644526445364454644556445664457644586445964460644616446264463644646446564466644676446864469644706447164472644736447464475644766447764478644796448064481644826448364484644856448664487644886448964490644916449264493644946449564496644976449864499645006450164502645036450464505645066450764508645096451064511645126451364514645156451664517645186451964520645216452264523645246452564526645276452864529645306453164532645336453464535645366453764538645396454064541645426454364544645456454664547645486454964550645516455264553645546455564556645576455864559645606456164562645636456464565645666456764568645696457064571645726457364574645756457664577645786457964580645816458264583645846458564586645876458864589645906459164592645936459464595645966459764598645996460064601646026460364604646056460664607646086460964610646116461264613646146461564616646176461864619646206462164622646236462464625646266462764628646296463064631646326463364634646356463664637646386463964640646416464264643646446464564646646476464864649646506465164652646536465464655646566465764658646596466064661646626466364664646656466664667646686466964670646716467264673646746467564676646776467864679646806468164682646836468464685646866468764688646896469064691646926469364694646956469664697646986469964700647016470264703647046470564706647076470864709647106471164712647136471464715647166471764718647196472064721647226472364724647256472664727647286472964730647316473264733647346473564736647376473864739647406474164742647436474464745647466474764748647496475064751647526475364754647556475664757647586475964760647616476264763647646476564766647676476864769647706477164772647736477464775647766477764778647796478064781647826478364784647856478664787647886478964790647916479264793647946479564796647976479864799648006480164802648036480464805648066480764808648096481064811648126481364814648156481664817648186481964820648216482264823648246482564826648276482864829648306483164832648336483464835648366483764838648396484064841648426484364844648456484664847648486484964850648516485264853648546485564856648576485864859648606486164862648636486464865648666486764868648696487064871648726487364874648756487664877648786487964880648816488264883648846488564886648876488864889648906489164892648936489464895648966489764898648996490064901649026490364904649056490664907649086490964910649116491264913649146491564916649176491864919649206492164922649236492464925649266492764928649296493064931649326493364934649356493664937649386493964940649416494264943649446494564946649476494864949649506495164952649536495464955649566495764958649596496064961649626496364964649656496664967649686496964970649716497264973649746497564976649776497864979649806498164982649836498464985649866498764988649896499064991649926499364994649956499664997649986499965000650016500265003650046500565006650076500865009650106501165012650136501465015650166501765018650196502065021650226502365024650256502665027650286502965030650316503265033650346503565036650376503865039650406504165042650436504465045650466504765048650496505065051650526505365054650556505665057650586505965060650616506265063650646506565066650676506865069650706507165072650736507465075650766507765078650796508065081650826508365084650856508665087650886508965090650916509265093650946509565096650976509865099651006510165102651036510465105651066510765108651096511065111651126511365114651156511665117651186511965120651216512265123651246512565126651276512865129651306513165132651336513465135651366513765138651396514065141651426514365144651456514665147651486514965150651516515265153651546515565156651576515865159651606516165162651636516465165651666516765168651696517065171651726517365174651756517665177651786517965180651816518265183651846518565186651876518865189651906519165192651936519465195651966519765198651996520065201652026520365204652056520665207652086520965210652116521265213652146521565216652176521865219652206522165222652236522465225652266522765228652296523065231652326523365234652356523665237652386523965240652416524265243652446524565246652476524865249652506525165252652536525465255652566525765258652596526065261652626526365264652656526665267652686526965270652716527265273652746527565276652776527865279652806528165282652836528465285652866528765288652896529065291652926529365294652956529665297652986529965300653016530265303653046530565306653076530865309653106531165312653136531465315653166531765318653196532065321653226532365324653256532665327653286532965330653316533265333653346533565336653376533865339653406534165342653436534465345653466534765348653496535065351653526535365354653556535665357653586535965360653616536265363653646536565366653676536865369653706537165372653736537465375653766537765378653796538065381653826538365384653856538665387653886538965390653916539265393653946539565396653976539865399654006540165402654036540465405654066540765408654096541065411654126541365414654156541665417654186541965420654216542265423654246542565426654276542865429654306543165432654336543465435654366543765438654396544065441654426544365444654456544665447654486544965450654516545265453654546545565456654576545865459654606546165462654636546465465654666546765468654696547065471654726547365474654756547665477654786547965480654816548265483654846548565486654876548865489654906549165492654936549465495654966549765498654996550065501655026550365504655056550665507655086550965510655116551265513655146551565516655176551865519655206552165522655236552465525655266552765528655296553065531655326553365534655356553665537655386553965540655416554265543655446554565546655476554865549655506555165552655536555465555655566555765558655596556065561655626556365564655656556665567655686556965570655716557265573655746557565576655776557865579655806558165582655836558465585655866558765588655896559065591655926559365594655956559665597655986559965600656016560265603656046560565606656076560865609656106561165612656136561465615656166561765618656196562065621656226562365624656256562665627656286562965630656316563265633656346563565636656376563865639656406564165642656436564465645656466564765648656496565065651656526565365654656556565665657656586565965660656616566265663656646566565666656676566865669656706567165672656736567465675656766567765678656796568065681656826568365684656856568665687656886568965690656916569265693656946569565696656976569865699657006570165702657036570465705657066570765708657096571065711657126571365714657156571665717657186571965720657216572265723657246572565726657276572865729657306573165732657336573465735657366573765738657396574065741657426574365744657456574665747657486574965750657516575265753657546575565756657576575865759657606576165762657636576465765657666576765768657696577065771657726577365774657756577665777657786577965780657816578265783657846578565786657876578865789657906579165792657936579465795657966579765798657996580065801658026580365804658056580665807658086580965810658116581265813658146581565816658176581865819658206582165822658236582465825658266582765828658296583065831658326583365834658356583665837658386583965840658416584265843658446584565846658476584865849658506585165852658536585465855658566585765858658596586065861658626586365864658656586665867658686586965870658716587265873658746587565876658776587865879658806588165882658836588465885658866588765888658896589065891658926589365894658956589665897658986589965900659016590265903659046590565906659076590865909659106591165912659136591465915659166591765918659196592065921659226592365924659256592665927659286592965930659316593265933659346593565936659376593865939659406594165942659436594465945659466594765948659496595065951659526595365954659556595665957659586595965960659616596265963659646596565966659676596865969659706597165972659736597465975659766597765978659796598065981659826598365984659856598665987659886598965990659916599265993659946599565996659976599865999660006600166002660036600466005660066600766008660096601066011660126601366014660156601666017660186601966020660216602266023660246602566026660276602866029660306603166032660336603466035660366603766038660396604066041660426604366044660456604666047660486604966050660516605266053660546605566056660576605866059660606606166062660636606466065660666606766068660696607066071660726607366074660756607666077660786607966080660816608266083660846608566086660876608866089660906609166092660936609466095660966609766098660996610066101661026610366104661056610666107661086610966110661116611266113661146611566116661176611866119661206612166122661236612466125661266612766128661296613066131661326613366134661356613666137661386613966140661416614266143661446614566146661476614866149661506615166152661536615466155661566615766158661596616066161661626616366164661656616666167661686616966170661716617266173661746617566176661776617866179661806618166182661836618466185661866618766188661896619066191661926619366194661956619666197661986619966200662016620266203662046620566206662076620866209662106621166212662136621466215662166621766218662196622066221662226622366224662256622666227662286622966230662316623266233662346623566236662376623866239662406624166242662436624466245662466624766248662496625066251662526625366254662556625666257662586625966260662616626266263662646626566266662676626866269662706627166272662736627466275662766627766278662796628066281662826628366284662856628666287662886628966290662916629266293662946629566296662976629866299663006630166302663036630466305663066630766308663096631066311663126631366314663156631666317663186631966320663216632266323663246632566326663276632866329663306633166332663336633466335663366633766338663396634066341663426634366344663456634666347663486634966350663516635266353663546635566356663576635866359663606636166362663636636466365663666636766368663696637066371663726637366374663756637666377663786637966380663816638266383663846638566386663876638866389663906639166392663936639466395663966639766398663996640066401664026640366404664056640666407664086640966410664116641266413664146641566416664176641866419664206642166422664236642466425664266642766428664296643066431664326643366434664356643666437664386643966440664416644266443664446644566446664476644866449664506645166452664536645466455664566645766458664596646066461664626646366464664656646666467664686646966470664716647266473664746647566476664776647866479664806648166482664836648466485664866648766488664896649066491664926649366494664956649666497664986649966500665016650266503665046650566506665076650866509665106651166512665136651466515665166651766518665196652066521665226652366524665256652666527665286652966530665316653266533665346653566536665376653866539665406654166542665436654466545665466654766548665496655066551665526655366554665556655666557665586655966560665616656266563665646656566566665676656866569665706657166572665736657466575665766657766578665796658066581665826658366584665856658666587665886658966590665916659266593665946659566596665976659866599666006660166602666036660466605666066660766608666096661066611666126661366614666156661666617666186661966620666216662266623666246662566626666276662866629666306663166632666336663466635666366663766638666396664066641666426664366644666456664666647666486664966650666516665266653666546665566656666576665866659666606666166662666636666466665666666666766668666696667066671666726667366674666756667666677666786667966680666816668266683666846668566686666876668866689666906669166692666936669466695666966669766698666996670066701667026670366704667056670666707667086670966710667116671266713667146671566716667176671866719667206672166722667236672466725667266672766728667296673066731667326673366734667356673666737667386673966740667416674266743667446674566746667476674866749667506675166752667536675466755667566675766758667596676066761667626676366764667656676666767667686676966770667716677266773667746677566776667776677866779667806678166782667836678466785667866678766788667896679066791667926679366794667956679666797667986679966800668016680266803668046680566806668076680866809668106681166812668136681466815668166681766818668196682066821668226682366824668256682666827668286682966830668316683266833668346683566836668376683866839668406684166842668436684466845668466684766848668496685066851668526685366854668556685666857668586685966860668616686266863668646686566866668676686866869668706687166872668736687466875668766687766878668796688066881668826688366884668856688666887668886688966890668916689266893668946689566896668976689866899669006690166902669036690466905669066690766908669096691066911669126691366914669156691666917669186691966920669216692266923669246692566926669276692866929669306693166932669336693466935669366693766938669396694066941669426694366944669456694666947669486694966950669516695266953669546695566956669576695866959669606696166962669636696466965669666696766968669696697066971669726697366974669756697666977669786697966980669816698266983669846698566986669876698866989669906699166992669936699466995669966699766998669996700067001670026700367004670056700667007670086700967010670116701267013670146701567016670176701867019670206702167022670236702467025670266702767028670296703067031670326703367034670356703667037670386703967040670416704267043670446704567046670476704867049670506705167052670536705467055670566705767058670596706067061670626706367064670656706667067670686706967070670716707267073670746707567076670776707867079670806708167082670836708467085670866708767088670896709067091670926709367094670956709667097670986709967100671016710267103671046710567106671076710867109671106711167112671136711467115671166711767118671196712067121671226712367124671256712667127671286712967130671316713267133671346713567136671376713867139671406714167142671436714467145671466714767148671496715067151671526715367154671556715667157671586715967160671616716267163671646716567166671676716867169671706717167172671736717467175671766717767178671796718067181671826718367184671856718667187671886718967190671916719267193671946719567196671976719867199672006720167202672036720467205672066720767208672096721067211672126721367214672156721667217672186721967220672216722267223672246722567226672276722867229672306723167232672336723467235672366723767238672396724067241672426724367244672456724667247672486724967250672516725267253672546725567256672576725867259672606726167262672636726467265672666726767268672696727067271672726727367274672756727667277672786727967280672816728267283672846728567286672876728867289672906729167292672936729467295672966729767298672996730067301673026730367304673056730667307673086730967310673116731267313673146731567316673176731867319673206732167322673236732467325673266732767328673296733067331673326733367334673356733667337673386733967340673416734267343673446734567346673476734867349673506735167352673536735467355673566735767358673596736067361673626736367364673656736667367673686736967370673716737267373673746737567376673776737867379673806738167382673836738467385673866738767388673896739067391673926739367394673956739667397673986739967400674016740267403674046740567406674076740867409674106741167412674136741467415674166741767418674196742067421674226742367424674256742667427674286742967430674316743267433674346743567436674376743867439674406744167442674436744467445674466744767448674496745067451674526745367454674556745667457674586745967460674616746267463674646746567466674676746867469674706747167472674736747467475674766747767478674796748067481674826748367484674856748667487674886748967490674916749267493674946749567496674976749867499675006750167502675036750467505675066750767508675096751067511675126751367514675156751667517675186751967520675216752267523675246752567526675276752867529675306753167532675336753467535675366753767538675396754067541675426754367544675456754667547675486754967550675516755267553675546755567556675576755867559675606756167562675636756467565675666756767568675696757067571675726757367574675756757667577675786757967580675816758267583675846758567586675876758867589675906759167592675936759467595675966759767598675996760067601676026760367604676056760667607676086760967610676116761267613676146761567616676176761867619676206762167622676236762467625676266762767628676296763067631676326763367634676356763667637676386763967640676416764267643676446764567646676476764867649676506765167652676536765467655676566765767658676596766067661676626766367664676656766667667676686766967670676716767267673676746767567676676776767867679676806768167682676836768467685676866768767688676896769067691676926769367694676956769667697676986769967700677016770267703677046770567706677076770867709677106771167712677136771467715677166771767718677196772067721677226772367724677256772667727677286772967730677316773267733677346773567736677376773867739677406774167742677436774467745677466774767748677496775067751677526775367754677556775667757677586775967760677616776267763677646776567766677676776867769677706777167772677736777467775677766777767778677796778067781677826778367784677856778667787677886778967790677916779267793677946779567796677976779867799678006780167802678036780467805678066780767808678096781067811678126781367814678156781667817678186781967820678216782267823678246782567826678276782867829678306783167832678336783467835678366783767838678396784067841678426784367844678456784667847678486784967850678516785267853678546785567856678576785867859678606786167862678636786467865678666786767868678696787067871678726787367874678756787667877678786787967880678816788267883678846788567886678876788867889678906789167892678936789467895678966789767898678996790067901679026790367904679056790667907679086790967910679116791267913679146791567916679176791867919679206792167922679236792467925679266792767928679296793067931679326793367934679356793667937679386793967940679416794267943679446794567946679476794867949679506795167952679536795467955679566795767958679596796067961679626796367964679656796667967679686796967970679716797267973679746797567976679776797867979679806798167982679836798467985679866798767988679896799067991679926799367994679956799667997679986799968000680016800268003680046800568006680076800868009680106801168012680136801468015680166801768018680196802068021680226802368024680256802668027680286802968030680316803268033680346803568036680376803868039680406804168042680436804468045680466804768048680496805068051680526805368054680556805668057680586805968060680616806268063680646806568066680676806868069680706807168072680736807468075680766807768078680796808068081680826808368084680856808668087680886808968090680916809268093680946809568096680976809868099681006810168102681036810468105681066810768108681096811068111681126811368114681156811668117681186811968120681216812268123681246812568126681276812868129681306813168132681336813468135681366813768138681396814068141681426814368144681456814668147681486814968150681516815268153681546815568156681576815868159681606816168162681636816468165681666816768168681696817068171681726817368174681756817668177681786817968180681816818268183681846818568186681876818868189681906819168192681936819468195681966819768198681996820068201682026820368204682056820668207682086820968210682116821268213682146821568216682176821868219682206822168222682236822468225682266822768228682296823068231682326823368234682356823668237682386823968240682416824268243682446824568246682476824868249682506825168252682536825468255682566825768258682596826068261682626826368264682656826668267682686826968270682716827268273682746827568276682776827868279682806828168282682836828468285682866828768288682896829068291682926829368294682956829668297682986829968300683016830268303683046830568306683076830868309683106831168312683136831468315683166831768318683196832068321683226832368324683256832668327683286832968330683316833268333683346833568336683376833868339683406834168342683436834468345683466834768348683496835068351683526835368354683556835668357683586835968360683616836268363683646836568366683676836868369683706837168372683736837468375683766837768378683796838068381683826838368384683856838668387683886838968390683916839268393683946839568396683976839868399684006840168402684036840468405684066840768408684096841068411684126841368414684156841668417684186841968420684216842268423684246842568426684276842868429684306843168432684336843468435684366843768438684396844068441684426844368444684456844668447684486844968450684516845268453684546845568456684576845868459684606846168462684636846468465684666846768468684696847068471684726847368474684756847668477684786847968480684816848268483684846848568486684876848868489684906849168492684936849468495684966849768498684996850068501685026850368504685056850668507685086850968510685116851268513685146851568516685176851868519685206852168522685236852468525685266852768528685296853068531685326853368534685356853668537685386853968540685416854268543685446854568546685476854868549685506855168552685536855468555685566855768558685596856068561685626856368564685656856668567685686856968570685716857268573685746857568576685776857868579685806858168582685836858468585685866858768588685896859068591685926859368594685956859668597685986859968600686016860268603686046860568606686076860868609686106861168612686136861468615686166861768618686196862068621686226862368624686256862668627686286862968630686316863268633686346863568636686376863868639686406864168642686436864468645686466864768648686496865068651686526865368654686556865668657686586865968660686616866268663686646866568666686676866868669686706867168672686736867468675686766867768678686796868068681686826868368684686856868668687686886868968690686916869268693686946869568696686976869868699687006870168702687036870468705687066870768708687096871068711687126871368714687156871668717687186871968720687216872268723687246872568726687276872868729687306873168732687336873468735687366873768738687396874068741687426874368744687456874668747687486874968750687516875268753687546875568756687576875868759687606876168762687636876468765687666876768768687696877068771687726877368774687756877668777687786877968780687816878268783687846878568786687876878868789687906879168792687936879468795687966879768798687996880068801688026880368804688056880668807688086880968810688116881268813688146881568816688176881868819688206882168822688236882468825688266882768828688296883068831688326883368834688356883668837688386883968840688416884268843688446884568846688476884868849688506885168852688536885468855688566885768858688596886068861688626886368864688656886668867688686886968870688716887268873688746887568876688776887868879688806888168882688836888468885688866888768888688896889068891688926889368894688956889668897688986889968900689016890268903689046890568906689076890868909689106891168912689136891468915689166891768918689196892068921689226892368924689256892668927689286892968930689316893268933689346893568936689376893868939689406894168942689436894468945689466894768948689496895068951689526895368954689556895668957689586895968960689616896268963689646896568966689676896868969689706897168972689736897468975689766897768978689796898068981689826898368984689856898668987689886898968990689916899268993689946899568996689976899868999690006900169002690036900469005690066900769008690096901069011690126901369014690156901669017690186901969020690216902269023690246902569026690276902869029690306903169032690336903469035690366903769038690396904069041690426904369044690456904669047690486904969050690516905269053690546905569056690576905869059690606906169062690636906469065690666906769068690696907069071690726907369074690756907669077690786907969080690816908269083690846908569086690876908869089690906909169092690936909469095690966909769098690996910069101691026910369104691056910669107691086910969110691116911269113691146911569116691176911869119691206912169122691236912469125691266912769128691296913069131691326913369134691356913669137691386913969140691416914269143691446914569146691476914869149691506915169152691536915469155691566915769158691596916069161691626916369164691656916669167691686916969170691716917269173691746917569176691776917869179691806918169182691836918469185691866918769188691896919069191691926919369194691956919669197691986919969200692016920269203692046920569206692076920869209692106921169212692136921469215692166921769218692196922069221692226922369224692256922669227692286922969230692316923269233692346923569236692376923869239692406924169242692436924469245692466924769248692496925069251692526925369254692556925669257692586925969260692616926269263692646926569266692676926869269692706927169272692736927469275692766927769278692796928069281692826928369284692856928669287692886928969290692916929269293692946929569296692976929869299693006930169302693036930469305693066930769308693096931069311693126931369314693156931669317693186931969320693216932269323693246932569326693276932869329693306933169332693336933469335693366933769338693396934069341693426934369344693456934669347693486934969350693516935269353693546935569356693576935869359693606936169362693636936469365693666936769368693696937069371693726937369374693756937669377693786937969380693816938269383693846938569386693876938869389693906939169392693936939469395693966939769398693996940069401694026940369404694056940669407694086940969410694116941269413694146941569416694176941869419694206942169422694236942469425694266942769428694296943069431694326943369434694356943669437694386943969440694416944269443694446944569446694476944869449694506945169452694536945469455694566945769458694596946069461694626946369464694656946669467694686946969470694716947269473694746947569476694776947869479694806948169482694836948469485694866948769488694896949069491694926949369494694956949669497694986949969500695016950269503695046950569506695076950869509695106951169512695136951469515695166951769518695196952069521695226952369524695256952669527695286952969530695316953269533695346953569536695376953869539695406954169542695436954469545695466954769548695496955069551695526955369554695556955669557695586955969560695616956269563695646956569566695676956869569695706957169572695736957469575695766957769578695796958069581695826958369584695856958669587695886958969590695916959269593695946959569596695976959869599696006960169602696036960469605696066960769608696096961069611696126961369614696156961669617696186961969620696216962269623696246962569626696276962869629696306963169632696336963469635696366963769638696396964069641696426964369644696456964669647696486964969650696516965269653696546965569656696576965869659696606966169662696636966469665696666966769668696696967069671696726967369674696756967669677696786967969680696816968269683696846968569686696876968869689696906969169692696936969469695696966969769698696996970069701697026970369704697056970669707697086970969710697116971269713697146971569716697176971869719
  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 complets
  16. // successfuly.
  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 opAcceptVpcEndpointConnections = "AcceptVpcEndpointConnections"
  82. // AcceptVpcEndpointConnectionsRequest generates a "aws/request.Request" representing the
  83. // client's request for the AcceptVpcEndpointConnections operation. The "output" return
  84. // value will be populated with the request's response once the request complets
  85. // successfuly.
  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 AcceptVpcEndpointConnections for more information on using the AcceptVpcEndpointConnections
  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 AcceptVpcEndpointConnectionsRequest method.
  98. // req, resp := client.AcceptVpcEndpointConnectionsRequest(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/AcceptVpcEndpointConnections
  106. func (c *EC2) AcceptVpcEndpointConnectionsRequest(input *AcceptVpcEndpointConnectionsInput) (req *request.Request, output *AcceptVpcEndpointConnectionsOutput) {
  107. op := &request.Operation{
  108. Name: opAcceptVpcEndpointConnections,
  109. HTTPMethod: "POST",
  110. HTTPPath: "/",
  111. }
  112. if input == nil {
  113. input = &AcceptVpcEndpointConnectionsInput{}
  114. }
  115. output = &AcceptVpcEndpointConnectionsOutput{}
  116. req = c.newRequest(op, input, output)
  117. return
  118. }
  119. // AcceptVpcEndpointConnections API operation for Amazon Elastic Compute Cloud.
  120. //
  121. // Accepts one or more interface VPC endpoint connection requests to your VPC
  122. // endpoint service.
  123. //
  124. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  125. // with awserr.Error's Code and Message methods to get detailed information about
  126. // the error.
  127. //
  128. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  129. // API operation AcceptVpcEndpointConnections for usage and error information.
  130. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcEndpointConnections
  131. func (c *EC2) AcceptVpcEndpointConnections(input *AcceptVpcEndpointConnectionsInput) (*AcceptVpcEndpointConnectionsOutput, error) {
  132. req, out := c.AcceptVpcEndpointConnectionsRequest(input)
  133. return out, req.Send()
  134. }
  135. // AcceptVpcEndpointConnectionsWithContext is the same as AcceptVpcEndpointConnections with the addition of
  136. // the ability to pass a context and additional request options.
  137. //
  138. // See AcceptVpcEndpointConnections for details on how to use this API operation.
  139. //
  140. // The context must be non-nil and will be used for request cancellation. If
  141. // the context is nil a panic will occur. In the future the SDK may create
  142. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  143. // for more information on using Contexts.
  144. func (c *EC2) AcceptVpcEndpointConnectionsWithContext(ctx aws.Context, input *AcceptVpcEndpointConnectionsInput, opts ...request.Option) (*AcceptVpcEndpointConnectionsOutput, error) {
  145. req, out := c.AcceptVpcEndpointConnectionsRequest(input)
  146. req.SetContext(ctx)
  147. req.ApplyOptions(opts...)
  148. return out, req.Send()
  149. }
  150. const opAcceptVpcPeeringConnection = "AcceptVpcPeeringConnection"
  151. // AcceptVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
  152. // client's request for the AcceptVpcPeeringConnection operation. The "output" return
  153. // value will be populated with the request's response once the request complets
  154. // successfuly.
  155. //
  156. // Use "Send" method on the returned Request to send the API call to the service.
  157. // the "output" return value is not valid until after Send returns without error.
  158. //
  159. // See AcceptVpcPeeringConnection for more information on using the AcceptVpcPeeringConnection
  160. // API call, and error handling.
  161. //
  162. // This method is useful when you want to inject custom logic or configuration
  163. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  164. //
  165. //
  166. // // Example sending a request using the AcceptVpcPeeringConnectionRequest method.
  167. // req, resp := client.AcceptVpcPeeringConnectionRequest(params)
  168. //
  169. // err := req.Send()
  170. // if err == nil { // resp is now filled
  171. // fmt.Println(resp)
  172. // }
  173. //
  174. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcPeeringConnection
  175. func (c *EC2) AcceptVpcPeeringConnectionRequest(input *AcceptVpcPeeringConnectionInput) (req *request.Request, output *AcceptVpcPeeringConnectionOutput) {
  176. op := &request.Operation{
  177. Name: opAcceptVpcPeeringConnection,
  178. HTTPMethod: "POST",
  179. HTTPPath: "/",
  180. }
  181. if input == nil {
  182. input = &AcceptVpcPeeringConnectionInput{}
  183. }
  184. output = &AcceptVpcPeeringConnectionOutput{}
  185. req = c.newRequest(op, input, output)
  186. return
  187. }
  188. // AcceptVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
  189. //
  190. // Accept a VPC peering connection request. To accept a request, the VPC peering
  191. // connection must be in the pending-acceptance state, and you must be the owner
  192. // of the peer VPC. Use DescribeVpcPeeringConnections to view your outstanding
  193. // VPC peering connection requests.
  194. //
  195. // For an inter-region VPC peering connection request, you must accept the VPC
  196. // peering connection in the region of the accepter VPC.
  197. //
  198. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  199. // with awserr.Error's Code and Message methods to get detailed information about
  200. // the error.
  201. //
  202. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  203. // API operation AcceptVpcPeeringConnection for usage and error information.
  204. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcPeeringConnection
  205. func (c *EC2) AcceptVpcPeeringConnection(input *AcceptVpcPeeringConnectionInput) (*AcceptVpcPeeringConnectionOutput, error) {
  206. req, out := c.AcceptVpcPeeringConnectionRequest(input)
  207. return out, req.Send()
  208. }
  209. // AcceptVpcPeeringConnectionWithContext is the same as AcceptVpcPeeringConnection with the addition of
  210. // the ability to pass a context and additional request options.
  211. //
  212. // See AcceptVpcPeeringConnection for details on how to use this API operation.
  213. //
  214. // The context must be non-nil and will be used for request cancellation. If
  215. // the context is nil a panic will occur. In the future the SDK may create
  216. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  217. // for more information on using Contexts.
  218. func (c *EC2) AcceptVpcPeeringConnectionWithContext(ctx aws.Context, input *AcceptVpcPeeringConnectionInput, opts ...request.Option) (*AcceptVpcPeeringConnectionOutput, error) {
  219. req, out := c.AcceptVpcPeeringConnectionRequest(input)
  220. req.SetContext(ctx)
  221. req.ApplyOptions(opts...)
  222. return out, req.Send()
  223. }
  224. const opAllocateAddress = "AllocateAddress"
  225. // AllocateAddressRequest generates a "aws/request.Request" representing the
  226. // client's request for the AllocateAddress operation. The "output" return
  227. // value will be populated with the request's response once the request complets
  228. // successfuly.
  229. //
  230. // Use "Send" method on the returned Request to send the API call to the service.
  231. // the "output" return value is not valid until after Send returns without error.
  232. //
  233. // See AllocateAddress for more information on using the AllocateAddress
  234. // API call, and error handling.
  235. //
  236. // This method is useful when you want to inject custom logic or configuration
  237. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  238. //
  239. //
  240. // // Example sending a request using the AllocateAddressRequest method.
  241. // req, resp := client.AllocateAddressRequest(params)
  242. //
  243. // err := req.Send()
  244. // if err == nil { // resp is now filled
  245. // fmt.Println(resp)
  246. // }
  247. //
  248. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateAddress
  249. func (c *EC2) AllocateAddressRequest(input *AllocateAddressInput) (req *request.Request, output *AllocateAddressOutput) {
  250. op := &request.Operation{
  251. Name: opAllocateAddress,
  252. HTTPMethod: "POST",
  253. HTTPPath: "/",
  254. }
  255. if input == nil {
  256. input = &AllocateAddressInput{}
  257. }
  258. output = &AllocateAddressOutput{}
  259. req = c.newRequest(op, input, output)
  260. return
  261. }
  262. // AllocateAddress API operation for Amazon Elastic Compute Cloud.
  263. //
  264. // Allocates an Elastic IP address.
  265. //
  266. // An Elastic IP address is for use either in the EC2-Classic platform or in
  267. // a VPC. By default, you can allocate 5 Elastic IP addresses for EC2-Classic
  268. // per region and 5 Elastic IP addresses for EC2-VPC per region.
  269. //
  270. // If you release an Elastic IP address for use in a VPC, you might be able
  271. // to recover it. To recover an Elastic IP address that you released, specify
  272. // it in the Address parameter. Note that you cannot recover an Elastic IP address
  273. // that you released after it is allocated to another AWS account.
  274. //
  275. // For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  276. // in the Amazon Elastic Compute Cloud User Guide.
  277. //
  278. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  279. // with awserr.Error's Code and Message methods to get detailed information about
  280. // the error.
  281. //
  282. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  283. // API operation AllocateAddress for usage and error information.
  284. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateAddress
  285. func (c *EC2) AllocateAddress(input *AllocateAddressInput) (*AllocateAddressOutput, error) {
  286. req, out := c.AllocateAddressRequest(input)
  287. return out, req.Send()
  288. }
  289. // AllocateAddressWithContext is the same as AllocateAddress with the addition of
  290. // the ability to pass a context and additional request options.
  291. //
  292. // See AllocateAddress for details on how to use this API operation.
  293. //
  294. // The context must be non-nil and will be used for request cancellation. If
  295. // the context is nil a panic will occur. In the future the SDK may create
  296. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  297. // for more information on using Contexts.
  298. func (c *EC2) AllocateAddressWithContext(ctx aws.Context, input *AllocateAddressInput, opts ...request.Option) (*AllocateAddressOutput, error) {
  299. req, out := c.AllocateAddressRequest(input)
  300. req.SetContext(ctx)
  301. req.ApplyOptions(opts...)
  302. return out, req.Send()
  303. }
  304. const opAllocateHosts = "AllocateHosts"
  305. // AllocateHostsRequest generates a "aws/request.Request" representing the
  306. // client's request for the AllocateHosts operation. The "output" return
  307. // value will be populated with the request's response once the request complets
  308. // successfuly.
  309. //
  310. // Use "Send" method on the returned Request to send the API call to the service.
  311. // the "output" return value is not valid until after Send returns without error.
  312. //
  313. // See AllocateHosts for more information on using the AllocateHosts
  314. // API call, and error handling.
  315. //
  316. // This method is useful when you want to inject custom logic or configuration
  317. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  318. //
  319. //
  320. // // Example sending a request using the AllocateHostsRequest method.
  321. // req, resp := client.AllocateHostsRequest(params)
  322. //
  323. // err := req.Send()
  324. // if err == nil { // resp is now filled
  325. // fmt.Println(resp)
  326. // }
  327. //
  328. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateHosts
  329. func (c *EC2) AllocateHostsRequest(input *AllocateHostsInput) (req *request.Request, output *AllocateHostsOutput) {
  330. op := &request.Operation{
  331. Name: opAllocateHosts,
  332. HTTPMethod: "POST",
  333. HTTPPath: "/",
  334. }
  335. if input == nil {
  336. input = &AllocateHostsInput{}
  337. }
  338. output = &AllocateHostsOutput{}
  339. req = c.newRequest(op, input, output)
  340. return
  341. }
  342. // AllocateHosts API operation for Amazon Elastic Compute Cloud.
  343. //
  344. // Allocates a Dedicated Host to your account. At minimum you need to specify
  345. // the instance size type, Availability Zone, and quantity of hosts you want
  346. // to allocate.
  347. //
  348. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  349. // with awserr.Error's Code and Message methods to get detailed information about
  350. // the error.
  351. //
  352. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  353. // API operation AllocateHosts for usage and error information.
  354. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateHosts
  355. func (c *EC2) AllocateHosts(input *AllocateHostsInput) (*AllocateHostsOutput, error) {
  356. req, out := c.AllocateHostsRequest(input)
  357. return out, req.Send()
  358. }
  359. // AllocateHostsWithContext is the same as AllocateHosts with the addition of
  360. // the ability to pass a context and additional request options.
  361. //
  362. // See AllocateHosts for details on how to use this API operation.
  363. //
  364. // The context must be non-nil and will be used for request cancellation. If
  365. // the context is nil a panic will occur. In the future the SDK may create
  366. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  367. // for more information on using Contexts.
  368. func (c *EC2) AllocateHostsWithContext(ctx aws.Context, input *AllocateHostsInput, opts ...request.Option) (*AllocateHostsOutput, error) {
  369. req, out := c.AllocateHostsRequest(input)
  370. req.SetContext(ctx)
  371. req.ApplyOptions(opts...)
  372. return out, req.Send()
  373. }
  374. const opAssignIpv6Addresses = "AssignIpv6Addresses"
  375. // AssignIpv6AddressesRequest generates a "aws/request.Request" representing the
  376. // client's request for the AssignIpv6Addresses operation. The "output" return
  377. // value will be populated with the request's response once the request complets
  378. // successfuly.
  379. //
  380. // Use "Send" method on the returned Request to send the API call to the service.
  381. // the "output" return value is not valid until after Send returns without error.
  382. //
  383. // See AssignIpv6Addresses for more information on using the AssignIpv6Addresses
  384. // API call, and error handling.
  385. //
  386. // This method is useful when you want to inject custom logic or configuration
  387. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  388. //
  389. //
  390. // // Example sending a request using the AssignIpv6AddressesRequest method.
  391. // req, resp := client.AssignIpv6AddressesRequest(params)
  392. //
  393. // err := req.Send()
  394. // if err == nil { // resp is now filled
  395. // fmt.Println(resp)
  396. // }
  397. //
  398. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignIpv6Addresses
  399. func (c *EC2) AssignIpv6AddressesRequest(input *AssignIpv6AddressesInput) (req *request.Request, output *AssignIpv6AddressesOutput) {
  400. op := &request.Operation{
  401. Name: opAssignIpv6Addresses,
  402. HTTPMethod: "POST",
  403. HTTPPath: "/",
  404. }
  405. if input == nil {
  406. input = &AssignIpv6AddressesInput{}
  407. }
  408. output = &AssignIpv6AddressesOutput{}
  409. req = c.newRequest(op, input, output)
  410. return
  411. }
  412. // AssignIpv6Addresses API operation for Amazon Elastic Compute Cloud.
  413. //
  414. // Assigns one or more IPv6 addresses to the specified network interface. You
  415. // can specify one or more specific IPv6 addresses, or you can specify the number
  416. // of IPv6 addresses to be automatically assigned from within the subnet's IPv6
  417. // CIDR block range. You can assign as many IPv6 addresses to a network interface
  418. // as you can assign private IPv4 addresses, and the limit varies per instance
  419. // type. For information, see IP Addresses Per Network Interface Per Instance
  420. // Type (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI)
  421. // in the Amazon Elastic Compute Cloud User Guide.
  422. //
  423. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  424. // with awserr.Error's Code and Message methods to get detailed information about
  425. // the error.
  426. //
  427. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  428. // API operation AssignIpv6Addresses for usage and error information.
  429. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignIpv6Addresses
  430. func (c *EC2) AssignIpv6Addresses(input *AssignIpv6AddressesInput) (*AssignIpv6AddressesOutput, error) {
  431. req, out := c.AssignIpv6AddressesRequest(input)
  432. return out, req.Send()
  433. }
  434. // AssignIpv6AddressesWithContext is the same as AssignIpv6Addresses with the addition of
  435. // the ability to pass a context and additional request options.
  436. //
  437. // See AssignIpv6Addresses for details on how to use this API operation.
  438. //
  439. // The context must be non-nil and will be used for request cancellation. If
  440. // the context is nil a panic will occur. In the future the SDK may create
  441. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  442. // for more information on using Contexts.
  443. func (c *EC2) AssignIpv6AddressesWithContext(ctx aws.Context, input *AssignIpv6AddressesInput, opts ...request.Option) (*AssignIpv6AddressesOutput, error) {
  444. req, out := c.AssignIpv6AddressesRequest(input)
  445. req.SetContext(ctx)
  446. req.ApplyOptions(opts...)
  447. return out, req.Send()
  448. }
  449. const opAssignPrivateIpAddresses = "AssignPrivateIpAddresses"
  450. // AssignPrivateIpAddressesRequest generates a "aws/request.Request" representing the
  451. // client's request for the AssignPrivateIpAddresses operation. The "output" return
  452. // value will be populated with the request's response once the request complets
  453. // successfuly.
  454. //
  455. // Use "Send" method on the returned Request to send the API call to the service.
  456. // the "output" return value is not valid until after Send returns without error.
  457. //
  458. // See AssignPrivateIpAddresses for more information on using the AssignPrivateIpAddresses
  459. // API call, and error handling.
  460. //
  461. // This method is useful when you want to inject custom logic or configuration
  462. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  463. //
  464. //
  465. // // Example sending a request using the AssignPrivateIpAddressesRequest method.
  466. // req, resp := client.AssignPrivateIpAddressesRequest(params)
  467. //
  468. // err := req.Send()
  469. // if err == nil { // resp is now filled
  470. // fmt.Println(resp)
  471. // }
  472. //
  473. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignPrivateIpAddresses
  474. func (c *EC2) AssignPrivateIpAddressesRequest(input *AssignPrivateIpAddressesInput) (req *request.Request, output *AssignPrivateIpAddressesOutput) {
  475. op := &request.Operation{
  476. Name: opAssignPrivateIpAddresses,
  477. HTTPMethod: "POST",
  478. HTTPPath: "/",
  479. }
  480. if input == nil {
  481. input = &AssignPrivateIpAddressesInput{}
  482. }
  483. output = &AssignPrivateIpAddressesOutput{}
  484. req = c.newRequest(op, input, output)
  485. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  486. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  487. return
  488. }
  489. // AssignPrivateIpAddresses API operation for Amazon Elastic Compute Cloud.
  490. //
  491. // Assigns one or more secondary private IP addresses to the specified network
  492. // interface. You can specify one or more specific secondary IP addresses, or
  493. // you can specify the number of secondary IP addresses to be automatically
  494. // assigned within the subnet's CIDR block range. The number of secondary IP
  495. // addresses that you can assign to an instance varies by instance type. For
  496. // information about instance types, see Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
  497. // in the Amazon Elastic Compute Cloud User Guide. For more information about
  498. // Elastic IP addresses, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  499. // in the Amazon Elastic Compute Cloud User Guide.
  500. //
  501. // AssignPrivateIpAddresses is available only in EC2-VPC.
  502. //
  503. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  504. // with awserr.Error's Code and Message methods to get detailed information about
  505. // the error.
  506. //
  507. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  508. // API operation AssignPrivateIpAddresses for usage and error information.
  509. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignPrivateIpAddresses
  510. func (c *EC2) AssignPrivateIpAddresses(input *AssignPrivateIpAddressesInput) (*AssignPrivateIpAddressesOutput, error) {
  511. req, out := c.AssignPrivateIpAddressesRequest(input)
  512. return out, req.Send()
  513. }
  514. // AssignPrivateIpAddressesWithContext is the same as AssignPrivateIpAddresses with the addition of
  515. // the ability to pass a context and additional request options.
  516. //
  517. // See AssignPrivateIpAddresses for details on how to use this API operation.
  518. //
  519. // The context must be non-nil and will be used for request cancellation. If
  520. // the context is nil a panic will occur. In the future the SDK may create
  521. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  522. // for more information on using Contexts.
  523. func (c *EC2) AssignPrivateIpAddressesWithContext(ctx aws.Context, input *AssignPrivateIpAddressesInput, opts ...request.Option) (*AssignPrivateIpAddressesOutput, error) {
  524. req, out := c.AssignPrivateIpAddressesRequest(input)
  525. req.SetContext(ctx)
  526. req.ApplyOptions(opts...)
  527. return out, req.Send()
  528. }
  529. const opAssociateAddress = "AssociateAddress"
  530. // AssociateAddressRequest generates a "aws/request.Request" representing the
  531. // client's request for the AssociateAddress operation. The "output" return
  532. // value will be populated with the request's response once the request complets
  533. // successfuly.
  534. //
  535. // Use "Send" method on the returned Request to send the API call to the service.
  536. // the "output" return value is not valid until after Send returns without error.
  537. //
  538. // See AssociateAddress for more information on using the AssociateAddress
  539. // API call, and error handling.
  540. //
  541. // This method is useful when you want to inject custom logic or configuration
  542. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  543. //
  544. //
  545. // // Example sending a request using the AssociateAddressRequest method.
  546. // req, resp := client.AssociateAddressRequest(params)
  547. //
  548. // err := req.Send()
  549. // if err == nil { // resp is now filled
  550. // fmt.Println(resp)
  551. // }
  552. //
  553. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateAddress
  554. func (c *EC2) AssociateAddressRequest(input *AssociateAddressInput) (req *request.Request, output *AssociateAddressOutput) {
  555. op := &request.Operation{
  556. Name: opAssociateAddress,
  557. HTTPMethod: "POST",
  558. HTTPPath: "/",
  559. }
  560. if input == nil {
  561. input = &AssociateAddressInput{}
  562. }
  563. output = &AssociateAddressOutput{}
  564. req = c.newRequest(op, input, output)
  565. return
  566. }
  567. // AssociateAddress API operation for Amazon Elastic Compute Cloud.
  568. //
  569. // Associates an Elastic IP address with an instance or a network interface.
  570. //
  571. // An Elastic IP address is for use in either the EC2-Classic platform or in
  572. // a VPC. For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  573. // in the Amazon Elastic Compute Cloud User Guide.
  574. //
  575. // [EC2-Classic, VPC in an EC2-VPC-only account] If the Elastic IP address is
  576. // already associated with a different instance, it is disassociated from that
  577. // instance and associated with the specified instance. If you associate an
  578. // Elastic IP address with an instance that has an existing Elastic IP address,
  579. // the existing address is disassociated from the instance, but remains allocated
  580. // to your account.
  581. //
  582. // [VPC in an EC2-Classic account] If you don't specify a private IP address,
  583. // the Elastic IP address is associated with the primary IP address. If the
  584. // Elastic IP address is already associated with a different instance or a network
  585. // interface, you get an error unless you allow reassociation. You cannot associate
  586. // an Elastic IP address with an instance or network interface that has an existing
  587. // Elastic IP address.
  588. //
  589. // This is an idempotent operation. If you perform the operation more than once,
  590. // Amazon EC2 doesn't return an error, and you may be charged for each time
  591. // the Elastic IP address is remapped to the same instance. For more information,
  592. // see the Elastic IP Addresses section of Amazon EC2 Pricing (http://aws.amazon.com/ec2/pricing/).
  593. //
  594. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  595. // with awserr.Error's Code and Message methods to get detailed information about
  596. // the error.
  597. //
  598. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  599. // API operation AssociateAddress for usage and error information.
  600. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateAddress
  601. func (c *EC2) AssociateAddress(input *AssociateAddressInput) (*AssociateAddressOutput, error) {
  602. req, out := c.AssociateAddressRequest(input)
  603. return out, req.Send()
  604. }
  605. // AssociateAddressWithContext is the same as AssociateAddress with the addition of
  606. // the ability to pass a context and additional request options.
  607. //
  608. // See AssociateAddress for details on how to use this API operation.
  609. //
  610. // The context must be non-nil and will be used for request cancellation. If
  611. // the context is nil a panic will occur. In the future the SDK may create
  612. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  613. // for more information on using Contexts.
  614. func (c *EC2) AssociateAddressWithContext(ctx aws.Context, input *AssociateAddressInput, opts ...request.Option) (*AssociateAddressOutput, error) {
  615. req, out := c.AssociateAddressRequest(input)
  616. req.SetContext(ctx)
  617. req.ApplyOptions(opts...)
  618. return out, req.Send()
  619. }
  620. const opAssociateDhcpOptions = "AssociateDhcpOptions"
  621. // AssociateDhcpOptionsRequest generates a "aws/request.Request" representing the
  622. // client's request for the AssociateDhcpOptions operation. The "output" return
  623. // value will be populated with the request's response once the request complets
  624. // successfuly.
  625. //
  626. // Use "Send" method on the returned Request to send the API call to the service.
  627. // the "output" return value is not valid until after Send returns without error.
  628. //
  629. // See AssociateDhcpOptions for more information on using the AssociateDhcpOptions
  630. // API call, and error handling.
  631. //
  632. // This method is useful when you want to inject custom logic or configuration
  633. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  634. //
  635. //
  636. // // Example sending a request using the AssociateDhcpOptionsRequest method.
  637. // req, resp := client.AssociateDhcpOptionsRequest(params)
  638. //
  639. // err := req.Send()
  640. // if err == nil { // resp is now filled
  641. // fmt.Println(resp)
  642. // }
  643. //
  644. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateDhcpOptions
  645. func (c *EC2) AssociateDhcpOptionsRequest(input *AssociateDhcpOptionsInput) (req *request.Request, output *AssociateDhcpOptionsOutput) {
  646. op := &request.Operation{
  647. Name: opAssociateDhcpOptions,
  648. HTTPMethod: "POST",
  649. HTTPPath: "/",
  650. }
  651. if input == nil {
  652. input = &AssociateDhcpOptionsInput{}
  653. }
  654. output = &AssociateDhcpOptionsOutput{}
  655. req = c.newRequest(op, input, output)
  656. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  657. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  658. return
  659. }
  660. // AssociateDhcpOptions API operation for Amazon Elastic Compute Cloud.
  661. //
  662. // Associates a set of DHCP options (that you've previously created) with the
  663. // specified VPC, or associates no DHCP options with the VPC.
  664. //
  665. // After you associate the options with the VPC, any existing instances and
  666. // all new instances that you launch in that VPC use the options. You don't
  667. // need to restart or relaunch the instances. They automatically pick up the
  668. // changes within a few hours, depending on how frequently the instance renews
  669. // its DHCP lease. You can explicitly renew the lease using the operating system
  670. // on the instance.
  671. //
  672. // For more information, see DHCP Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
  673. // in the Amazon Virtual Private Cloud User Guide.
  674. //
  675. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  676. // with awserr.Error's Code and Message methods to get detailed information about
  677. // the error.
  678. //
  679. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  680. // API operation AssociateDhcpOptions for usage and error information.
  681. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateDhcpOptions
  682. func (c *EC2) AssociateDhcpOptions(input *AssociateDhcpOptionsInput) (*AssociateDhcpOptionsOutput, error) {
  683. req, out := c.AssociateDhcpOptionsRequest(input)
  684. return out, req.Send()
  685. }
  686. // AssociateDhcpOptionsWithContext is the same as AssociateDhcpOptions with the addition of
  687. // the ability to pass a context and additional request options.
  688. //
  689. // See AssociateDhcpOptions for details on how to use this API operation.
  690. //
  691. // The context must be non-nil and will be used for request cancellation. If
  692. // the context is nil a panic will occur. In the future the SDK may create
  693. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  694. // for more information on using Contexts.
  695. func (c *EC2) AssociateDhcpOptionsWithContext(ctx aws.Context, input *AssociateDhcpOptionsInput, opts ...request.Option) (*AssociateDhcpOptionsOutput, error) {
  696. req, out := c.AssociateDhcpOptionsRequest(input)
  697. req.SetContext(ctx)
  698. req.ApplyOptions(opts...)
  699. return out, req.Send()
  700. }
  701. const opAssociateIamInstanceProfile = "AssociateIamInstanceProfile"
  702. // AssociateIamInstanceProfileRequest generates a "aws/request.Request" representing the
  703. // client's request for the AssociateIamInstanceProfile operation. The "output" return
  704. // value will be populated with the request's response once the request complets
  705. // successfuly.
  706. //
  707. // Use "Send" method on the returned Request to send the API call to the service.
  708. // the "output" return value is not valid until after Send returns without error.
  709. //
  710. // See AssociateIamInstanceProfile for more information on using the AssociateIamInstanceProfile
  711. // API call, and error handling.
  712. //
  713. // This method is useful when you want to inject custom logic or configuration
  714. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  715. //
  716. //
  717. // // Example sending a request using the AssociateIamInstanceProfileRequest method.
  718. // req, resp := client.AssociateIamInstanceProfileRequest(params)
  719. //
  720. // err := req.Send()
  721. // if err == nil { // resp is now filled
  722. // fmt.Println(resp)
  723. // }
  724. //
  725. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateIamInstanceProfile
  726. func (c *EC2) AssociateIamInstanceProfileRequest(input *AssociateIamInstanceProfileInput) (req *request.Request, output *AssociateIamInstanceProfileOutput) {
  727. op := &request.Operation{
  728. Name: opAssociateIamInstanceProfile,
  729. HTTPMethod: "POST",
  730. HTTPPath: "/",
  731. }
  732. if input == nil {
  733. input = &AssociateIamInstanceProfileInput{}
  734. }
  735. output = &AssociateIamInstanceProfileOutput{}
  736. req = c.newRequest(op, input, output)
  737. return
  738. }
  739. // AssociateIamInstanceProfile API operation for Amazon Elastic Compute Cloud.
  740. //
  741. // Associates an IAM instance profile with a running or stopped instance. You
  742. // cannot associate more than one IAM instance profile with an instance.
  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 AssociateIamInstanceProfile for usage and error information.
  750. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateIamInstanceProfile
  751. func (c *EC2) AssociateIamInstanceProfile(input *AssociateIamInstanceProfileInput) (*AssociateIamInstanceProfileOutput, error) {
  752. req, out := c.AssociateIamInstanceProfileRequest(input)
  753. return out, req.Send()
  754. }
  755. // AssociateIamInstanceProfileWithContext is the same as AssociateIamInstanceProfile with the addition of
  756. // the ability to pass a context and additional request options.
  757. //
  758. // See AssociateIamInstanceProfile 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) AssociateIamInstanceProfileWithContext(ctx aws.Context, input *AssociateIamInstanceProfileInput, opts ...request.Option) (*AssociateIamInstanceProfileOutput, error) {
  765. req, out := c.AssociateIamInstanceProfileRequest(input)
  766. req.SetContext(ctx)
  767. req.ApplyOptions(opts...)
  768. return out, req.Send()
  769. }
  770. const opAssociateRouteTable = "AssociateRouteTable"
  771. // AssociateRouteTableRequest generates a "aws/request.Request" representing the
  772. // client's request for the AssociateRouteTable operation. The "output" return
  773. // value will be populated with the request's response once the request complets
  774. // successfuly.
  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 AssociateRouteTable for more information on using the AssociateRouteTable
  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 AssociateRouteTableRequest method.
  787. // req, resp := client.AssociateRouteTableRequest(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/AssociateRouteTable
  795. func (c *EC2) AssociateRouteTableRequest(input *AssociateRouteTableInput) (req *request.Request, output *AssociateRouteTableOutput) {
  796. op := &request.Operation{
  797. Name: opAssociateRouteTable,
  798. HTTPMethod: "POST",
  799. HTTPPath: "/",
  800. }
  801. if input == nil {
  802. input = &AssociateRouteTableInput{}
  803. }
  804. output = &AssociateRouteTableOutput{}
  805. req = c.newRequest(op, input, output)
  806. return
  807. }
  808. // AssociateRouteTable API operation for Amazon Elastic Compute Cloud.
  809. //
  810. // Associates a subnet with a route table. The subnet and route table must be
  811. // in the same VPC. This association causes traffic originating from the subnet
  812. // to be routed according to the routes in the route table. The action returns
  813. // an association ID, which you need in order to disassociate the route table
  814. // from the subnet later. A route table can be associated with multiple subnets.
  815. //
  816. // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  817. // in the Amazon Virtual Private Cloud User Guide.
  818. //
  819. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  820. // with awserr.Error's Code and Message methods to get detailed information about
  821. // the error.
  822. //
  823. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  824. // API operation AssociateRouteTable for usage and error information.
  825. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateRouteTable
  826. func (c *EC2) AssociateRouteTable(input *AssociateRouteTableInput) (*AssociateRouteTableOutput, error) {
  827. req, out := c.AssociateRouteTableRequest(input)
  828. return out, req.Send()
  829. }
  830. // AssociateRouteTableWithContext is the same as AssociateRouteTable with the addition of
  831. // the ability to pass a context and additional request options.
  832. //
  833. // See AssociateRouteTable for details on how to use this API operation.
  834. //
  835. // The context must be non-nil and will be used for request cancellation. If
  836. // the context is nil a panic will occur. In the future the SDK may create
  837. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  838. // for more information on using Contexts.
  839. func (c *EC2) AssociateRouteTableWithContext(ctx aws.Context, input *AssociateRouteTableInput, opts ...request.Option) (*AssociateRouteTableOutput, error) {
  840. req, out := c.AssociateRouteTableRequest(input)
  841. req.SetContext(ctx)
  842. req.ApplyOptions(opts...)
  843. return out, req.Send()
  844. }
  845. const opAssociateSubnetCidrBlock = "AssociateSubnetCidrBlock"
  846. // AssociateSubnetCidrBlockRequest generates a "aws/request.Request" representing the
  847. // client's request for the AssociateSubnetCidrBlock operation. The "output" return
  848. // value will be populated with the request's response once the request complets
  849. // successfuly.
  850. //
  851. // Use "Send" method on the returned Request to send the API call to the service.
  852. // the "output" return value is not valid until after Send returns without error.
  853. //
  854. // See AssociateSubnetCidrBlock for more information on using the AssociateSubnetCidrBlock
  855. // API call, and error handling.
  856. //
  857. // This method is useful when you want to inject custom logic or configuration
  858. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  859. //
  860. //
  861. // // Example sending a request using the AssociateSubnetCidrBlockRequest method.
  862. // req, resp := client.AssociateSubnetCidrBlockRequest(params)
  863. //
  864. // err := req.Send()
  865. // if err == nil { // resp is now filled
  866. // fmt.Println(resp)
  867. // }
  868. //
  869. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateSubnetCidrBlock
  870. func (c *EC2) AssociateSubnetCidrBlockRequest(input *AssociateSubnetCidrBlockInput) (req *request.Request, output *AssociateSubnetCidrBlockOutput) {
  871. op := &request.Operation{
  872. Name: opAssociateSubnetCidrBlock,
  873. HTTPMethod: "POST",
  874. HTTPPath: "/",
  875. }
  876. if input == nil {
  877. input = &AssociateSubnetCidrBlockInput{}
  878. }
  879. output = &AssociateSubnetCidrBlockOutput{}
  880. req = c.newRequest(op, input, output)
  881. return
  882. }
  883. // AssociateSubnetCidrBlock API operation for Amazon Elastic Compute Cloud.
  884. //
  885. // Associates a CIDR block with your subnet. You can only associate a single
  886. // IPv6 CIDR block with your subnet. An IPv6 CIDR block must have a prefix length
  887. // of /64.
  888. //
  889. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  890. // with awserr.Error's Code and Message methods to get detailed information about
  891. // the error.
  892. //
  893. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  894. // API operation AssociateSubnetCidrBlock for usage and error information.
  895. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateSubnetCidrBlock
  896. func (c *EC2) AssociateSubnetCidrBlock(input *AssociateSubnetCidrBlockInput) (*AssociateSubnetCidrBlockOutput, error) {
  897. req, out := c.AssociateSubnetCidrBlockRequest(input)
  898. return out, req.Send()
  899. }
  900. // AssociateSubnetCidrBlockWithContext is the same as AssociateSubnetCidrBlock with the addition of
  901. // the ability to pass a context and additional request options.
  902. //
  903. // See AssociateSubnetCidrBlock for details on how to use this API operation.
  904. //
  905. // The context must be non-nil and will be used for request cancellation. If
  906. // the context is nil a panic will occur. In the future the SDK may create
  907. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  908. // for more information on using Contexts.
  909. func (c *EC2) AssociateSubnetCidrBlockWithContext(ctx aws.Context, input *AssociateSubnetCidrBlockInput, opts ...request.Option) (*AssociateSubnetCidrBlockOutput, error) {
  910. req, out := c.AssociateSubnetCidrBlockRequest(input)
  911. req.SetContext(ctx)
  912. req.ApplyOptions(opts...)
  913. return out, req.Send()
  914. }
  915. const opAssociateVpcCidrBlock = "AssociateVpcCidrBlock"
  916. // AssociateVpcCidrBlockRequest generates a "aws/request.Request" representing the
  917. // client's request for the AssociateVpcCidrBlock operation. The "output" return
  918. // value will be populated with the request's response once the request complets
  919. // successfuly.
  920. //
  921. // Use "Send" method on the returned Request to send the API call to the service.
  922. // the "output" return value is not valid until after Send returns without error.
  923. //
  924. // See AssociateVpcCidrBlock for more information on using the AssociateVpcCidrBlock
  925. // API call, and error handling.
  926. //
  927. // This method is useful when you want to inject custom logic or configuration
  928. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  929. //
  930. //
  931. // // Example sending a request using the AssociateVpcCidrBlockRequest method.
  932. // req, resp := client.AssociateVpcCidrBlockRequest(params)
  933. //
  934. // err := req.Send()
  935. // if err == nil { // resp is now filled
  936. // fmt.Println(resp)
  937. // }
  938. //
  939. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateVpcCidrBlock
  940. func (c *EC2) AssociateVpcCidrBlockRequest(input *AssociateVpcCidrBlockInput) (req *request.Request, output *AssociateVpcCidrBlockOutput) {
  941. op := &request.Operation{
  942. Name: opAssociateVpcCidrBlock,
  943. HTTPMethod: "POST",
  944. HTTPPath: "/",
  945. }
  946. if input == nil {
  947. input = &AssociateVpcCidrBlockInput{}
  948. }
  949. output = &AssociateVpcCidrBlockOutput{}
  950. req = c.newRequest(op, input, output)
  951. return
  952. }
  953. // AssociateVpcCidrBlock API operation for Amazon Elastic Compute Cloud.
  954. //
  955. // Associates a CIDR block with your VPC. You can associate a secondary IPv4
  956. // CIDR block, or you can associate an Amazon-provided IPv6 CIDR block. The
  957. // IPv6 CIDR block size is fixed at /56.
  958. //
  959. // For more information about associating CIDR blocks with your VPC and applicable
  960. // restrictions, see VPC and Subnet Sizing (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html#VPC_Sizing)
  961. // in the Amazon Virtual Private Cloud User Guide.
  962. //
  963. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  964. // with awserr.Error's Code and Message methods to get detailed information about
  965. // the error.
  966. //
  967. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  968. // API operation AssociateVpcCidrBlock for usage and error information.
  969. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateVpcCidrBlock
  970. func (c *EC2) AssociateVpcCidrBlock(input *AssociateVpcCidrBlockInput) (*AssociateVpcCidrBlockOutput, error) {
  971. req, out := c.AssociateVpcCidrBlockRequest(input)
  972. return out, req.Send()
  973. }
  974. // AssociateVpcCidrBlockWithContext is the same as AssociateVpcCidrBlock with the addition of
  975. // the ability to pass a context and additional request options.
  976. //
  977. // See AssociateVpcCidrBlock for details on how to use this API operation.
  978. //
  979. // The context must be non-nil and will be used for request cancellation. If
  980. // the context is nil a panic will occur. In the future the SDK may create
  981. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  982. // for more information on using Contexts.
  983. func (c *EC2) AssociateVpcCidrBlockWithContext(ctx aws.Context, input *AssociateVpcCidrBlockInput, opts ...request.Option) (*AssociateVpcCidrBlockOutput, error) {
  984. req, out := c.AssociateVpcCidrBlockRequest(input)
  985. req.SetContext(ctx)
  986. req.ApplyOptions(opts...)
  987. return out, req.Send()
  988. }
  989. const opAttachClassicLinkVpc = "AttachClassicLinkVpc"
  990. // AttachClassicLinkVpcRequest generates a "aws/request.Request" representing the
  991. // client's request for the AttachClassicLinkVpc operation. The "output" return
  992. // value will be populated with the request's response once the request complets
  993. // successfuly.
  994. //
  995. // Use "Send" method on the returned Request to send the API call to the service.
  996. // the "output" return value is not valid until after Send returns without error.
  997. //
  998. // See AttachClassicLinkVpc for more information on using the AttachClassicLinkVpc
  999. // API call, and error handling.
  1000. //
  1001. // This method is useful when you want to inject custom logic or configuration
  1002. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1003. //
  1004. //
  1005. // // Example sending a request using the AttachClassicLinkVpcRequest method.
  1006. // req, resp := client.AttachClassicLinkVpcRequest(params)
  1007. //
  1008. // err := req.Send()
  1009. // if err == nil { // resp is now filled
  1010. // fmt.Println(resp)
  1011. // }
  1012. //
  1013. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachClassicLinkVpc
  1014. func (c *EC2) AttachClassicLinkVpcRequest(input *AttachClassicLinkVpcInput) (req *request.Request, output *AttachClassicLinkVpcOutput) {
  1015. op := &request.Operation{
  1016. Name: opAttachClassicLinkVpc,
  1017. HTTPMethod: "POST",
  1018. HTTPPath: "/",
  1019. }
  1020. if input == nil {
  1021. input = &AttachClassicLinkVpcInput{}
  1022. }
  1023. output = &AttachClassicLinkVpcOutput{}
  1024. req = c.newRequest(op, input, output)
  1025. return
  1026. }
  1027. // AttachClassicLinkVpc API operation for Amazon Elastic Compute Cloud.
  1028. //
  1029. // Links an EC2-Classic instance to a ClassicLink-enabled VPC through one or
  1030. // more of the VPC's security groups. You cannot link an EC2-Classic instance
  1031. // to more than one VPC at a time. You can only link an instance that's in the
  1032. // running state. An instance is automatically unlinked from a VPC when it's
  1033. // stopped - you can link it to the VPC again when you restart it.
  1034. //
  1035. // After you've linked an instance, you cannot change the VPC security groups
  1036. // that are associated with it. To change the security groups, you must first
  1037. // unlink the instance, and then link it again.
  1038. //
  1039. // Linking your instance to a VPC is sometimes referred to as attaching your
  1040. // instance.
  1041. //
  1042. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1043. // with awserr.Error's Code and Message methods to get detailed information about
  1044. // the error.
  1045. //
  1046. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1047. // API operation AttachClassicLinkVpc for usage and error information.
  1048. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachClassicLinkVpc
  1049. func (c *EC2) AttachClassicLinkVpc(input *AttachClassicLinkVpcInput) (*AttachClassicLinkVpcOutput, error) {
  1050. req, out := c.AttachClassicLinkVpcRequest(input)
  1051. return out, req.Send()
  1052. }
  1053. // AttachClassicLinkVpcWithContext is the same as AttachClassicLinkVpc with the addition of
  1054. // the ability to pass a context and additional request options.
  1055. //
  1056. // See AttachClassicLinkVpc for details on how to use this API operation.
  1057. //
  1058. // The context must be non-nil and will be used for request cancellation. If
  1059. // the context is nil a panic will occur. In the future the SDK may create
  1060. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1061. // for more information on using Contexts.
  1062. func (c *EC2) AttachClassicLinkVpcWithContext(ctx aws.Context, input *AttachClassicLinkVpcInput, opts ...request.Option) (*AttachClassicLinkVpcOutput, error) {
  1063. req, out := c.AttachClassicLinkVpcRequest(input)
  1064. req.SetContext(ctx)
  1065. req.ApplyOptions(opts...)
  1066. return out, req.Send()
  1067. }
  1068. const opAttachInternetGateway = "AttachInternetGateway"
  1069. // AttachInternetGatewayRequest generates a "aws/request.Request" representing the
  1070. // client's request for the AttachInternetGateway operation. The "output" return
  1071. // value will be populated with the request's response once the request complets
  1072. // successfuly.
  1073. //
  1074. // Use "Send" method on the returned Request to send the API call to the service.
  1075. // the "output" return value is not valid until after Send returns without error.
  1076. //
  1077. // See AttachInternetGateway for more information on using the AttachInternetGateway
  1078. // API call, and error handling.
  1079. //
  1080. // This method is useful when you want to inject custom logic or configuration
  1081. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1082. //
  1083. //
  1084. // // Example sending a request using the AttachInternetGatewayRequest method.
  1085. // req, resp := client.AttachInternetGatewayRequest(params)
  1086. //
  1087. // err := req.Send()
  1088. // if err == nil { // resp is now filled
  1089. // fmt.Println(resp)
  1090. // }
  1091. //
  1092. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachInternetGateway
  1093. func (c *EC2) AttachInternetGatewayRequest(input *AttachInternetGatewayInput) (req *request.Request, output *AttachInternetGatewayOutput) {
  1094. op := &request.Operation{
  1095. Name: opAttachInternetGateway,
  1096. HTTPMethod: "POST",
  1097. HTTPPath: "/",
  1098. }
  1099. if input == nil {
  1100. input = &AttachInternetGatewayInput{}
  1101. }
  1102. output = &AttachInternetGatewayOutput{}
  1103. req = c.newRequest(op, input, output)
  1104. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  1105. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1106. return
  1107. }
  1108. // AttachInternetGateway API operation for Amazon Elastic Compute Cloud.
  1109. //
  1110. // Attaches an Internet gateway to a VPC, enabling connectivity between the
  1111. // Internet and the VPC. For more information about your VPC and Internet gateway,
  1112. // see the Amazon Virtual Private Cloud User Guide (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/).
  1113. //
  1114. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1115. // with awserr.Error's Code and Message methods to get detailed information about
  1116. // the error.
  1117. //
  1118. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1119. // API operation AttachInternetGateway for usage and error information.
  1120. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachInternetGateway
  1121. func (c *EC2) AttachInternetGateway(input *AttachInternetGatewayInput) (*AttachInternetGatewayOutput, error) {
  1122. req, out := c.AttachInternetGatewayRequest(input)
  1123. return out, req.Send()
  1124. }
  1125. // AttachInternetGatewayWithContext is the same as AttachInternetGateway with the addition of
  1126. // the ability to pass a context and additional request options.
  1127. //
  1128. // See AttachInternetGateway for details on how to use this API operation.
  1129. //
  1130. // The context must be non-nil and will be used for request cancellation. If
  1131. // the context is nil a panic will occur. In the future the SDK may create
  1132. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1133. // for more information on using Contexts.
  1134. func (c *EC2) AttachInternetGatewayWithContext(ctx aws.Context, input *AttachInternetGatewayInput, opts ...request.Option) (*AttachInternetGatewayOutput, error) {
  1135. req, out := c.AttachInternetGatewayRequest(input)
  1136. req.SetContext(ctx)
  1137. req.ApplyOptions(opts...)
  1138. return out, req.Send()
  1139. }
  1140. const opAttachNetworkInterface = "AttachNetworkInterface"
  1141. // AttachNetworkInterfaceRequest generates a "aws/request.Request" representing the
  1142. // client's request for the AttachNetworkInterface operation. The "output" return
  1143. // value will be populated with the request's response once the request complets
  1144. // successfuly.
  1145. //
  1146. // Use "Send" method on the returned Request to send the API call to the service.
  1147. // the "output" return value is not valid until after Send returns without error.
  1148. //
  1149. // See AttachNetworkInterface for more information on using the AttachNetworkInterface
  1150. // API call, and error handling.
  1151. //
  1152. // This method is useful when you want to inject custom logic or configuration
  1153. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1154. //
  1155. //
  1156. // // Example sending a request using the AttachNetworkInterfaceRequest method.
  1157. // req, resp := client.AttachNetworkInterfaceRequest(params)
  1158. //
  1159. // err := req.Send()
  1160. // if err == nil { // resp is now filled
  1161. // fmt.Println(resp)
  1162. // }
  1163. //
  1164. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachNetworkInterface
  1165. func (c *EC2) AttachNetworkInterfaceRequest(input *AttachNetworkInterfaceInput) (req *request.Request, output *AttachNetworkInterfaceOutput) {
  1166. op := &request.Operation{
  1167. Name: opAttachNetworkInterface,
  1168. HTTPMethod: "POST",
  1169. HTTPPath: "/",
  1170. }
  1171. if input == nil {
  1172. input = &AttachNetworkInterfaceInput{}
  1173. }
  1174. output = &AttachNetworkInterfaceOutput{}
  1175. req = c.newRequest(op, input, output)
  1176. return
  1177. }
  1178. // AttachNetworkInterface API operation for Amazon Elastic Compute Cloud.
  1179. //
  1180. // Attaches a network interface to an instance.
  1181. //
  1182. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1183. // with awserr.Error's Code and Message methods to get detailed information about
  1184. // the error.
  1185. //
  1186. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1187. // API operation AttachNetworkInterface for usage and error information.
  1188. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachNetworkInterface
  1189. func (c *EC2) AttachNetworkInterface(input *AttachNetworkInterfaceInput) (*AttachNetworkInterfaceOutput, error) {
  1190. req, out := c.AttachNetworkInterfaceRequest(input)
  1191. return out, req.Send()
  1192. }
  1193. // AttachNetworkInterfaceWithContext is the same as AttachNetworkInterface with the addition of
  1194. // the ability to pass a context and additional request options.
  1195. //
  1196. // See AttachNetworkInterface for details on how to use this API operation.
  1197. //
  1198. // The context must be non-nil and will be used for request cancellation. If
  1199. // the context is nil a panic will occur. In the future the SDK may create
  1200. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1201. // for more information on using Contexts.
  1202. func (c *EC2) AttachNetworkInterfaceWithContext(ctx aws.Context, input *AttachNetworkInterfaceInput, opts ...request.Option) (*AttachNetworkInterfaceOutput, error) {
  1203. req, out := c.AttachNetworkInterfaceRequest(input)
  1204. req.SetContext(ctx)
  1205. req.ApplyOptions(opts...)
  1206. return out, req.Send()
  1207. }
  1208. const opAttachVolume = "AttachVolume"
  1209. // AttachVolumeRequest generates a "aws/request.Request" representing the
  1210. // client's request for the AttachVolume operation. The "output" return
  1211. // value will be populated with the request's response once the request complets
  1212. // successfuly.
  1213. //
  1214. // Use "Send" method on the returned Request to send the API call to the service.
  1215. // the "output" return value is not valid until after Send returns without error.
  1216. //
  1217. // See AttachVolume for more information on using the AttachVolume
  1218. // API call, and error handling.
  1219. //
  1220. // This method is useful when you want to inject custom logic or configuration
  1221. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1222. //
  1223. //
  1224. // // Example sending a request using the AttachVolumeRequest method.
  1225. // req, resp := client.AttachVolumeRequest(params)
  1226. //
  1227. // err := req.Send()
  1228. // if err == nil { // resp is now filled
  1229. // fmt.Println(resp)
  1230. // }
  1231. //
  1232. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVolume
  1233. func (c *EC2) AttachVolumeRequest(input *AttachVolumeInput) (req *request.Request, output *VolumeAttachment) {
  1234. op := &request.Operation{
  1235. Name: opAttachVolume,
  1236. HTTPMethod: "POST",
  1237. HTTPPath: "/",
  1238. }
  1239. if input == nil {
  1240. input = &AttachVolumeInput{}
  1241. }
  1242. output = &VolumeAttachment{}
  1243. req = c.newRequest(op, input, output)
  1244. return
  1245. }
  1246. // AttachVolume API operation for Amazon Elastic Compute Cloud.
  1247. //
  1248. // Attaches an EBS volume to a running or stopped instance and exposes it to
  1249. // the instance with the specified device name.
  1250. //
  1251. // Encrypted EBS volumes may only be attached to instances that support Amazon
  1252. // EBS encryption. For more information, see Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  1253. // in the Amazon Elastic Compute Cloud User Guide.
  1254. //
  1255. // For a list of supported device names, see Attaching an EBS Volume to an Instance
  1256. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html).
  1257. // Any device names that aren't reserved for instance store volumes can be used
  1258. // for EBS volumes. For more information, see Amazon EC2 Instance Store (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html)
  1259. // in the Amazon Elastic Compute Cloud User Guide.
  1260. //
  1261. // If a volume has an AWS Marketplace product code:
  1262. //
  1263. // * The volume can be attached only to a stopped instance.
  1264. //
  1265. // * AWS Marketplace product codes are copied from the volume to the instance.
  1266. //
  1267. // * You must be subscribed to the product.
  1268. //
  1269. // * The instance type and operating system of the instance must support
  1270. // the product. For example, you can't detach a volume from a Windows instance
  1271. // and attach it to a Linux instance.
  1272. //
  1273. // For an overview of the AWS Marketplace, see Introducing AWS Marketplace (https://aws.amazon.com/marketplace/help/200900000).
  1274. //
  1275. // For more information about EBS volumes, see Attaching Amazon EBS Volumes
  1276. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html)
  1277. // in the Amazon Elastic Compute Cloud User Guide.
  1278. //
  1279. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1280. // with awserr.Error's Code and Message methods to get detailed information about
  1281. // the error.
  1282. //
  1283. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1284. // API operation AttachVolume for usage and error information.
  1285. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVolume
  1286. func (c *EC2) AttachVolume(input *AttachVolumeInput) (*VolumeAttachment, error) {
  1287. req, out := c.AttachVolumeRequest(input)
  1288. return out, req.Send()
  1289. }
  1290. // AttachVolumeWithContext is the same as AttachVolume with the addition of
  1291. // the ability to pass a context and additional request options.
  1292. //
  1293. // See AttachVolume for details on how to use this API operation.
  1294. //
  1295. // The context must be non-nil and will be used for request cancellation. If
  1296. // the context is nil a panic will occur. In the future the SDK may create
  1297. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1298. // for more information on using Contexts.
  1299. func (c *EC2) AttachVolumeWithContext(ctx aws.Context, input *AttachVolumeInput, opts ...request.Option) (*VolumeAttachment, error) {
  1300. req, out := c.AttachVolumeRequest(input)
  1301. req.SetContext(ctx)
  1302. req.ApplyOptions(opts...)
  1303. return out, req.Send()
  1304. }
  1305. const opAttachVpnGateway = "AttachVpnGateway"
  1306. // AttachVpnGatewayRequest generates a "aws/request.Request" representing the
  1307. // client's request for the AttachVpnGateway operation. The "output" return
  1308. // value will be populated with the request's response once the request complets
  1309. // successfuly.
  1310. //
  1311. // Use "Send" method on the returned Request to send the API call to the service.
  1312. // the "output" return value is not valid until after Send returns without error.
  1313. //
  1314. // See AttachVpnGateway for more information on using the AttachVpnGateway
  1315. // API call, and error handling.
  1316. //
  1317. // This method is useful when you want to inject custom logic or configuration
  1318. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1319. //
  1320. //
  1321. // // Example sending a request using the AttachVpnGatewayRequest method.
  1322. // req, resp := client.AttachVpnGatewayRequest(params)
  1323. //
  1324. // err := req.Send()
  1325. // if err == nil { // resp is now filled
  1326. // fmt.Println(resp)
  1327. // }
  1328. //
  1329. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVpnGateway
  1330. func (c *EC2) AttachVpnGatewayRequest(input *AttachVpnGatewayInput) (req *request.Request, output *AttachVpnGatewayOutput) {
  1331. op := &request.Operation{
  1332. Name: opAttachVpnGateway,
  1333. HTTPMethod: "POST",
  1334. HTTPPath: "/",
  1335. }
  1336. if input == nil {
  1337. input = &AttachVpnGatewayInput{}
  1338. }
  1339. output = &AttachVpnGatewayOutput{}
  1340. req = c.newRequest(op, input, output)
  1341. return
  1342. }
  1343. // AttachVpnGateway API operation for Amazon Elastic Compute Cloud.
  1344. //
  1345. // Attaches a virtual private gateway to a VPC. You can attach one virtual private
  1346. // gateway to one VPC at a time.
  1347. //
  1348. // For more information, see AWS Managed VPN Connections (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  1349. // in the Amazon Virtual Private Cloud User Guide.
  1350. //
  1351. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1352. // with awserr.Error's Code and Message methods to get detailed information about
  1353. // the error.
  1354. //
  1355. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1356. // API operation AttachVpnGateway for usage and error information.
  1357. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVpnGateway
  1358. func (c *EC2) AttachVpnGateway(input *AttachVpnGatewayInput) (*AttachVpnGatewayOutput, error) {
  1359. req, out := c.AttachVpnGatewayRequest(input)
  1360. return out, req.Send()
  1361. }
  1362. // AttachVpnGatewayWithContext is the same as AttachVpnGateway with the addition of
  1363. // the ability to pass a context and additional request options.
  1364. //
  1365. // See AttachVpnGateway for details on how to use this API operation.
  1366. //
  1367. // The context must be non-nil and will be used for request cancellation. If
  1368. // the context is nil a panic will occur. In the future the SDK may create
  1369. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1370. // for more information on using Contexts.
  1371. func (c *EC2) AttachVpnGatewayWithContext(ctx aws.Context, input *AttachVpnGatewayInput, opts ...request.Option) (*AttachVpnGatewayOutput, error) {
  1372. req, out := c.AttachVpnGatewayRequest(input)
  1373. req.SetContext(ctx)
  1374. req.ApplyOptions(opts...)
  1375. return out, req.Send()
  1376. }
  1377. const opAuthorizeSecurityGroupEgress = "AuthorizeSecurityGroupEgress"
  1378. // AuthorizeSecurityGroupEgressRequest generates a "aws/request.Request" representing the
  1379. // client's request for the AuthorizeSecurityGroupEgress operation. The "output" return
  1380. // value will be populated with the request's response once the request complets
  1381. // successfuly.
  1382. //
  1383. // Use "Send" method on the returned Request to send the API call to the service.
  1384. // the "output" return value is not valid until after Send returns without error.
  1385. //
  1386. // See AuthorizeSecurityGroupEgress for more information on using the AuthorizeSecurityGroupEgress
  1387. // API call, and error handling.
  1388. //
  1389. // This method is useful when you want to inject custom logic or configuration
  1390. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1391. //
  1392. //
  1393. // // Example sending a request using the AuthorizeSecurityGroupEgressRequest method.
  1394. // req, resp := client.AuthorizeSecurityGroupEgressRequest(params)
  1395. //
  1396. // err := req.Send()
  1397. // if err == nil { // resp is now filled
  1398. // fmt.Println(resp)
  1399. // }
  1400. //
  1401. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupEgress
  1402. func (c *EC2) AuthorizeSecurityGroupEgressRequest(input *AuthorizeSecurityGroupEgressInput) (req *request.Request, output *AuthorizeSecurityGroupEgressOutput) {
  1403. op := &request.Operation{
  1404. Name: opAuthorizeSecurityGroupEgress,
  1405. HTTPMethod: "POST",
  1406. HTTPPath: "/",
  1407. }
  1408. if input == nil {
  1409. input = &AuthorizeSecurityGroupEgressInput{}
  1410. }
  1411. output = &AuthorizeSecurityGroupEgressOutput{}
  1412. req = c.newRequest(op, input, output)
  1413. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  1414. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1415. return
  1416. }
  1417. // AuthorizeSecurityGroupEgress API operation for Amazon Elastic Compute Cloud.
  1418. //
  1419. // [EC2-VPC only] Adds one or more egress rules to a security group for use
  1420. // with a VPC. Specifically, this action permits instances to send traffic to
  1421. // one or more destination IPv4 or IPv6 CIDR address ranges, or to one or more
  1422. // destination security groups for the same VPC. This action doesn't apply to
  1423. // security groups for use in EC2-Classic. For more information, see Security
  1424. // Groups for Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
  1425. // in the Amazon Virtual Private Cloud User Guide. For more information about
  1426. // security group limits, see Amazon VPC Limits (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Appendix_Limits.html).
  1427. //
  1428. // Each rule consists of the protocol (for example, TCP), plus either a CIDR
  1429. // range or a source group. For the TCP and UDP protocols, you must also specify
  1430. // the destination port or port range. For the ICMP protocol, you must also
  1431. // specify the ICMP type and code. You can use -1 for the type or code to mean
  1432. // all types or all codes. You can optionally specify a description for the
  1433. // rule.
  1434. //
  1435. // Rule changes are propagated to affected instances as quickly as possible.
  1436. // However, a small delay might occur.
  1437. //
  1438. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1439. // with awserr.Error's Code and Message methods to get detailed information about
  1440. // the error.
  1441. //
  1442. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1443. // API operation AuthorizeSecurityGroupEgress for usage and error information.
  1444. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupEgress
  1445. func (c *EC2) AuthorizeSecurityGroupEgress(input *AuthorizeSecurityGroupEgressInput) (*AuthorizeSecurityGroupEgressOutput, error) {
  1446. req, out := c.AuthorizeSecurityGroupEgressRequest(input)
  1447. return out, req.Send()
  1448. }
  1449. // AuthorizeSecurityGroupEgressWithContext is the same as AuthorizeSecurityGroupEgress with the addition of
  1450. // the ability to pass a context and additional request options.
  1451. //
  1452. // See AuthorizeSecurityGroupEgress for details on how to use this API operation.
  1453. //
  1454. // The context must be non-nil and will be used for request cancellation. If
  1455. // the context is nil a panic will occur. In the future the SDK may create
  1456. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1457. // for more information on using Contexts.
  1458. func (c *EC2) AuthorizeSecurityGroupEgressWithContext(ctx aws.Context, input *AuthorizeSecurityGroupEgressInput, opts ...request.Option) (*AuthorizeSecurityGroupEgressOutput, error) {
  1459. req, out := c.AuthorizeSecurityGroupEgressRequest(input)
  1460. req.SetContext(ctx)
  1461. req.ApplyOptions(opts...)
  1462. return out, req.Send()
  1463. }
  1464. const opAuthorizeSecurityGroupIngress = "AuthorizeSecurityGroupIngress"
  1465. // AuthorizeSecurityGroupIngressRequest generates a "aws/request.Request" representing the
  1466. // client's request for the AuthorizeSecurityGroupIngress operation. The "output" return
  1467. // value will be populated with the request's response once the request complets
  1468. // successfuly.
  1469. //
  1470. // Use "Send" method on the returned Request to send the API call to the service.
  1471. // the "output" return value is not valid until after Send returns without error.
  1472. //
  1473. // See AuthorizeSecurityGroupIngress for more information on using the AuthorizeSecurityGroupIngress
  1474. // API call, and error handling.
  1475. //
  1476. // This method is useful when you want to inject custom logic or configuration
  1477. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1478. //
  1479. //
  1480. // // Example sending a request using the AuthorizeSecurityGroupIngressRequest method.
  1481. // req, resp := client.AuthorizeSecurityGroupIngressRequest(params)
  1482. //
  1483. // err := req.Send()
  1484. // if err == nil { // resp is now filled
  1485. // fmt.Println(resp)
  1486. // }
  1487. //
  1488. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupIngress
  1489. func (c *EC2) AuthorizeSecurityGroupIngressRequest(input *AuthorizeSecurityGroupIngressInput) (req *request.Request, output *AuthorizeSecurityGroupIngressOutput) {
  1490. op := &request.Operation{
  1491. Name: opAuthorizeSecurityGroupIngress,
  1492. HTTPMethod: "POST",
  1493. HTTPPath: "/",
  1494. }
  1495. if input == nil {
  1496. input = &AuthorizeSecurityGroupIngressInput{}
  1497. }
  1498. output = &AuthorizeSecurityGroupIngressOutput{}
  1499. req = c.newRequest(op, input, output)
  1500. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  1501. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1502. return
  1503. }
  1504. // AuthorizeSecurityGroupIngress API operation for Amazon Elastic Compute Cloud.
  1505. //
  1506. // Adds one or more ingress rules to a security group.
  1507. //
  1508. // Rule changes are propagated to instances within the security group as quickly
  1509. // as possible. However, a small delay might occur.
  1510. //
  1511. // [EC2-Classic] This action gives one or more IPv4 CIDR address ranges permission
  1512. // to access a security group in your account, or gives one or more security
  1513. // groups (called the source groups) permission to access a security group for
  1514. // your account. A source group can be for your own AWS account, or another.
  1515. // You can have up to 100 rules per group.
  1516. //
  1517. // [EC2-VPC] This action gives one or more IPv4 or IPv6 CIDR address ranges
  1518. // permission to access a security group in your VPC, or gives one or more other
  1519. // security groups (called the source groups) permission to access a security
  1520. // group for your VPC. The security groups must all be for the same VPC or a
  1521. // peer VPC in a VPC peering connection. For more information about VPC security
  1522. // group limits, see Amazon VPC Limits (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Appendix_Limits.html).
  1523. //
  1524. // You can optionally specify a description for the security group rule.
  1525. //
  1526. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1527. // with awserr.Error's Code and Message methods to get detailed information about
  1528. // the error.
  1529. //
  1530. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1531. // API operation AuthorizeSecurityGroupIngress for usage and error information.
  1532. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupIngress
  1533. func (c *EC2) AuthorizeSecurityGroupIngress(input *AuthorizeSecurityGroupIngressInput) (*AuthorizeSecurityGroupIngressOutput, error) {
  1534. req, out := c.AuthorizeSecurityGroupIngressRequest(input)
  1535. return out, req.Send()
  1536. }
  1537. // AuthorizeSecurityGroupIngressWithContext is the same as AuthorizeSecurityGroupIngress with the addition of
  1538. // the ability to pass a context and additional request options.
  1539. //
  1540. // See AuthorizeSecurityGroupIngress for details on how to use this API operation.
  1541. //
  1542. // The context must be non-nil and will be used for request cancellation. If
  1543. // the context is nil a panic will occur. In the future the SDK may create
  1544. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1545. // for more information on using Contexts.
  1546. func (c *EC2) AuthorizeSecurityGroupIngressWithContext(ctx aws.Context, input *AuthorizeSecurityGroupIngressInput, opts ...request.Option) (*AuthorizeSecurityGroupIngressOutput, error) {
  1547. req, out := c.AuthorizeSecurityGroupIngressRequest(input)
  1548. req.SetContext(ctx)
  1549. req.ApplyOptions(opts...)
  1550. return out, req.Send()
  1551. }
  1552. const opBundleInstance = "BundleInstance"
  1553. // BundleInstanceRequest generates a "aws/request.Request" representing the
  1554. // client's request for the BundleInstance operation. The "output" return
  1555. // value will be populated with the request's response once the request complets
  1556. // successfuly.
  1557. //
  1558. // Use "Send" method on the returned Request to send the API call to the service.
  1559. // the "output" return value is not valid until after Send returns without error.
  1560. //
  1561. // See BundleInstance for more information on using the BundleInstance
  1562. // API call, and error handling.
  1563. //
  1564. // This method is useful when you want to inject custom logic or configuration
  1565. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1566. //
  1567. //
  1568. // // Example sending a request using the BundleInstanceRequest method.
  1569. // req, resp := client.BundleInstanceRequest(params)
  1570. //
  1571. // err := req.Send()
  1572. // if err == nil { // resp is now filled
  1573. // fmt.Println(resp)
  1574. // }
  1575. //
  1576. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleInstance
  1577. func (c *EC2) BundleInstanceRequest(input *BundleInstanceInput) (req *request.Request, output *BundleInstanceOutput) {
  1578. op := &request.Operation{
  1579. Name: opBundleInstance,
  1580. HTTPMethod: "POST",
  1581. HTTPPath: "/",
  1582. }
  1583. if input == nil {
  1584. input = &BundleInstanceInput{}
  1585. }
  1586. output = &BundleInstanceOutput{}
  1587. req = c.newRequest(op, input, output)
  1588. return
  1589. }
  1590. // BundleInstance API operation for Amazon Elastic Compute Cloud.
  1591. //
  1592. // Bundles an Amazon instance store-backed Windows instance.
  1593. //
  1594. // During bundling, only the root device volume (C:\) is bundled. Data on other
  1595. // instance store volumes is not preserved.
  1596. //
  1597. // This action is not applicable for Linux/Unix instances or Windows instances
  1598. // that are backed by Amazon EBS.
  1599. //
  1600. // For more information, see Creating an Instance Store-Backed Windows AMI (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/Creating_InstanceStoreBacked_WinAMI.html).
  1601. //
  1602. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1603. // with awserr.Error's Code and Message methods to get detailed information about
  1604. // the error.
  1605. //
  1606. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1607. // API operation BundleInstance for usage and error information.
  1608. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleInstance
  1609. func (c *EC2) BundleInstance(input *BundleInstanceInput) (*BundleInstanceOutput, error) {
  1610. req, out := c.BundleInstanceRequest(input)
  1611. return out, req.Send()
  1612. }
  1613. // BundleInstanceWithContext is the same as BundleInstance with the addition of
  1614. // the ability to pass a context and additional request options.
  1615. //
  1616. // See BundleInstance for details on how to use this API operation.
  1617. //
  1618. // The context must be non-nil and will be used for request cancellation. If
  1619. // the context is nil a panic will occur. In the future the SDK may create
  1620. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1621. // for more information on using Contexts.
  1622. func (c *EC2) BundleInstanceWithContext(ctx aws.Context, input *BundleInstanceInput, opts ...request.Option) (*BundleInstanceOutput, error) {
  1623. req, out := c.BundleInstanceRequest(input)
  1624. req.SetContext(ctx)
  1625. req.ApplyOptions(opts...)
  1626. return out, req.Send()
  1627. }
  1628. const opCancelBundleTask = "CancelBundleTask"
  1629. // CancelBundleTaskRequest generates a "aws/request.Request" representing the
  1630. // client's request for the CancelBundleTask operation. The "output" return
  1631. // value will be populated with the request's response once the request complets
  1632. // successfuly.
  1633. //
  1634. // Use "Send" method on the returned Request to send the API call to the service.
  1635. // the "output" return value is not valid until after Send returns without error.
  1636. //
  1637. // See CancelBundleTask for more information on using the CancelBundleTask
  1638. // API call, and error handling.
  1639. //
  1640. // This method is useful when you want to inject custom logic or configuration
  1641. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1642. //
  1643. //
  1644. // // Example sending a request using the CancelBundleTaskRequest method.
  1645. // req, resp := client.CancelBundleTaskRequest(params)
  1646. //
  1647. // err := req.Send()
  1648. // if err == nil { // resp is now filled
  1649. // fmt.Println(resp)
  1650. // }
  1651. //
  1652. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelBundleTask
  1653. func (c *EC2) CancelBundleTaskRequest(input *CancelBundleTaskInput) (req *request.Request, output *CancelBundleTaskOutput) {
  1654. op := &request.Operation{
  1655. Name: opCancelBundleTask,
  1656. HTTPMethod: "POST",
  1657. HTTPPath: "/",
  1658. }
  1659. if input == nil {
  1660. input = &CancelBundleTaskInput{}
  1661. }
  1662. output = &CancelBundleTaskOutput{}
  1663. req = c.newRequest(op, input, output)
  1664. return
  1665. }
  1666. // CancelBundleTask API operation for Amazon Elastic Compute Cloud.
  1667. //
  1668. // Cancels a bundling operation for an instance store-backed Windows instance.
  1669. //
  1670. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1671. // with awserr.Error's Code and Message methods to get detailed information about
  1672. // the error.
  1673. //
  1674. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1675. // API operation CancelBundleTask for usage and error information.
  1676. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelBundleTask
  1677. func (c *EC2) CancelBundleTask(input *CancelBundleTaskInput) (*CancelBundleTaskOutput, error) {
  1678. req, out := c.CancelBundleTaskRequest(input)
  1679. return out, req.Send()
  1680. }
  1681. // CancelBundleTaskWithContext is the same as CancelBundleTask with the addition of
  1682. // the ability to pass a context and additional request options.
  1683. //
  1684. // See CancelBundleTask for details on how to use this API operation.
  1685. //
  1686. // The context must be non-nil and will be used for request cancellation. If
  1687. // the context is nil a panic will occur. In the future the SDK may create
  1688. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1689. // for more information on using Contexts.
  1690. func (c *EC2) CancelBundleTaskWithContext(ctx aws.Context, input *CancelBundleTaskInput, opts ...request.Option) (*CancelBundleTaskOutput, error) {
  1691. req, out := c.CancelBundleTaskRequest(input)
  1692. req.SetContext(ctx)
  1693. req.ApplyOptions(opts...)
  1694. return out, req.Send()
  1695. }
  1696. const opCancelConversionTask = "CancelConversionTask"
  1697. // CancelConversionTaskRequest generates a "aws/request.Request" representing the
  1698. // client's request for the CancelConversionTask operation. The "output" return
  1699. // value will be populated with the request's response once the request complets
  1700. // successfuly.
  1701. //
  1702. // Use "Send" method on the returned Request to send the API call to the service.
  1703. // the "output" return value is not valid until after Send returns without error.
  1704. //
  1705. // See CancelConversionTask for more information on using the CancelConversionTask
  1706. // API call, and error handling.
  1707. //
  1708. // This method is useful when you want to inject custom logic or configuration
  1709. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1710. //
  1711. //
  1712. // // Example sending a request using the CancelConversionTaskRequest method.
  1713. // req, resp := client.CancelConversionTaskRequest(params)
  1714. //
  1715. // err := req.Send()
  1716. // if err == nil { // resp is now filled
  1717. // fmt.Println(resp)
  1718. // }
  1719. //
  1720. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelConversionTask
  1721. func (c *EC2) CancelConversionTaskRequest(input *CancelConversionTaskInput) (req *request.Request, output *CancelConversionTaskOutput) {
  1722. op := &request.Operation{
  1723. Name: opCancelConversionTask,
  1724. HTTPMethod: "POST",
  1725. HTTPPath: "/",
  1726. }
  1727. if input == nil {
  1728. input = &CancelConversionTaskInput{}
  1729. }
  1730. output = &CancelConversionTaskOutput{}
  1731. req = c.newRequest(op, input, output)
  1732. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  1733. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1734. return
  1735. }
  1736. // CancelConversionTask API operation for Amazon Elastic Compute Cloud.
  1737. //
  1738. // Cancels an active conversion task. The task can be the import of an instance
  1739. // or volume. The action removes all artifacts of the conversion, including
  1740. // a partially uploaded volume or instance. If the conversion is complete or
  1741. // is in the process of transferring the final disk image, the command fails
  1742. // and returns an exception.
  1743. //
  1744. // For more information, see Importing a Virtual Machine Using the Amazon EC2
  1745. // CLI (http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ec2-cli-vmimport-export.html).
  1746. //
  1747. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1748. // with awserr.Error's Code and Message methods to get detailed information about
  1749. // the error.
  1750. //
  1751. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1752. // API operation CancelConversionTask for usage and error information.
  1753. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelConversionTask
  1754. func (c *EC2) CancelConversionTask(input *CancelConversionTaskInput) (*CancelConversionTaskOutput, error) {
  1755. req, out := c.CancelConversionTaskRequest(input)
  1756. return out, req.Send()
  1757. }
  1758. // CancelConversionTaskWithContext is the same as CancelConversionTask with the addition of
  1759. // the ability to pass a context and additional request options.
  1760. //
  1761. // See CancelConversionTask for details on how to use this API operation.
  1762. //
  1763. // The context must be non-nil and will be used for request cancellation. If
  1764. // the context is nil a panic will occur. In the future the SDK may create
  1765. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1766. // for more information on using Contexts.
  1767. func (c *EC2) CancelConversionTaskWithContext(ctx aws.Context, input *CancelConversionTaskInput, opts ...request.Option) (*CancelConversionTaskOutput, error) {
  1768. req, out := c.CancelConversionTaskRequest(input)
  1769. req.SetContext(ctx)
  1770. req.ApplyOptions(opts...)
  1771. return out, req.Send()
  1772. }
  1773. const opCancelExportTask = "CancelExportTask"
  1774. // CancelExportTaskRequest generates a "aws/request.Request" representing the
  1775. // client's request for the CancelExportTask operation. The "output" return
  1776. // value will be populated with the request's response once the request complets
  1777. // successfuly.
  1778. //
  1779. // Use "Send" method on the returned Request to send the API call to the service.
  1780. // the "output" return value is not valid until after Send returns without error.
  1781. //
  1782. // See CancelExportTask for more information on using the CancelExportTask
  1783. // API call, and error handling.
  1784. //
  1785. // This method is useful when you want to inject custom logic or configuration
  1786. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1787. //
  1788. //
  1789. // // Example sending a request using the CancelExportTaskRequest method.
  1790. // req, resp := client.CancelExportTaskRequest(params)
  1791. //
  1792. // err := req.Send()
  1793. // if err == nil { // resp is now filled
  1794. // fmt.Println(resp)
  1795. // }
  1796. //
  1797. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelExportTask
  1798. func (c *EC2) CancelExportTaskRequest(input *CancelExportTaskInput) (req *request.Request, output *CancelExportTaskOutput) {
  1799. op := &request.Operation{
  1800. Name: opCancelExportTask,
  1801. HTTPMethod: "POST",
  1802. HTTPPath: "/",
  1803. }
  1804. if input == nil {
  1805. input = &CancelExportTaskInput{}
  1806. }
  1807. output = &CancelExportTaskOutput{}
  1808. req = c.newRequest(op, input, output)
  1809. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  1810. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1811. return
  1812. }
  1813. // CancelExportTask API operation for Amazon Elastic Compute Cloud.
  1814. //
  1815. // Cancels an active export task. The request removes all artifacts of the export,
  1816. // including any partially-created Amazon S3 objects. If the export task is
  1817. // complete or is in the process of transferring the final disk image, the command
  1818. // fails and returns an error.
  1819. //
  1820. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1821. // with awserr.Error's Code and Message methods to get detailed information about
  1822. // the error.
  1823. //
  1824. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1825. // API operation CancelExportTask for usage and error information.
  1826. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelExportTask
  1827. func (c *EC2) CancelExportTask(input *CancelExportTaskInput) (*CancelExportTaskOutput, error) {
  1828. req, out := c.CancelExportTaskRequest(input)
  1829. return out, req.Send()
  1830. }
  1831. // CancelExportTaskWithContext is the same as CancelExportTask with the addition of
  1832. // the ability to pass a context and additional request options.
  1833. //
  1834. // See CancelExportTask for details on how to use this API operation.
  1835. //
  1836. // The context must be non-nil and will be used for request cancellation. If
  1837. // the context is nil a panic will occur. In the future the SDK may create
  1838. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1839. // for more information on using Contexts.
  1840. func (c *EC2) CancelExportTaskWithContext(ctx aws.Context, input *CancelExportTaskInput, opts ...request.Option) (*CancelExportTaskOutput, error) {
  1841. req, out := c.CancelExportTaskRequest(input)
  1842. req.SetContext(ctx)
  1843. req.ApplyOptions(opts...)
  1844. return out, req.Send()
  1845. }
  1846. const opCancelImportTask = "CancelImportTask"
  1847. // CancelImportTaskRequest generates a "aws/request.Request" representing the
  1848. // client's request for the CancelImportTask operation. The "output" return
  1849. // value will be populated with the request's response once the request complets
  1850. // successfuly.
  1851. //
  1852. // Use "Send" method on the returned Request to send the API call to the service.
  1853. // the "output" return value is not valid until after Send returns without error.
  1854. //
  1855. // See CancelImportTask for more information on using the CancelImportTask
  1856. // API call, and error handling.
  1857. //
  1858. // This method is useful when you want to inject custom logic or configuration
  1859. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1860. //
  1861. //
  1862. // // Example sending a request using the CancelImportTaskRequest method.
  1863. // req, resp := client.CancelImportTaskRequest(params)
  1864. //
  1865. // err := req.Send()
  1866. // if err == nil { // resp is now filled
  1867. // fmt.Println(resp)
  1868. // }
  1869. //
  1870. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelImportTask
  1871. func (c *EC2) CancelImportTaskRequest(input *CancelImportTaskInput) (req *request.Request, output *CancelImportTaskOutput) {
  1872. op := &request.Operation{
  1873. Name: opCancelImportTask,
  1874. HTTPMethod: "POST",
  1875. HTTPPath: "/",
  1876. }
  1877. if input == nil {
  1878. input = &CancelImportTaskInput{}
  1879. }
  1880. output = &CancelImportTaskOutput{}
  1881. req = c.newRequest(op, input, output)
  1882. return
  1883. }
  1884. // CancelImportTask API operation for Amazon Elastic Compute Cloud.
  1885. //
  1886. // Cancels an in-process import virtual machine or import snapshot task.
  1887. //
  1888. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1889. // with awserr.Error's Code and Message methods to get detailed information about
  1890. // the error.
  1891. //
  1892. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1893. // API operation CancelImportTask for usage and error information.
  1894. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelImportTask
  1895. func (c *EC2) CancelImportTask(input *CancelImportTaskInput) (*CancelImportTaskOutput, error) {
  1896. req, out := c.CancelImportTaskRequest(input)
  1897. return out, req.Send()
  1898. }
  1899. // CancelImportTaskWithContext is the same as CancelImportTask with the addition of
  1900. // the ability to pass a context and additional request options.
  1901. //
  1902. // See CancelImportTask for details on how to use this API operation.
  1903. //
  1904. // The context must be non-nil and will be used for request cancellation. If
  1905. // the context is nil a panic will occur. In the future the SDK may create
  1906. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1907. // for more information on using Contexts.
  1908. func (c *EC2) CancelImportTaskWithContext(ctx aws.Context, input *CancelImportTaskInput, opts ...request.Option) (*CancelImportTaskOutput, error) {
  1909. req, out := c.CancelImportTaskRequest(input)
  1910. req.SetContext(ctx)
  1911. req.ApplyOptions(opts...)
  1912. return out, req.Send()
  1913. }
  1914. const opCancelReservedInstancesListing = "CancelReservedInstancesListing"
  1915. // CancelReservedInstancesListingRequest generates a "aws/request.Request" representing the
  1916. // client's request for the CancelReservedInstancesListing operation. The "output" return
  1917. // value will be populated with the request's response once the request complets
  1918. // successfuly.
  1919. //
  1920. // Use "Send" method on the returned Request to send the API call to the service.
  1921. // the "output" return value is not valid until after Send returns without error.
  1922. //
  1923. // See CancelReservedInstancesListing for more information on using the CancelReservedInstancesListing
  1924. // API call, and error handling.
  1925. //
  1926. // This method is useful when you want to inject custom logic or configuration
  1927. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1928. //
  1929. //
  1930. // // Example sending a request using the CancelReservedInstancesListingRequest method.
  1931. // req, resp := client.CancelReservedInstancesListingRequest(params)
  1932. //
  1933. // err := req.Send()
  1934. // if err == nil { // resp is now filled
  1935. // fmt.Println(resp)
  1936. // }
  1937. //
  1938. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelReservedInstancesListing
  1939. func (c *EC2) CancelReservedInstancesListingRequest(input *CancelReservedInstancesListingInput) (req *request.Request, output *CancelReservedInstancesListingOutput) {
  1940. op := &request.Operation{
  1941. Name: opCancelReservedInstancesListing,
  1942. HTTPMethod: "POST",
  1943. HTTPPath: "/",
  1944. }
  1945. if input == nil {
  1946. input = &CancelReservedInstancesListingInput{}
  1947. }
  1948. output = &CancelReservedInstancesListingOutput{}
  1949. req = c.newRequest(op, input, output)
  1950. return
  1951. }
  1952. // CancelReservedInstancesListing API operation for Amazon Elastic Compute Cloud.
  1953. //
  1954. // Cancels the specified Reserved Instance listing in the Reserved Instance
  1955. // Marketplace.
  1956. //
  1957. // For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  1958. // in the Amazon Elastic Compute Cloud User Guide.
  1959. //
  1960. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1961. // with awserr.Error's Code and Message methods to get detailed information about
  1962. // the error.
  1963. //
  1964. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1965. // API operation CancelReservedInstancesListing for usage and error information.
  1966. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelReservedInstancesListing
  1967. func (c *EC2) CancelReservedInstancesListing(input *CancelReservedInstancesListingInput) (*CancelReservedInstancesListingOutput, error) {
  1968. req, out := c.CancelReservedInstancesListingRequest(input)
  1969. return out, req.Send()
  1970. }
  1971. // CancelReservedInstancesListingWithContext is the same as CancelReservedInstancesListing with the addition of
  1972. // the ability to pass a context and additional request options.
  1973. //
  1974. // See CancelReservedInstancesListing for details on how to use this API operation.
  1975. //
  1976. // The context must be non-nil and will be used for request cancellation. If
  1977. // the context is nil a panic will occur. In the future the SDK may create
  1978. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1979. // for more information on using Contexts.
  1980. func (c *EC2) CancelReservedInstancesListingWithContext(ctx aws.Context, input *CancelReservedInstancesListingInput, opts ...request.Option) (*CancelReservedInstancesListingOutput, error) {
  1981. req, out := c.CancelReservedInstancesListingRequest(input)
  1982. req.SetContext(ctx)
  1983. req.ApplyOptions(opts...)
  1984. return out, req.Send()
  1985. }
  1986. const opCancelSpotFleetRequests = "CancelSpotFleetRequests"
  1987. // CancelSpotFleetRequestsRequest generates a "aws/request.Request" representing the
  1988. // client's request for the CancelSpotFleetRequests operation. The "output" return
  1989. // value will be populated with the request's response once the request complets
  1990. // successfuly.
  1991. //
  1992. // Use "Send" method on the returned Request to send the API call to the service.
  1993. // the "output" return value is not valid until after Send returns without error.
  1994. //
  1995. // See CancelSpotFleetRequests for more information on using the CancelSpotFleetRequests
  1996. // API call, and error handling.
  1997. //
  1998. // This method is useful when you want to inject custom logic or configuration
  1999. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2000. //
  2001. //
  2002. // // Example sending a request using the CancelSpotFleetRequestsRequest method.
  2003. // req, resp := client.CancelSpotFleetRequestsRequest(params)
  2004. //
  2005. // err := req.Send()
  2006. // if err == nil { // resp is now filled
  2007. // fmt.Println(resp)
  2008. // }
  2009. //
  2010. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequests
  2011. func (c *EC2) CancelSpotFleetRequestsRequest(input *CancelSpotFleetRequestsInput) (req *request.Request, output *CancelSpotFleetRequestsOutput) {
  2012. op := &request.Operation{
  2013. Name: opCancelSpotFleetRequests,
  2014. HTTPMethod: "POST",
  2015. HTTPPath: "/",
  2016. }
  2017. if input == nil {
  2018. input = &CancelSpotFleetRequestsInput{}
  2019. }
  2020. output = &CancelSpotFleetRequestsOutput{}
  2021. req = c.newRequest(op, input, output)
  2022. return
  2023. }
  2024. // CancelSpotFleetRequests API operation for Amazon Elastic Compute Cloud.
  2025. //
  2026. // Cancels the specified Spot Fleet requests.
  2027. //
  2028. // After you cancel a Spot Fleet request, the Spot Fleet launches no new Spot
  2029. // Instances. You must specify whether the Spot Fleet should also terminate
  2030. // its Spot Instances. If you terminate the instances, the Spot Fleet request
  2031. // enters the cancelled_terminating state. Otherwise, the Spot Fleet request
  2032. // enters the cancelled_running state and the instances continue to run until
  2033. // they are interrupted or you terminate them manually.
  2034. //
  2035. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2036. // with awserr.Error's Code and Message methods to get detailed information about
  2037. // the error.
  2038. //
  2039. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2040. // API operation CancelSpotFleetRequests for usage and error information.
  2041. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequests
  2042. func (c *EC2) CancelSpotFleetRequests(input *CancelSpotFleetRequestsInput) (*CancelSpotFleetRequestsOutput, error) {
  2043. req, out := c.CancelSpotFleetRequestsRequest(input)
  2044. return out, req.Send()
  2045. }
  2046. // CancelSpotFleetRequestsWithContext is the same as CancelSpotFleetRequests with the addition of
  2047. // the ability to pass a context and additional request options.
  2048. //
  2049. // See CancelSpotFleetRequests for details on how to use this API operation.
  2050. //
  2051. // The context must be non-nil and will be used for request cancellation. If
  2052. // the context is nil a panic will occur. In the future the SDK may create
  2053. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2054. // for more information on using Contexts.
  2055. func (c *EC2) CancelSpotFleetRequestsWithContext(ctx aws.Context, input *CancelSpotFleetRequestsInput, opts ...request.Option) (*CancelSpotFleetRequestsOutput, error) {
  2056. req, out := c.CancelSpotFleetRequestsRequest(input)
  2057. req.SetContext(ctx)
  2058. req.ApplyOptions(opts...)
  2059. return out, req.Send()
  2060. }
  2061. const opCancelSpotInstanceRequests = "CancelSpotInstanceRequests"
  2062. // CancelSpotInstanceRequestsRequest generates a "aws/request.Request" representing the
  2063. // client's request for the CancelSpotInstanceRequests operation. The "output" return
  2064. // value will be populated with the request's response once the request complets
  2065. // successfuly.
  2066. //
  2067. // Use "Send" method on the returned Request to send the API call to the service.
  2068. // the "output" return value is not valid until after Send returns without error.
  2069. //
  2070. // See CancelSpotInstanceRequests for more information on using the CancelSpotInstanceRequests
  2071. // API call, and error handling.
  2072. //
  2073. // This method is useful when you want to inject custom logic or configuration
  2074. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2075. //
  2076. //
  2077. // // Example sending a request using the CancelSpotInstanceRequestsRequest method.
  2078. // req, resp := client.CancelSpotInstanceRequestsRequest(params)
  2079. //
  2080. // err := req.Send()
  2081. // if err == nil { // resp is now filled
  2082. // fmt.Println(resp)
  2083. // }
  2084. //
  2085. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotInstanceRequests
  2086. func (c *EC2) CancelSpotInstanceRequestsRequest(input *CancelSpotInstanceRequestsInput) (req *request.Request, output *CancelSpotInstanceRequestsOutput) {
  2087. op := &request.Operation{
  2088. Name: opCancelSpotInstanceRequests,
  2089. HTTPMethod: "POST",
  2090. HTTPPath: "/",
  2091. }
  2092. if input == nil {
  2093. input = &CancelSpotInstanceRequestsInput{}
  2094. }
  2095. output = &CancelSpotInstanceRequestsOutput{}
  2096. req = c.newRequest(op, input, output)
  2097. return
  2098. }
  2099. // CancelSpotInstanceRequests API operation for Amazon Elastic Compute Cloud.
  2100. //
  2101. // Cancels one or more Spot Instance requests. Spot Instances are instances
  2102. // that Amazon EC2 starts on your behalf when the maximum price that you specify
  2103. // exceeds the current Spot price. For more information, see Spot Instance Requests
  2104. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html) in
  2105. // the Amazon Elastic Compute Cloud User Guide.
  2106. //
  2107. // Canceling a Spot Instance request does not terminate running Spot Instances
  2108. // associated with the request.
  2109. //
  2110. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2111. // with awserr.Error's Code and Message methods to get detailed information about
  2112. // the error.
  2113. //
  2114. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2115. // API operation CancelSpotInstanceRequests for usage and error information.
  2116. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotInstanceRequests
  2117. func (c *EC2) CancelSpotInstanceRequests(input *CancelSpotInstanceRequestsInput) (*CancelSpotInstanceRequestsOutput, error) {
  2118. req, out := c.CancelSpotInstanceRequestsRequest(input)
  2119. return out, req.Send()
  2120. }
  2121. // CancelSpotInstanceRequestsWithContext is the same as CancelSpotInstanceRequests with the addition of
  2122. // the ability to pass a context and additional request options.
  2123. //
  2124. // See CancelSpotInstanceRequests for details on how to use this API operation.
  2125. //
  2126. // The context must be non-nil and will be used for request cancellation. If
  2127. // the context is nil a panic will occur. In the future the SDK may create
  2128. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2129. // for more information on using Contexts.
  2130. func (c *EC2) CancelSpotInstanceRequestsWithContext(ctx aws.Context, input *CancelSpotInstanceRequestsInput, opts ...request.Option) (*CancelSpotInstanceRequestsOutput, error) {
  2131. req, out := c.CancelSpotInstanceRequestsRequest(input)
  2132. req.SetContext(ctx)
  2133. req.ApplyOptions(opts...)
  2134. return out, req.Send()
  2135. }
  2136. const opConfirmProductInstance = "ConfirmProductInstance"
  2137. // ConfirmProductInstanceRequest generates a "aws/request.Request" representing the
  2138. // client's request for the ConfirmProductInstance operation. The "output" return
  2139. // value will be populated with the request's response once the request complets
  2140. // successfuly.
  2141. //
  2142. // Use "Send" method on the returned Request to send the API call to the service.
  2143. // the "output" return value is not valid until after Send returns without error.
  2144. //
  2145. // See ConfirmProductInstance for more information on using the ConfirmProductInstance
  2146. // API call, and error handling.
  2147. //
  2148. // This method is useful when you want to inject custom logic or configuration
  2149. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2150. //
  2151. //
  2152. // // Example sending a request using the ConfirmProductInstanceRequest method.
  2153. // req, resp := client.ConfirmProductInstanceRequest(params)
  2154. //
  2155. // err := req.Send()
  2156. // if err == nil { // resp is now filled
  2157. // fmt.Println(resp)
  2158. // }
  2159. //
  2160. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ConfirmProductInstance
  2161. func (c *EC2) ConfirmProductInstanceRequest(input *ConfirmProductInstanceInput) (req *request.Request, output *ConfirmProductInstanceOutput) {
  2162. op := &request.Operation{
  2163. Name: opConfirmProductInstance,
  2164. HTTPMethod: "POST",
  2165. HTTPPath: "/",
  2166. }
  2167. if input == nil {
  2168. input = &ConfirmProductInstanceInput{}
  2169. }
  2170. output = &ConfirmProductInstanceOutput{}
  2171. req = c.newRequest(op, input, output)
  2172. return
  2173. }
  2174. // ConfirmProductInstance API operation for Amazon Elastic Compute Cloud.
  2175. //
  2176. // Determines whether a product code is associated with an instance. This action
  2177. // can only be used by the owner of the product code. It is useful when a product
  2178. // code owner must verify whether another user's instance is eligible for support.
  2179. //
  2180. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2181. // with awserr.Error's Code and Message methods to get detailed information about
  2182. // the error.
  2183. //
  2184. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2185. // API operation ConfirmProductInstance for usage and error information.
  2186. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ConfirmProductInstance
  2187. func (c *EC2) ConfirmProductInstance(input *ConfirmProductInstanceInput) (*ConfirmProductInstanceOutput, error) {
  2188. req, out := c.ConfirmProductInstanceRequest(input)
  2189. return out, req.Send()
  2190. }
  2191. // ConfirmProductInstanceWithContext is the same as ConfirmProductInstance with the addition of
  2192. // the ability to pass a context and additional request options.
  2193. //
  2194. // See ConfirmProductInstance for details on how to use this API operation.
  2195. //
  2196. // The context must be non-nil and will be used for request cancellation. If
  2197. // the context is nil a panic will occur. In the future the SDK may create
  2198. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2199. // for more information on using Contexts.
  2200. func (c *EC2) ConfirmProductInstanceWithContext(ctx aws.Context, input *ConfirmProductInstanceInput, opts ...request.Option) (*ConfirmProductInstanceOutput, error) {
  2201. req, out := c.ConfirmProductInstanceRequest(input)
  2202. req.SetContext(ctx)
  2203. req.ApplyOptions(opts...)
  2204. return out, req.Send()
  2205. }
  2206. const opCopyFpgaImage = "CopyFpgaImage"
  2207. // CopyFpgaImageRequest generates a "aws/request.Request" representing the
  2208. // client's request for the CopyFpgaImage operation. The "output" return
  2209. // value will be populated with the request's response once the request complets
  2210. // successfuly.
  2211. //
  2212. // Use "Send" method on the returned Request to send the API call to the service.
  2213. // the "output" return value is not valid until after Send returns without error.
  2214. //
  2215. // See CopyFpgaImage for more information on using the CopyFpgaImage
  2216. // API call, and error handling.
  2217. //
  2218. // This method is useful when you want to inject custom logic or configuration
  2219. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2220. //
  2221. //
  2222. // // Example sending a request using the CopyFpgaImageRequest method.
  2223. // req, resp := client.CopyFpgaImageRequest(params)
  2224. //
  2225. // err := req.Send()
  2226. // if err == nil { // resp is now filled
  2227. // fmt.Println(resp)
  2228. // }
  2229. //
  2230. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyFpgaImage
  2231. func (c *EC2) CopyFpgaImageRequest(input *CopyFpgaImageInput) (req *request.Request, output *CopyFpgaImageOutput) {
  2232. op := &request.Operation{
  2233. Name: opCopyFpgaImage,
  2234. HTTPMethod: "POST",
  2235. HTTPPath: "/",
  2236. }
  2237. if input == nil {
  2238. input = &CopyFpgaImageInput{}
  2239. }
  2240. output = &CopyFpgaImageOutput{}
  2241. req = c.newRequest(op, input, output)
  2242. return
  2243. }
  2244. // CopyFpgaImage API operation for Amazon Elastic Compute Cloud.
  2245. //
  2246. // Copies the specified Amazon FPGA Image (AFI) to the current region.
  2247. //
  2248. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2249. // with awserr.Error's Code and Message methods to get detailed information about
  2250. // the error.
  2251. //
  2252. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2253. // API operation CopyFpgaImage for usage and error information.
  2254. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyFpgaImage
  2255. func (c *EC2) CopyFpgaImage(input *CopyFpgaImageInput) (*CopyFpgaImageOutput, error) {
  2256. req, out := c.CopyFpgaImageRequest(input)
  2257. return out, req.Send()
  2258. }
  2259. // CopyFpgaImageWithContext is the same as CopyFpgaImage with the addition of
  2260. // the ability to pass a context and additional request options.
  2261. //
  2262. // See CopyFpgaImage for details on how to use this API operation.
  2263. //
  2264. // The context must be non-nil and will be used for request cancellation. If
  2265. // the context is nil a panic will occur. In the future the SDK may create
  2266. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2267. // for more information on using Contexts.
  2268. func (c *EC2) CopyFpgaImageWithContext(ctx aws.Context, input *CopyFpgaImageInput, opts ...request.Option) (*CopyFpgaImageOutput, error) {
  2269. req, out := c.CopyFpgaImageRequest(input)
  2270. req.SetContext(ctx)
  2271. req.ApplyOptions(opts...)
  2272. return out, req.Send()
  2273. }
  2274. const opCopyImage = "CopyImage"
  2275. // CopyImageRequest generates a "aws/request.Request" representing the
  2276. // client's request for the CopyImage operation. The "output" return
  2277. // value will be populated with the request's response once the request complets
  2278. // successfuly.
  2279. //
  2280. // Use "Send" method on the returned Request to send the API call to the service.
  2281. // the "output" return value is not valid until after Send returns without error.
  2282. //
  2283. // See CopyImage for more information on using the CopyImage
  2284. // API call, and error handling.
  2285. //
  2286. // This method is useful when you want to inject custom logic or configuration
  2287. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2288. //
  2289. //
  2290. // // Example sending a request using the CopyImageRequest method.
  2291. // req, resp := client.CopyImageRequest(params)
  2292. //
  2293. // err := req.Send()
  2294. // if err == nil { // resp is now filled
  2295. // fmt.Println(resp)
  2296. // }
  2297. //
  2298. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyImage
  2299. func (c *EC2) CopyImageRequest(input *CopyImageInput) (req *request.Request, output *CopyImageOutput) {
  2300. op := &request.Operation{
  2301. Name: opCopyImage,
  2302. HTTPMethod: "POST",
  2303. HTTPPath: "/",
  2304. }
  2305. if input == nil {
  2306. input = &CopyImageInput{}
  2307. }
  2308. output = &CopyImageOutput{}
  2309. req = c.newRequest(op, input, output)
  2310. return
  2311. }
  2312. // CopyImage API operation for Amazon Elastic Compute Cloud.
  2313. //
  2314. // Initiates the copy of an AMI from the specified source region to the current
  2315. // region. You specify the destination region by using its endpoint when making
  2316. // the request.
  2317. //
  2318. // For more information about the prerequisites and limits when copying an AMI,
  2319. // see Copying an AMI (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/CopyingAMIs.html)
  2320. // in the Amazon Elastic Compute Cloud User Guide.
  2321. //
  2322. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2323. // with awserr.Error's Code and Message methods to get detailed information about
  2324. // the error.
  2325. //
  2326. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2327. // API operation CopyImage for usage and error information.
  2328. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyImage
  2329. func (c *EC2) CopyImage(input *CopyImageInput) (*CopyImageOutput, error) {
  2330. req, out := c.CopyImageRequest(input)
  2331. return out, req.Send()
  2332. }
  2333. // CopyImageWithContext is the same as CopyImage with the addition of
  2334. // the ability to pass a context and additional request options.
  2335. //
  2336. // See CopyImage for details on how to use this API operation.
  2337. //
  2338. // The context must be non-nil and will be used for request cancellation. If
  2339. // the context is nil a panic will occur. In the future the SDK may create
  2340. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2341. // for more information on using Contexts.
  2342. func (c *EC2) CopyImageWithContext(ctx aws.Context, input *CopyImageInput, opts ...request.Option) (*CopyImageOutput, error) {
  2343. req, out := c.CopyImageRequest(input)
  2344. req.SetContext(ctx)
  2345. req.ApplyOptions(opts...)
  2346. return out, req.Send()
  2347. }
  2348. const opCopySnapshot = "CopySnapshot"
  2349. // CopySnapshotRequest generates a "aws/request.Request" representing the
  2350. // client's request for the CopySnapshot operation. The "output" return
  2351. // value will be populated with the request's response once the request complets
  2352. // successfuly.
  2353. //
  2354. // Use "Send" method on the returned Request to send the API call to the service.
  2355. // the "output" return value is not valid until after Send returns without error.
  2356. //
  2357. // See CopySnapshot for more information on using the CopySnapshot
  2358. // API call, and error handling.
  2359. //
  2360. // This method is useful when you want to inject custom logic or configuration
  2361. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2362. //
  2363. //
  2364. // // Example sending a request using the CopySnapshotRequest method.
  2365. // req, resp := client.CopySnapshotRequest(params)
  2366. //
  2367. // err := req.Send()
  2368. // if err == nil { // resp is now filled
  2369. // fmt.Println(resp)
  2370. // }
  2371. //
  2372. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopySnapshot
  2373. func (c *EC2) CopySnapshotRequest(input *CopySnapshotInput) (req *request.Request, output *CopySnapshotOutput) {
  2374. op := &request.Operation{
  2375. Name: opCopySnapshot,
  2376. HTTPMethod: "POST",
  2377. HTTPPath: "/",
  2378. }
  2379. if input == nil {
  2380. input = &CopySnapshotInput{}
  2381. }
  2382. output = &CopySnapshotOutput{}
  2383. req = c.newRequest(op, input, output)
  2384. return
  2385. }
  2386. // CopySnapshot API operation for Amazon Elastic Compute Cloud.
  2387. //
  2388. // Copies a point-in-time snapshot of an EBS volume and stores it in Amazon
  2389. // S3. You can copy the snapshot within the same region or from one region to
  2390. // another. You can use the snapshot to create EBS volumes or Amazon Machine
  2391. // Images (AMIs). The snapshot is copied to the regional endpoint that you send
  2392. // the HTTP request to.
  2393. //
  2394. // Copies of encrypted EBS snapshots remain encrypted. Copies of unencrypted
  2395. // snapshots remain unencrypted, unless the Encrypted flag is specified during
  2396. // the snapshot copy operation. By default, encrypted snapshot copies use the
  2397. // default AWS Key Management Service (AWS KMS) customer master key (CMK); however,
  2398. // you can specify a non-default CMK with the KmsKeyId parameter.
  2399. //
  2400. // To copy an encrypted snapshot that has been shared from another account,
  2401. // you must have permissions for the CMK used to encrypt the snapshot.
  2402. //
  2403. // Snapshots created by the CopySnapshot action have an arbitrary volume ID
  2404. // that should not be used for any purpose.
  2405. //
  2406. // For more information, see Copying an Amazon EBS Snapshot (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-copy-snapshot.html)
  2407. // in the Amazon Elastic Compute Cloud User Guide.
  2408. //
  2409. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2410. // with awserr.Error's Code and Message methods to get detailed information about
  2411. // the error.
  2412. //
  2413. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2414. // API operation CopySnapshot for usage and error information.
  2415. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopySnapshot
  2416. func (c *EC2) CopySnapshot(input *CopySnapshotInput) (*CopySnapshotOutput, error) {
  2417. req, out := c.CopySnapshotRequest(input)
  2418. return out, req.Send()
  2419. }
  2420. // CopySnapshotWithContext is the same as CopySnapshot with the addition of
  2421. // the ability to pass a context and additional request options.
  2422. //
  2423. // See CopySnapshot for details on how to use this API operation.
  2424. //
  2425. // The context must be non-nil and will be used for request cancellation. If
  2426. // the context is nil a panic will occur. In the future the SDK may create
  2427. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2428. // for more information on using Contexts.
  2429. func (c *EC2) CopySnapshotWithContext(ctx aws.Context, input *CopySnapshotInput, opts ...request.Option) (*CopySnapshotOutput, error) {
  2430. req, out := c.CopySnapshotRequest(input)
  2431. req.SetContext(ctx)
  2432. req.ApplyOptions(opts...)
  2433. return out, req.Send()
  2434. }
  2435. const opCreateCustomerGateway = "CreateCustomerGateway"
  2436. // CreateCustomerGatewayRequest generates a "aws/request.Request" representing the
  2437. // client's request for the CreateCustomerGateway operation. The "output" return
  2438. // value will be populated with the request's response once the request complets
  2439. // successfuly.
  2440. //
  2441. // Use "Send" method on the returned Request to send the API call to the service.
  2442. // the "output" return value is not valid until after Send returns without error.
  2443. //
  2444. // See CreateCustomerGateway for more information on using the CreateCustomerGateway
  2445. // API call, and error handling.
  2446. //
  2447. // This method is useful when you want to inject custom logic or configuration
  2448. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2449. //
  2450. //
  2451. // // Example sending a request using the CreateCustomerGatewayRequest method.
  2452. // req, resp := client.CreateCustomerGatewayRequest(params)
  2453. //
  2454. // err := req.Send()
  2455. // if err == nil { // resp is now filled
  2456. // fmt.Println(resp)
  2457. // }
  2458. //
  2459. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCustomerGateway
  2460. func (c *EC2) CreateCustomerGatewayRequest(input *CreateCustomerGatewayInput) (req *request.Request, output *CreateCustomerGatewayOutput) {
  2461. op := &request.Operation{
  2462. Name: opCreateCustomerGateway,
  2463. HTTPMethod: "POST",
  2464. HTTPPath: "/",
  2465. }
  2466. if input == nil {
  2467. input = &CreateCustomerGatewayInput{}
  2468. }
  2469. output = &CreateCustomerGatewayOutput{}
  2470. req = c.newRequest(op, input, output)
  2471. return
  2472. }
  2473. // CreateCustomerGateway API operation for Amazon Elastic Compute Cloud.
  2474. //
  2475. // Provides information to AWS about your VPN customer gateway device. The customer
  2476. // gateway is the appliance at your end of the VPN connection. (The device on
  2477. // the AWS side of the VPN connection is the virtual private gateway.) You must
  2478. // provide the Internet-routable IP address of the customer gateway's external
  2479. // interface. The IP address must be static and may be behind a device performing
  2480. // network address translation (NAT).
  2481. //
  2482. // For devices that use Border Gateway Protocol (BGP), you can also provide
  2483. // the device's BGP Autonomous System Number (ASN). You can use an existing
  2484. // ASN assigned to your network. If you don't have an ASN already, you can use
  2485. // a private ASN (in the 64512 - 65534 range).
  2486. //
  2487. // Amazon EC2 supports all 2-byte ASN numbers in the range of 1 - 65534, with
  2488. // the exception of 7224, which is reserved in the us-east-1 region, and 9059,
  2489. // which is reserved in the eu-west-1 region.
  2490. //
  2491. // For more information about VPN customer gateways, see AWS Managed VPN Connections
  2492. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html) in the
  2493. // Amazon Virtual Private Cloud User Guide.
  2494. //
  2495. // You cannot create more than one customer gateway with the same VPN type,
  2496. // IP address, and BGP ASN parameter values. If you run an identical request
  2497. // more than one time, the first request creates the customer gateway, and subsequent
  2498. // requests return information about the existing customer gateway. The subsequent
  2499. // requests do not create new customer gateway resources.
  2500. //
  2501. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2502. // with awserr.Error's Code and Message methods to get detailed information about
  2503. // the error.
  2504. //
  2505. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2506. // API operation CreateCustomerGateway for usage and error information.
  2507. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCustomerGateway
  2508. func (c *EC2) CreateCustomerGateway(input *CreateCustomerGatewayInput) (*CreateCustomerGatewayOutput, error) {
  2509. req, out := c.CreateCustomerGatewayRequest(input)
  2510. return out, req.Send()
  2511. }
  2512. // CreateCustomerGatewayWithContext is the same as CreateCustomerGateway with the addition of
  2513. // the ability to pass a context and additional request options.
  2514. //
  2515. // See CreateCustomerGateway for details on how to use this API operation.
  2516. //
  2517. // The context must be non-nil and will be used for request cancellation. If
  2518. // the context is nil a panic will occur. In the future the SDK may create
  2519. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2520. // for more information on using Contexts.
  2521. func (c *EC2) CreateCustomerGatewayWithContext(ctx aws.Context, input *CreateCustomerGatewayInput, opts ...request.Option) (*CreateCustomerGatewayOutput, error) {
  2522. req, out := c.CreateCustomerGatewayRequest(input)
  2523. req.SetContext(ctx)
  2524. req.ApplyOptions(opts...)
  2525. return out, req.Send()
  2526. }
  2527. const opCreateDefaultSubnet = "CreateDefaultSubnet"
  2528. // CreateDefaultSubnetRequest generates a "aws/request.Request" representing the
  2529. // client's request for the CreateDefaultSubnet operation. The "output" return
  2530. // value will be populated with the request's response once the request complets
  2531. // successfuly.
  2532. //
  2533. // Use "Send" method on the returned Request to send the API call to the service.
  2534. // the "output" return value is not valid until after Send returns without error.
  2535. //
  2536. // See CreateDefaultSubnet for more information on using the CreateDefaultSubnet
  2537. // API call, and error handling.
  2538. //
  2539. // This method is useful when you want to inject custom logic or configuration
  2540. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2541. //
  2542. //
  2543. // // Example sending a request using the CreateDefaultSubnetRequest method.
  2544. // req, resp := client.CreateDefaultSubnetRequest(params)
  2545. //
  2546. // err := req.Send()
  2547. // if err == nil { // resp is now filled
  2548. // fmt.Println(resp)
  2549. // }
  2550. //
  2551. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultSubnet
  2552. func (c *EC2) CreateDefaultSubnetRequest(input *CreateDefaultSubnetInput) (req *request.Request, output *CreateDefaultSubnetOutput) {
  2553. op := &request.Operation{
  2554. Name: opCreateDefaultSubnet,
  2555. HTTPMethod: "POST",
  2556. HTTPPath: "/",
  2557. }
  2558. if input == nil {
  2559. input = &CreateDefaultSubnetInput{}
  2560. }
  2561. output = &CreateDefaultSubnetOutput{}
  2562. req = c.newRequest(op, input, output)
  2563. return
  2564. }
  2565. // CreateDefaultSubnet API operation for Amazon Elastic Compute Cloud.
  2566. //
  2567. // Creates a default subnet with a size /20 IPv4 CIDR block in the specified
  2568. // Availability Zone in your default VPC. You can have only one default subnet
  2569. // per Availability Zone. For more information, see Creating a Default Subnet
  2570. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/default-vpc.html#create-default-subnet)
  2571. // in the Amazon Virtual Private Cloud User Guide.
  2572. //
  2573. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2574. // with awserr.Error's Code and Message methods to get detailed information about
  2575. // the error.
  2576. //
  2577. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2578. // API operation CreateDefaultSubnet for usage and error information.
  2579. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultSubnet
  2580. func (c *EC2) CreateDefaultSubnet(input *CreateDefaultSubnetInput) (*CreateDefaultSubnetOutput, error) {
  2581. req, out := c.CreateDefaultSubnetRequest(input)
  2582. return out, req.Send()
  2583. }
  2584. // CreateDefaultSubnetWithContext is the same as CreateDefaultSubnet with the addition of
  2585. // the ability to pass a context and additional request options.
  2586. //
  2587. // See CreateDefaultSubnet for details on how to use this API operation.
  2588. //
  2589. // The context must be non-nil and will be used for request cancellation. If
  2590. // the context is nil a panic will occur. In the future the SDK may create
  2591. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2592. // for more information on using Contexts.
  2593. func (c *EC2) CreateDefaultSubnetWithContext(ctx aws.Context, input *CreateDefaultSubnetInput, opts ...request.Option) (*CreateDefaultSubnetOutput, error) {
  2594. req, out := c.CreateDefaultSubnetRequest(input)
  2595. req.SetContext(ctx)
  2596. req.ApplyOptions(opts...)
  2597. return out, req.Send()
  2598. }
  2599. const opCreateDefaultVpc = "CreateDefaultVpc"
  2600. // CreateDefaultVpcRequest generates a "aws/request.Request" representing the
  2601. // client's request for the CreateDefaultVpc operation. The "output" return
  2602. // value will be populated with the request's response once the request complets
  2603. // successfuly.
  2604. //
  2605. // Use "Send" method on the returned Request to send the API call to the service.
  2606. // the "output" return value is not valid until after Send returns without error.
  2607. //
  2608. // See CreateDefaultVpc for more information on using the CreateDefaultVpc
  2609. // API call, and error handling.
  2610. //
  2611. // This method is useful when you want to inject custom logic or configuration
  2612. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2613. //
  2614. //
  2615. // // Example sending a request using the CreateDefaultVpcRequest method.
  2616. // req, resp := client.CreateDefaultVpcRequest(params)
  2617. //
  2618. // err := req.Send()
  2619. // if err == nil { // resp is now filled
  2620. // fmt.Println(resp)
  2621. // }
  2622. //
  2623. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultVpc
  2624. func (c *EC2) CreateDefaultVpcRequest(input *CreateDefaultVpcInput) (req *request.Request, output *CreateDefaultVpcOutput) {
  2625. op := &request.Operation{
  2626. Name: opCreateDefaultVpc,
  2627. HTTPMethod: "POST",
  2628. HTTPPath: "/",
  2629. }
  2630. if input == nil {
  2631. input = &CreateDefaultVpcInput{}
  2632. }
  2633. output = &CreateDefaultVpcOutput{}
  2634. req = c.newRequest(op, input, output)
  2635. return
  2636. }
  2637. // CreateDefaultVpc API operation for Amazon Elastic Compute Cloud.
  2638. //
  2639. // Creates a default VPC with a size /16 IPv4 CIDR block and a default subnet
  2640. // in each Availability Zone. For more information about the components of a
  2641. // default VPC, see Default VPC and Default Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/default-vpc.html)
  2642. // in the Amazon Virtual Private Cloud User Guide. You cannot specify the components
  2643. // of the default VPC yourself.
  2644. //
  2645. // You can create a default VPC if you deleted your previous default VPC. You
  2646. // cannot have more than one default VPC per region.
  2647. //
  2648. // If your account supports EC2-Classic, you cannot use this action to create
  2649. // a default VPC in a region that supports EC2-Classic. If you want a default
  2650. // VPC in a region that supports EC2-Classic, see "I really want a default VPC
  2651. // for my existing EC2 account. Is that possible?" in the Default VPCs FAQ (http://aws.amazon.com/vpc/faqs/#Default_VPCs).
  2652. //
  2653. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2654. // with awserr.Error's Code and Message methods to get detailed information about
  2655. // the error.
  2656. //
  2657. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2658. // API operation CreateDefaultVpc for usage and error information.
  2659. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultVpc
  2660. func (c *EC2) CreateDefaultVpc(input *CreateDefaultVpcInput) (*CreateDefaultVpcOutput, error) {
  2661. req, out := c.CreateDefaultVpcRequest(input)
  2662. return out, req.Send()
  2663. }
  2664. // CreateDefaultVpcWithContext is the same as CreateDefaultVpc with the addition of
  2665. // the ability to pass a context and additional request options.
  2666. //
  2667. // See CreateDefaultVpc for details on how to use this API operation.
  2668. //
  2669. // The context must be non-nil and will be used for request cancellation. If
  2670. // the context is nil a panic will occur. In the future the SDK may create
  2671. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2672. // for more information on using Contexts.
  2673. func (c *EC2) CreateDefaultVpcWithContext(ctx aws.Context, input *CreateDefaultVpcInput, opts ...request.Option) (*CreateDefaultVpcOutput, error) {
  2674. req, out := c.CreateDefaultVpcRequest(input)
  2675. req.SetContext(ctx)
  2676. req.ApplyOptions(opts...)
  2677. return out, req.Send()
  2678. }
  2679. const opCreateDhcpOptions = "CreateDhcpOptions"
  2680. // CreateDhcpOptionsRequest generates a "aws/request.Request" representing the
  2681. // client's request for the CreateDhcpOptions operation. The "output" return
  2682. // value will be populated with the request's response once the request complets
  2683. // successfuly.
  2684. //
  2685. // Use "Send" method on the returned Request to send the API call to the service.
  2686. // the "output" return value is not valid until after Send returns without error.
  2687. //
  2688. // See CreateDhcpOptions for more information on using the CreateDhcpOptions
  2689. // API call, and error handling.
  2690. //
  2691. // This method is useful when you want to inject custom logic or configuration
  2692. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2693. //
  2694. //
  2695. // // Example sending a request using the CreateDhcpOptionsRequest method.
  2696. // req, resp := client.CreateDhcpOptionsRequest(params)
  2697. //
  2698. // err := req.Send()
  2699. // if err == nil { // resp is now filled
  2700. // fmt.Println(resp)
  2701. // }
  2702. //
  2703. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDhcpOptions
  2704. func (c *EC2) CreateDhcpOptionsRequest(input *CreateDhcpOptionsInput) (req *request.Request, output *CreateDhcpOptionsOutput) {
  2705. op := &request.Operation{
  2706. Name: opCreateDhcpOptions,
  2707. HTTPMethod: "POST",
  2708. HTTPPath: "/",
  2709. }
  2710. if input == nil {
  2711. input = &CreateDhcpOptionsInput{}
  2712. }
  2713. output = &CreateDhcpOptionsOutput{}
  2714. req = c.newRequest(op, input, output)
  2715. return
  2716. }
  2717. // CreateDhcpOptions API operation for Amazon Elastic Compute Cloud.
  2718. //
  2719. // Creates a set of DHCP options for your VPC. After creating the set, you must
  2720. // associate it with the VPC, causing all existing and new instances that you
  2721. // launch in the VPC to use this set of DHCP options. The following are the
  2722. // individual DHCP options you can specify. For more information about the options,
  2723. // see RFC 2132 (http://www.ietf.org/rfc/rfc2132.txt).
  2724. //
  2725. // * domain-name-servers - The IP addresses of up to four domain name servers,
  2726. // or AmazonProvidedDNS. The default DHCP option set specifies AmazonProvidedDNS.
  2727. // If specifying more than one domain name server, specify the IP addresses
  2728. // in a single parameter, separated by commas. If you want your instance
  2729. // to receive a custom DNS hostname as specified in domain-name, you must
  2730. // set domain-name-servers to a custom DNS server.
  2731. //
  2732. // * domain-name - If you're using AmazonProvidedDNS in us-east-1, specify
  2733. // ec2.internal. If you're using AmazonProvidedDNS in another region, specify
  2734. // region.compute.internal (for example, ap-northeast-1.compute.internal).
  2735. // Otherwise, specify a domain name (for example, MyCompany.com). This value
  2736. // is used to complete unqualified DNS hostnames. Important: Some Linux operating
  2737. // systems accept multiple domain names separated by spaces. However, Windows
  2738. // and other Linux operating systems treat the value as a single domain,
  2739. // which results in unexpected behavior. If your DHCP options set is associated
  2740. // with a VPC that has instances with multiple operating systems, specify
  2741. // only one domain name.
  2742. //
  2743. // * ntp-servers - The IP addresses of up to four Network Time Protocol (NTP)
  2744. // servers.
  2745. //
  2746. // * netbios-name-servers - The IP addresses of up to four NetBIOS name servers.
  2747. //
  2748. // * netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend
  2749. // that you specify 2 (broadcast and multicast are not currently supported).
  2750. // For more information about these node types, see RFC 2132 (http://www.ietf.org/rfc/rfc2132.txt).
  2751. //
  2752. // Your VPC automatically starts out with a set of DHCP options that includes
  2753. // only a DNS server that we provide (AmazonProvidedDNS). If you create a set
  2754. // of options, and if your VPC has an Internet gateway, make sure to set the
  2755. // domain-name-servers option either to AmazonProvidedDNS or to a domain name
  2756. // server of your choice. For more information about DHCP options, see DHCP
  2757. // Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
  2758. // in the Amazon Virtual Private Cloud User Guide.
  2759. //
  2760. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2761. // with awserr.Error's Code and Message methods to get detailed information about
  2762. // the error.
  2763. //
  2764. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2765. // API operation CreateDhcpOptions for usage and error information.
  2766. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDhcpOptions
  2767. func (c *EC2) CreateDhcpOptions(input *CreateDhcpOptionsInput) (*CreateDhcpOptionsOutput, error) {
  2768. req, out := c.CreateDhcpOptionsRequest(input)
  2769. return out, req.Send()
  2770. }
  2771. // CreateDhcpOptionsWithContext is the same as CreateDhcpOptions with the addition of
  2772. // the ability to pass a context and additional request options.
  2773. //
  2774. // See CreateDhcpOptions for details on how to use this API operation.
  2775. //
  2776. // The context must be non-nil and will be used for request cancellation. If
  2777. // the context is nil a panic will occur. In the future the SDK may create
  2778. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2779. // for more information on using Contexts.
  2780. func (c *EC2) CreateDhcpOptionsWithContext(ctx aws.Context, input *CreateDhcpOptionsInput, opts ...request.Option) (*CreateDhcpOptionsOutput, error) {
  2781. req, out := c.CreateDhcpOptionsRequest(input)
  2782. req.SetContext(ctx)
  2783. req.ApplyOptions(opts...)
  2784. return out, req.Send()
  2785. }
  2786. const opCreateEgressOnlyInternetGateway = "CreateEgressOnlyInternetGateway"
  2787. // CreateEgressOnlyInternetGatewayRequest generates a "aws/request.Request" representing the
  2788. // client's request for the CreateEgressOnlyInternetGateway operation. The "output" return
  2789. // value will be populated with the request's response once the request complets
  2790. // successfuly.
  2791. //
  2792. // Use "Send" method on the returned Request to send the API call to the service.
  2793. // the "output" return value is not valid until after Send returns without error.
  2794. //
  2795. // See CreateEgressOnlyInternetGateway for more information on using the CreateEgressOnlyInternetGateway
  2796. // API call, and error handling.
  2797. //
  2798. // This method is useful when you want to inject custom logic or configuration
  2799. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2800. //
  2801. //
  2802. // // Example sending a request using the CreateEgressOnlyInternetGatewayRequest method.
  2803. // req, resp := client.CreateEgressOnlyInternetGatewayRequest(params)
  2804. //
  2805. // err := req.Send()
  2806. // if err == nil { // resp is now filled
  2807. // fmt.Println(resp)
  2808. // }
  2809. //
  2810. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateEgressOnlyInternetGateway
  2811. func (c *EC2) CreateEgressOnlyInternetGatewayRequest(input *CreateEgressOnlyInternetGatewayInput) (req *request.Request, output *CreateEgressOnlyInternetGatewayOutput) {
  2812. op := &request.Operation{
  2813. Name: opCreateEgressOnlyInternetGateway,
  2814. HTTPMethod: "POST",
  2815. HTTPPath: "/",
  2816. }
  2817. if input == nil {
  2818. input = &CreateEgressOnlyInternetGatewayInput{}
  2819. }
  2820. output = &CreateEgressOnlyInternetGatewayOutput{}
  2821. req = c.newRequest(op, input, output)
  2822. return
  2823. }
  2824. // CreateEgressOnlyInternetGateway API operation for Amazon Elastic Compute Cloud.
  2825. //
  2826. // [IPv6 only] Creates an egress-only Internet gateway for your VPC. An egress-only
  2827. // Internet gateway is used to enable outbound communication over IPv6 from
  2828. // instances in your VPC to the Internet, and prevents hosts outside of your
  2829. // VPC from initiating an IPv6 connection with your instance.
  2830. //
  2831. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2832. // with awserr.Error's Code and Message methods to get detailed information about
  2833. // the error.
  2834. //
  2835. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2836. // API operation CreateEgressOnlyInternetGateway for usage and error information.
  2837. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateEgressOnlyInternetGateway
  2838. func (c *EC2) CreateEgressOnlyInternetGateway(input *CreateEgressOnlyInternetGatewayInput) (*CreateEgressOnlyInternetGatewayOutput, error) {
  2839. req, out := c.CreateEgressOnlyInternetGatewayRequest(input)
  2840. return out, req.Send()
  2841. }
  2842. // CreateEgressOnlyInternetGatewayWithContext is the same as CreateEgressOnlyInternetGateway with the addition of
  2843. // the ability to pass a context and additional request options.
  2844. //
  2845. // See CreateEgressOnlyInternetGateway for details on how to use this API operation.
  2846. //
  2847. // The context must be non-nil and will be used for request cancellation. If
  2848. // the context is nil a panic will occur. In the future the SDK may create
  2849. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2850. // for more information on using Contexts.
  2851. func (c *EC2) CreateEgressOnlyInternetGatewayWithContext(ctx aws.Context, input *CreateEgressOnlyInternetGatewayInput, opts ...request.Option) (*CreateEgressOnlyInternetGatewayOutput, error) {
  2852. req, out := c.CreateEgressOnlyInternetGatewayRequest(input)
  2853. req.SetContext(ctx)
  2854. req.ApplyOptions(opts...)
  2855. return out, req.Send()
  2856. }
  2857. const opCreateFlowLogs = "CreateFlowLogs"
  2858. // CreateFlowLogsRequest generates a "aws/request.Request" representing the
  2859. // client's request for the CreateFlowLogs operation. The "output" return
  2860. // value will be populated with the request's response once the request complets
  2861. // successfuly.
  2862. //
  2863. // Use "Send" method on the returned Request to send the API call to the service.
  2864. // the "output" return value is not valid until after Send returns without error.
  2865. //
  2866. // See CreateFlowLogs for more information on using the CreateFlowLogs
  2867. // API call, and error handling.
  2868. //
  2869. // This method is useful when you want to inject custom logic or configuration
  2870. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2871. //
  2872. //
  2873. // // Example sending a request using the CreateFlowLogsRequest method.
  2874. // req, resp := client.CreateFlowLogsRequest(params)
  2875. //
  2876. // err := req.Send()
  2877. // if err == nil { // resp is now filled
  2878. // fmt.Println(resp)
  2879. // }
  2880. //
  2881. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFlowLogs
  2882. func (c *EC2) CreateFlowLogsRequest(input *CreateFlowLogsInput) (req *request.Request, output *CreateFlowLogsOutput) {
  2883. op := &request.Operation{
  2884. Name: opCreateFlowLogs,
  2885. HTTPMethod: "POST",
  2886. HTTPPath: "/",
  2887. }
  2888. if input == nil {
  2889. input = &CreateFlowLogsInput{}
  2890. }
  2891. output = &CreateFlowLogsOutput{}
  2892. req = c.newRequest(op, input, output)
  2893. return
  2894. }
  2895. // CreateFlowLogs API operation for Amazon Elastic Compute Cloud.
  2896. //
  2897. // Creates one or more flow logs to capture IP traffic for a specific network
  2898. // interface, subnet, or VPC. Flow logs are delivered to a specified log group
  2899. // in Amazon CloudWatch Logs. If you specify a VPC or subnet in the request,
  2900. // a log stream is created in CloudWatch Logs for each network interface in
  2901. // the subnet or VPC. Log streams can include information about accepted and
  2902. // rejected traffic to a network interface. You can view the data in your log
  2903. // streams using Amazon CloudWatch Logs.
  2904. //
  2905. // In your request, you must also specify an IAM role that has permission to
  2906. // publish logs to CloudWatch Logs.
  2907. //
  2908. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2909. // with awserr.Error's Code and Message methods to get detailed information about
  2910. // the error.
  2911. //
  2912. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2913. // API operation CreateFlowLogs for usage and error information.
  2914. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFlowLogs
  2915. func (c *EC2) CreateFlowLogs(input *CreateFlowLogsInput) (*CreateFlowLogsOutput, error) {
  2916. req, out := c.CreateFlowLogsRequest(input)
  2917. return out, req.Send()
  2918. }
  2919. // CreateFlowLogsWithContext is the same as CreateFlowLogs with the addition of
  2920. // the ability to pass a context and additional request options.
  2921. //
  2922. // See CreateFlowLogs for details on how to use this API operation.
  2923. //
  2924. // The context must be non-nil and will be used for request cancellation. If
  2925. // the context is nil a panic will occur. In the future the SDK may create
  2926. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2927. // for more information on using Contexts.
  2928. func (c *EC2) CreateFlowLogsWithContext(ctx aws.Context, input *CreateFlowLogsInput, opts ...request.Option) (*CreateFlowLogsOutput, error) {
  2929. req, out := c.CreateFlowLogsRequest(input)
  2930. req.SetContext(ctx)
  2931. req.ApplyOptions(opts...)
  2932. return out, req.Send()
  2933. }
  2934. const opCreateFpgaImage = "CreateFpgaImage"
  2935. // CreateFpgaImageRequest generates a "aws/request.Request" representing the
  2936. // client's request for the CreateFpgaImage operation. The "output" return
  2937. // value will be populated with the request's response once the request complets
  2938. // successfuly.
  2939. //
  2940. // Use "Send" method on the returned Request to send the API call to the service.
  2941. // the "output" return value is not valid until after Send returns without error.
  2942. //
  2943. // See CreateFpgaImage for more information on using the CreateFpgaImage
  2944. // API call, and error handling.
  2945. //
  2946. // This method is useful when you want to inject custom logic or configuration
  2947. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2948. //
  2949. //
  2950. // // Example sending a request using the CreateFpgaImageRequest method.
  2951. // req, resp := client.CreateFpgaImageRequest(params)
  2952. //
  2953. // err := req.Send()
  2954. // if err == nil { // resp is now filled
  2955. // fmt.Println(resp)
  2956. // }
  2957. //
  2958. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFpgaImage
  2959. func (c *EC2) CreateFpgaImageRequest(input *CreateFpgaImageInput) (req *request.Request, output *CreateFpgaImageOutput) {
  2960. op := &request.Operation{
  2961. Name: opCreateFpgaImage,
  2962. HTTPMethod: "POST",
  2963. HTTPPath: "/",
  2964. }
  2965. if input == nil {
  2966. input = &CreateFpgaImageInput{}
  2967. }
  2968. output = &CreateFpgaImageOutput{}
  2969. req = c.newRequest(op, input, output)
  2970. return
  2971. }
  2972. // CreateFpgaImage API operation for Amazon Elastic Compute Cloud.
  2973. //
  2974. // Creates an Amazon FPGA Image (AFI) from the specified design checkpoint (DCP).
  2975. //
  2976. // The create operation is asynchronous. To verify that the AFI is ready for
  2977. // use, check the output logs.
  2978. //
  2979. // An AFI contains the FPGA bitstream that is ready to download to an FPGA.
  2980. // You can securely deploy an AFI on one or more FPGA-accelerated instances.
  2981. // For more information, see the AWS FPGA Hardware Development Kit (https://github.com/aws/aws-fpga/).
  2982. //
  2983. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2984. // with awserr.Error's Code and Message methods to get detailed information about
  2985. // the error.
  2986. //
  2987. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2988. // API operation CreateFpgaImage for usage and error information.
  2989. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFpgaImage
  2990. func (c *EC2) CreateFpgaImage(input *CreateFpgaImageInput) (*CreateFpgaImageOutput, error) {
  2991. req, out := c.CreateFpgaImageRequest(input)
  2992. return out, req.Send()
  2993. }
  2994. // CreateFpgaImageWithContext is the same as CreateFpgaImage with the addition of
  2995. // the ability to pass a context and additional request options.
  2996. //
  2997. // See CreateFpgaImage for details on how to use this API operation.
  2998. //
  2999. // The context must be non-nil and will be used for request cancellation. If
  3000. // the context is nil a panic will occur. In the future the SDK may create
  3001. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3002. // for more information on using Contexts.
  3003. func (c *EC2) CreateFpgaImageWithContext(ctx aws.Context, input *CreateFpgaImageInput, opts ...request.Option) (*CreateFpgaImageOutput, error) {
  3004. req, out := c.CreateFpgaImageRequest(input)
  3005. req.SetContext(ctx)
  3006. req.ApplyOptions(opts...)
  3007. return out, req.Send()
  3008. }
  3009. const opCreateImage = "CreateImage"
  3010. // CreateImageRequest generates a "aws/request.Request" representing the
  3011. // client's request for the CreateImage operation. The "output" return
  3012. // value will be populated with the request's response once the request complets
  3013. // successfuly.
  3014. //
  3015. // Use "Send" method on the returned Request to send the API call to the service.
  3016. // the "output" return value is not valid until after Send returns without error.
  3017. //
  3018. // See CreateImage for more information on using the CreateImage
  3019. // API call, and error handling.
  3020. //
  3021. // This method is useful when you want to inject custom logic or configuration
  3022. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3023. //
  3024. //
  3025. // // Example sending a request using the CreateImageRequest method.
  3026. // req, resp := client.CreateImageRequest(params)
  3027. //
  3028. // err := req.Send()
  3029. // if err == nil { // resp is now filled
  3030. // fmt.Println(resp)
  3031. // }
  3032. //
  3033. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateImage
  3034. func (c *EC2) CreateImageRequest(input *CreateImageInput) (req *request.Request, output *CreateImageOutput) {
  3035. op := &request.Operation{
  3036. Name: opCreateImage,
  3037. HTTPMethod: "POST",
  3038. HTTPPath: "/",
  3039. }
  3040. if input == nil {
  3041. input = &CreateImageInput{}
  3042. }
  3043. output = &CreateImageOutput{}
  3044. req = c.newRequest(op, input, output)
  3045. return
  3046. }
  3047. // CreateImage API operation for Amazon Elastic Compute Cloud.
  3048. //
  3049. // Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that
  3050. // is either running or stopped.
  3051. //
  3052. // If you customized your instance with instance store volumes or EBS volumes
  3053. // in addition to the root device volume, the new AMI contains block device
  3054. // mapping information for those volumes. When you launch an instance from this
  3055. // new AMI, the instance automatically launches with those additional volumes.
  3056. //
  3057. // For more information, see Creating Amazon EBS-Backed Linux AMIs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html)
  3058. // in the Amazon Elastic Compute Cloud User Guide.
  3059. //
  3060. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3061. // with awserr.Error's Code and Message methods to get detailed information about
  3062. // the error.
  3063. //
  3064. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3065. // API operation CreateImage for usage and error information.
  3066. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateImage
  3067. func (c *EC2) CreateImage(input *CreateImageInput) (*CreateImageOutput, error) {
  3068. req, out := c.CreateImageRequest(input)
  3069. return out, req.Send()
  3070. }
  3071. // CreateImageWithContext is the same as CreateImage with the addition of
  3072. // the ability to pass a context and additional request options.
  3073. //
  3074. // See CreateImage for details on how to use this API operation.
  3075. //
  3076. // The context must be non-nil and will be used for request cancellation. If
  3077. // the context is nil a panic will occur. In the future the SDK may create
  3078. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3079. // for more information on using Contexts.
  3080. func (c *EC2) CreateImageWithContext(ctx aws.Context, input *CreateImageInput, opts ...request.Option) (*CreateImageOutput, error) {
  3081. req, out := c.CreateImageRequest(input)
  3082. req.SetContext(ctx)
  3083. req.ApplyOptions(opts...)
  3084. return out, req.Send()
  3085. }
  3086. const opCreateInstanceExportTask = "CreateInstanceExportTask"
  3087. // CreateInstanceExportTaskRequest generates a "aws/request.Request" representing the
  3088. // client's request for the CreateInstanceExportTask operation. The "output" return
  3089. // value will be populated with the request's response once the request complets
  3090. // successfuly.
  3091. //
  3092. // Use "Send" method on the returned Request to send the API call to the service.
  3093. // the "output" return value is not valid until after Send returns without error.
  3094. //
  3095. // See CreateInstanceExportTask for more information on using the CreateInstanceExportTask
  3096. // API call, and error handling.
  3097. //
  3098. // This method is useful when you want to inject custom logic or configuration
  3099. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3100. //
  3101. //
  3102. // // Example sending a request using the CreateInstanceExportTaskRequest method.
  3103. // req, resp := client.CreateInstanceExportTaskRequest(params)
  3104. //
  3105. // err := req.Send()
  3106. // if err == nil { // resp is now filled
  3107. // fmt.Println(resp)
  3108. // }
  3109. //
  3110. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInstanceExportTask
  3111. func (c *EC2) CreateInstanceExportTaskRequest(input *CreateInstanceExportTaskInput) (req *request.Request, output *CreateInstanceExportTaskOutput) {
  3112. op := &request.Operation{
  3113. Name: opCreateInstanceExportTask,
  3114. HTTPMethod: "POST",
  3115. HTTPPath: "/",
  3116. }
  3117. if input == nil {
  3118. input = &CreateInstanceExportTaskInput{}
  3119. }
  3120. output = &CreateInstanceExportTaskOutput{}
  3121. req = c.newRequest(op, input, output)
  3122. return
  3123. }
  3124. // CreateInstanceExportTask API operation for Amazon Elastic Compute Cloud.
  3125. //
  3126. // Exports a running or stopped instance to an S3 bucket.
  3127. //
  3128. // For information about the supported operating systems, image formats, and
  3129. // known limitations for the types of instances you can export, see Exporting
  3130. // an Instance as a VM Using VM Import/Export (http://docs.aws.amazon.com/vm-import/latest/userguide/vmexport.html)
  3131. // in the VM Import/Export User Guide.
  3132. //
  3133. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3134. // with awserr.Error's Code and Message methods to get detailed information about
  3135. // the error.
  3136. //
  3137. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3138. // API operation CreateInstanceExportTask for usage and error information.
  3139. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInstanceExportTask
  3140. func (c *EC2) CreateInstanceExportTask(input *CreateInstanceExportTaskInput) (*CreateInstanceExportTaskOutput, error) {
  3141. req, out := c.CreateInstanceExportTaskRequest(input)
  3142. return out, req.Send()
  3143. }
  3144. // CreateInstanceExportTaskWithContext is the same as CreateInstanceExportTask with the addition of
  3145. // the ability to pass a context and additional request options.
  3146. //
  3147. // See CreateInstanceExportTask for details on how to use this API operation.
  3148. //
  3149. // The context must be non-nil and will be used for request cancellation. If
  3150. // the context is nil a panic will occur. In the future the SDK may create
  3151. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3152. // for more information on using Contexts.
  3153. func (c *EC2) CreateInstanceExportTaskWithContext(ctx aws.Context, input *CreateInstanceExportTaskInput, opts ...request.Option) (*CreateInstanceExportTaskOutput, error) {
  3154. req, out := c.CreateInstanceExportTaskRequest(input)
  3155. req.SetContext(ctx)
  3156. req.ApplyOptions(opts...)
  3157. return out, req.Send()
  3158. }
  3159. const opCreateInternetGateway = "CreateInternetGateway"
  3160. // CreateInternetGatewayRequest generates a "aws/request.Request" representing the
  3161. // client's request for the CreateInternetGateway operation. The "output" return
  3162. // value will be populated with the request's response once the request complets
  3163. // successfuly.
  3164. //
  3165. // Use "Send" method on the returned Request to send the API call to the service.
  3166. // the "output" return value is not valid until after Send returns without error.
  3167. //
  3168. // See CreateInternetGateway for more information on using the CreateInternetGateway
  3169. // API call, and error handling.
  3170. //
  3171. // This method is useful when you want to inject custom logic or configuration
  3172. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3173. //
  3174. //
  3175. // // Example sending a request using the CreateInternetGatewayRequest method.
  3176. // req, resp := client.CreateInternetGatewayRequest(params)
  3177. //
  3178. // err := req.Send()
  3179. // if err == nil { // resp is now filled
  3180. // fmt.Println(resp)
  3181. // }
  3182. //
  3183. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInternetGateway
  3184. func (c *EC2) CreateInternetGatewayRequest(input *CreateInternetGatewayInput) (req *request.Request, output *CreateInternetGatewayOutput) {
  3185. op := &request.Operation{
  3186. Name: opCreateInternetGateway,
  3187. HTTPMethod: "POST",
  3188. HTTPPath: "/",
  3189. }
  3190. if input == nil {
  3191. input = &CreateInternetGatewayInput{}
  3192. }
  3193. output = &CreateInternetGatewayOutput{}
  3194. req = c.newRequest(op, input, output)
  3195. return
  3196. }
  3197. // CreateInternetGateway API operation for Amazon Elastic Compute Cloud.
  3198. //
  3199. // Creates an Internet gateway for use with a VPC. After creating the Internet
  3200. // gateway, you attach it to a VPC using AttachInternetGateway.
  3201. //
  3202. // For more information about your VPC and Internet gateway, see the Amazon
  3203. // Virtual Private Cloud User Guide (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/).
  3204. //
  3205. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3206. // with awserr.Error's Code and Message methods to get detailed information about
  3207. // the error.
  3208. //
  3209. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3210. // API operation CreateInternetGateway for usage and error information.
  3211. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInternetGateway
  3212. func (c *EC2) CreateInternetGateway(input *CreateInternetGatewayInput) (*CreateInternetGatewayOutput, error) {
  3213. req, out := c.CreateInternetGatewayRequest(input)
  3214. return out, req.Send()
  3215. }
  3216. // CreateInternetGatewayWithContext is the same as CreateInternetGateway with the addition of
  3217. // the ability to pass a context and additional request options.
  3218. //
  3219. // See CreateInternetGateway for details on how to use this API operation.
  3220. //
  3221. // The context must be non-nil and will be used for request cancellation. If
  3222. // the context is nil a panic will occur. In the future the SDK may create
  3223. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3224. // for more information on using Contexts.
  3225. func (c *EC2) CreateInternetGatewayWithContext(ctx aws.Context, input *CreateInternetGatewayInput, opts ...request.Option) (*CreateInternetGatewayOutput, error) {
  3226. req, out := c.CreateInternetGatewayRequest(input)
  3227. req.SetContext(ctx)
  3228. req.ApplyOptions(opts...)
  3229. return out, req.Send()
  3230. }
  3231. const opCreateKeyPair = "CreateKeyPair"
  3232. // CreateKeyPairRequest generates a "aws/request.Request" representing the
  3233. // client's request for the CreateKeyPair operation. The "output" return
  3234. // value will be populated with the request's response once the request complets
  3235. // successfuly.
  3236. //
  3237. // Use "Send" method on the returned Request to send the API call to the service.
  3238. // the "output" return value is not valid until after Send returns without error.
  3239. //
  3240. // See CreateKeyPair for more information on using the CreateKeyPair
  3241. // API call, and error handling.
  3242. //
  3243. // This method is useful when you want to inject custom logic or configuration
  3244. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3245. //
  3246. //
  3247. // // Example sending a request using the CreateKeyPairRequest method.
  3248. // req, resp := client.CreateKeyPairRequest(params)
  3249. //
  3250. // err := req.Send()
  3251. // if err == nil { // resp is now filled
  3252. // fmt.Println(resp)
  3253. // }
  3254. //
  3255. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateKeyPair
  3256. func (c *EC2) CreateKeyPairRequest(input *CreateKeyPairInput) (req *request.Request, output *CreateKeyPairOutput) {
  3257. op := &request.Operation{
  3258. Name: opCreateKeyPair,
  3259. HTTPMethod: "POST",
  3260. HTTPPath: "/",
  3261. }
  3262. if input == nil {
  3263. input = &CreateKeyPairInput{}
  3264. }
  3265. output = &CreateKeyPairOutput{}
  3266. req = c.newRequest(op, input, output)
  3267. return
  3268. }
  3269. // CreateKeyPair API operation for Amazon Elastic Compute Cloud.
  3270. //
  3271. // Creates a 2048-bit RSA key pair with the specified name. Amazon EC2 stores
  3272. // the public key and displays the private key for you to save to a file. The
  3273. // private key is returned as an unencrypted PEM encoded PKCS#1 private key.
  3274. // If a key with the specified name already exists, Amazon EC2 returns an error.
  3275. //
  3276. // You can have up to five thousand key pairs per region.
  3277. //
  3278. // The key pair returned to you is available only in the region in which you
  3279. // create it. If you prefer, you can create your own key pair using a third-party
  3280. // tool and upload it to any region using ImportKeyPair.
  3281. //
  3282. // For more information, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
  3283. // in the Amazon Elastic Compute Cloud User Guide.
  3284. //
  3285. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3286. // with awserr.Error's Code and Message methods to get detailed information about
  3287. // the error.
  3288. //
  3289. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3290. // API operation CreateKeyPair for usage and error information.
  3291. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateKeyPair
  3292. func (c *EC2) CreateKeyPair(input *CreateKeyPairInput) (*CreateKeyPairOutput, error) {
  3293. req, out := c.CreateKeyPairRequest(input)
  3294. return out, req.Send()
  3295. }
  3296. // CreateKeyPairWithContext is the same as CreateKeyPair with the addition of
  3297. // the ability to pass a context and additional request options.
  3298. //
  3299. // See CreateKeyPair for details on how to use this API operation.
  3300. //
  3301. // The context must be non-nil and will be used for request cancellation. If
  3302. // the context is nil a panic will occur. In the future the SDK may create
  3303. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3304. // for more information on using Contexts.
  3305. func (c *EC2) CreateKeyPairWithContext(ctx aws.Context, input *CreateKeyPairInput, opts ...request.Option) (*CreateKeyPairOutput, error) {
  3306. req, out := c.CreateKeyPairRequest(input)
  3307. req.SetContext(ctx)
  3308. req.ApplyOptions(opts...)
  3309. return out, req.Send()
  3310. }
  3311. const opCreateLaunchTemplate = "CreateLaunchTemplate"
  3312. // CreateLaunchTemplateRequest generates a "aws/request.Request" representing the
  3313. // client's request for the CreateLaunchTemplate operation. The "output" return
  3314. // value will be populated with the request's response once the request complets
  3315. // successfuly.
  3316. //
  3317. // Use "Send" method on the returned Request to send the API call to the service.
  3318. // the "output" return value is not valid until after Send returns without error.
  3319. //
  3320. // See CreateLaunchTemplate for more information on using the CreateLaunchTemplate
  3321. // API call, and error handling.
  3322. //
  3323. // This method is useful when you want to inject custom logic or configuration
  3324. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3325. //
  3326. //
  3327. // // Example sending a request using the CreateLaunchTemplateRequest method.
  3328. // req, resp := client.CreateLaunchTemplateRequest(params)
  3329. //
  3330. // err := req.Send()
  3331. // if err == nil { // resp is now filled
  3332. // fmt.Println(resp)
  3333. // }
  3334. //
  3335. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplate
  3336. func (c *EC2) CreateLaunchTemplateRequest(input *CreateLaunchTemplateInput) (req *request.Request, output *CreateLaunchTemplateOutput) {
  3337. op := &request.Operation{
  3338. Name: opCreateLaunchTemplate,
  3339. HTTPMethod: "POST",
  3340. HTTPPath: "/",
  3341. }
  3342. if input == nil {
  3343. input = &CreateLaunchTemplateInput{}
  3344. }
  3345. output = &CreateLaunchTemplateOutput{}
  3346. req = c.newRequest(op, input, output)
  3347. return
  3348. }
  3349. // CreateLaunchTemplate API operation for Amazon Elastic Compute Cloud.
  3350. //
  3351. // Creates a launch template. A launch template contains the parameters to launch
  3352. // an instance. When you launch an instance using RunInstances, you can specify
  3353. // a launch template instead of providing the launch parameters in the request.
  3354. //
  3355. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3356. // with awserr.Error's Code and Message methods to get detailed information about
  3357. // the error.
  3358. //
  3359. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3360. // API operation CreateLaunchTemplate for usage and error information.
  3361. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplate
  3362. func (c *EC2) CreateLaunchTemplate(input *CreateLaunchTemplateInput) (*CreateLaunchTemplateOutput, error) {
  3363. req, out := c.CreateLaunchTemplateRequest(input)
  3364. return out, req.Send()
  3365. }
  3366. // CreateLaunchTemplateWithContext is the same as CreateLaunchTemplate with the addition of
  3367. // the ability to pass a context and additional request options.
  3368. //
  3369. // See CreateLaunchTemplate for details on how to use this API operation.
  3370. //
  3371. // The context must be non-nil and will be used for request cancellation. If
  3372. // the context is nil a panic will occur. In the future the SDK may create
  3373. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3374. // for more information on using Contexts.
  3375. func (c *EC2) CreateLaunchTemplateWithContext(ctx aws.Context, input *CreateLaunchTemplateInput, opts ...request.Option) (*CreateLaunchTemplateOutput, error) {
  3376. req, out := c.CreateLaunchTemplateRequest(input)
  3377. req.SetContext(ctx)
  3378. req.ApplyOptions(opts...)
  3379. return out, req.Send()
  3380. }
  3381. const opCreateLaunchTemplateVersion = "CreateLaunchTemplateVersion"
  3382. // CreateLaunchTemplateVersionRequest generates a "aws/request.Request" representing the
  3383. // client's request for the CreateLaunchTemplateVersion operation. The "output" return
  3384. // value will be populated with the request's response once the request complets
  3385. // successfuly.
  3386. //
  3387. // Use "Send" method on the returned Request to send the API call to the service.
  3388. // the "output" return value is not valid until after Send returns without error.
  3389. //
  3390. // See CreateLaunchTemplateVersion for more information on using the CreateLaunchTemplateVersion
  3391. // API call, and error handling.
  3392. //
  3393. // This method is useful when you want to inject custom logic or configuration
  3394. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3395. //
  3396. //
  3397. // // Example sending a request using the CreateLaunchTemplateVersionRequest method.
  3398. // req, resp := client.CreateLaunchTemplateVersionRequest(params)
  3399. //
  3400. // err := req.Send()
  3401. // if err == nil { // resp is now filled
  3402. // fmt.Println(resp)
  3403. // }
  3404. //
  3405. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplateVersion
  3406. func (c *EC2) CreateLaunchTemplateVersionRequest(input *CreateLaunchTemplateVersionInput) (req *request.Request, output *CreateLaunchTemplateVersionOutput) {
  3407. op := &request.Operation{
  3408. Name: opCreateLaunchTemplateVersion,
  3409. HTTPMethod: "POST",
  3410. HTTPPath: "/",
  3411. }
  3412. if input == nil {
  3413. input = &CreateLaunchTemplateVersionInput{}
  3414. }
  3415. output = &CreateLaunchTemplateVersionOutput{}
  3416. req = c.newRequest(op, input, output)
  3417. return
  3418. }
  3419. // CreateLaunchTemplateVersion API operation for Amazon Elastic Compute Cloud.
  3420. //
  3421. // Creates a new version for a launch template. You can specify an existing
  3422. // version of launch template from which to base the new version.
  3423. //
  3424. // Launch template versions are numbered in the order in which they are created.
  3425. // You cannot specify, change, or replace the numbering of launch template versions.
  3426. //
  3427. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3428. // with awserr.Error's Code and Message methods to get detailed information about
  3429. // the error.
  3430. //
  3431. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3432. // API operation CreateLaunchTemplateVersion for usage and error information.
  3433. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplateVersion
  3434. func (c *EC2) CreateLaunchTemplateVersion(input *CreateLaunchTemplateVersionInput) (*CreateLaunchTemplateVersionOutput, error) {
  3435. req, out := c.CreateLaunchTemplateVersionRequest(input)
  3436. return out, req.Send()
  3437. }
  3438. // CreateLaunchTemplateVersionWithContext is the same as CreateLaunchTemplateVersion with the addition of
  3439. // the ability to pass a context and additional request options.
  3440. //
  3441. // See CreateLaunchTemplateVersion for details on how to use this API operation.
  3442. //
  3443. // The context must be non-nil and will be used for request cancellation. If
  3444. // the context is nil a panic will occur. In the future the SDK may create
  3445. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3446. // for more information on using Contexts.
  3447. func (c *EC2) CreateLaunchTemplateVersionWithContext(ctx aws.Context, input *CreateLaunchTemplateVersionInput, opts ...request.Option) (*CreateLaunchTemplateVersionOutput, error) {
  3448. req, out := c.CreateLaunchTemplateVersionRequest(input)
  3449. req.SetContext(ctx)
  3450. req.ApplyOptions(opts...)
  3451. return out, req.Send()
  3452. }
  3453. const opCreateNatGateway = "CreateNatGateway"
  3454. // CreateNatGatewayRequest generates a "aws/request.Request" representing the
  3455. // client's request for the CreateNatGateway operation. The "output" return
  3456. // value will be populated with the request's response once the request complets
  3457. // successfuly.
  3458. //
  3459. // Use "Send" method on the returned Request to send the API call to the service.
  3460. // the "output" return value is not valid until after Send returns without error.
  3461. //
  3462. // See CreateNatGateway for more information on using the CreateNatGateway
  3463. // API call, and error handling.
  3464. //
  3465. // This method is useful when you want to inject custom logic or configuration
  3466. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3467. //
  3468. //
  3469. // // Example sending a request using the CreateNatGatewayRequest method.
  3470. // req, resp := client.CreateNatGatewayRequest(params)
  3471. //
  3472. // err := req.Send()
  3473. // if err == nil { // resp is now filled
  3474. // fmt.Println(resp)
  3475. // }
  3476. //
  3477. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNatGateway
  3478. func (c *EC2) CreateNatGatewayRequest(input *CreateNatGatewayInput) (req *request.Request, output *CreateNatGatewayOutput) {
  3479. op := &request.Operation{
  3480. Name: opCreateNatGateway,
  3481. HTTPMethod: "POST",
  3482. HTTPPath: "/",
  3483. }
  3484. if input == nil {
  3485. input = &CreateNatGatewayInput{}
  3486. }
  3487. output = &CreateNatGatewayOutput{}
  3488. req = c.newRequest(op, input, output)
  3489. return
  3490. }
  3491. // CreateNatGateway API operation for Amazon Elastic Compute Cloud.
  3492. //
  3493. // Creates a NAT gateway in the specified subnet. A NAT gateway can be used
  3494. // to enable instances in a private subnet to connect to the Internet. This
  3495. // action creates a network interface in the specified subnet with a private
  3496. // IP address from the IP address range of the subnet. For more information,
  3497. // see NAT Gateways (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html)
  3498. // in the Amazon Virtual Private Cloud User Guide.
  3499. //
  3500. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3501. // with awserr.Error's Code and Message methods to get detailed information about
  3502. // the error.
  3503. //
  3504. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3505. // API operation CreateNatGateway for usage and error information.
  3506. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNatGateway
  3507. func (c *EC2) CreateNatGateway(input *CreateNatGatewayInput) (*CreateNatGatewayOutput, error) {
  3508. req, out := c.CreateNatGatewayRequest(input)
  3509. return out, req.Send()
  3510. }
  3511. // CreateNatGatewayWithContext is the same as CreateNatGateway with the addition of
  3512. // the ability to pass a context and additional request options.
  3513. //
  3514. // See CreateNatGateway for details on how to use this API operation.
  3515. //
  3516. // The context must be non-nil and will be used for request cancellation. If
  3517. // the context is nil a panic will occur. In the future the SDK may create
  3518. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3519. // for more information on using Contexts.
  3520. func (c *EC2) CreateNatGatewayWithContext(ctx aws.Context, input *CreateNatGatewayInput, opts ...request.Option) (*CreateNatGatewayOutput, error) {
  3521. req, out := c.CreateNatGatewayRequest(input)
  3522. req.SetContext(ctx)
  3523. req.ApplyOptions(opts...)
  3524. return out, req.Send()
  3525. }
  3526. const opCreateNetworkAcl = "CreateNetworkAcl"
  3527. // CreateNetworkAclRequest generates a "aws/request.Request" representing the
  3528. // client's request for the CreateNetworkAcl operation. The "output" return
  3529. // value will be populated with the request's response once the request complets
  3530. // successfuly.
  3531. //
  3532. // Use "Send" method on the returned Request to send the API call to the service.
  3533. // the "output" return value is not valid until after Send returns without error.
  3534. //
  3535. // See CreateNetworkAcl for more information on using the CreateNetworkAcl
  3536. // API call, and error handling.
  3537. //
  3538. // This method is useful when you want to inject custom logic or configuration
  3539. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3540. //
  3541. //
  3542. // // Example sending a request using the CreateNetworkAclRequest method.
  3543. // req, resp := client.CreateNetworkAclRequest(params)
  3544. //
  3545. // err := req.Send()
  3546. // if err == nil { // resp is now filled
  3547. // fmt.Println(resp)
  3548. // }
  3549. //
  3550. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAcl
  3551. func (c *EC2) CreateNetworkAclRequest(input *CreateNetworkAclInput) (req *request.Request, output *CreateNetworkAclOutput) {
  3552. op := &request.Operation{
  3553. Name: opCreateNetworkAcl,
  3554. HTTPMethod: "POST",
  3555. HTTPPath: "/",
  3556. }
  3557. if input == nil {
  3558. input = &CreateNetworkAclInput{}
  3559. }
  3560. output = &CreateNetworkAclOutput{}
  3561. req = c.newRequest(op, input, output)
  3562. return
  3563. }
  3564. // CreateNetworkAcl API operation for Amazon Elastic Compute Cloud.
  3565. //
  3566. // Creates a network ACL in a VPC. Network ACLs provide an optional layer of
  3567. // security (in addition to security groups) for the instances in your VPC.
  3568. //
  3569. // For more information about network ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  3570. // in the Amazon Virtual Private Cloud User Guide.
  3571. //
  3572. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3573. // with awserr.Error's Code and Message methods to get detailed information about
  3574. // the error.
  3575. //
  3576. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3577. // API operation CreateNetworkAcl for usage and error information.
  3578. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAcl
  3579. func (c *EC2) CreateNetworkAcl(input *CreateNetworkAclInput) (*CreateNetworkAclOutput, error) {
  3580. req, out := c.CreateNetworkAclRequest(input)
  3581. return out, req.Send()
  3582. }
  3583. // CreateNetworkAclWithContext is the same as CreateNetworkAcl with the addition of
  3584. // the ability to pass a context and additional request options.
  3585. //
  3586. // See CreateNetworkAcl for details on how to use this API operation.
  3587. //
  3588. // The context must be non-nil and will be used for request cancellation. If
  3589. // the context is nil a panic will occur. In the future the SDK may create
  3590. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3591. // for more information on using Contexts.
  3592. func (c *EC2) CreateNetworkAclWithContext(ctx aws.Context, input *CreateNetworkAclInput, opts ...request.Option) (*CreateNetworkAclOutput, error) {
  3593. req, out := c.CreateNetworkAclRequest(input)
  3594. req.SetContext(ctx)
  3595. req.ApplyOptions(opts...)
  3596. return out, req.Send()
  3597. }
  3598. const opCreateNetworkAclEntry = "CreateNetworkAclEntry"
  3599. // CreateNetworkAclEntryRequest generates a "aws/request.Request" representing the
  3600. // client's request for the CreateNetworkAclEntry operation. The "output" return
  3601. // value will be populated with the request's response once the request complets
  3602. // successfuly.
  3603. //
  3604. // Use "Send" method on the returned Request to send the API call to the service.
  3605. // the "output" return value is not valid until after Send returns without error.
  3606. //
  3607. // See CreateNetworkAclEntry for more information on using the CreateNetworkAclEntry
  3608. // API call, and error handling.
  3609. //
  3610. // This method is useful when you want to inject custom logic or configuration
  3611. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3612. //
  3613. //
  3614. // // Example sending a request using the CreateNetworkAclEntryRequest method.
  3615. // req, resp := client.CreateNetworkAclEntryRequest(params)
  3616. //
  3617. // err := req.Send()
  3618. // if err == nil { // resp is now filled
  3619. // fmt.Println(resp)
  3620. // }
  3621. //
  3622. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclEntry
  3623. func (c *EC2) CreateNetworkAclEntryRequest(input *CreateNetworkAclEntryInput) (req *request.Request, output *CreateNetworkAclEntryOutput) {
  3624. op := &request.Operation{
  3625. Name: opCreateNetworkAclEntry,
  3626. HTTPMethod: "POST",
  3627. HTTPPath: "/",
  3628. }
  3629. if input == nil {
  3630. input = &CreateNetworkAclEntryInput{}
  3631. }
  3632. output = &CreateNetworkAclEntryOutput{}
  3633. req = c.newRequest(op, input, output)
  3634. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  3635. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  3636. return
  3637. }
  3638. // CreateNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
  3639. //
  3640. // Creates an entry (a rule) in a network ACL with the specified rule number.
  3641. // Each network ACL has a set of numbered ingress rules and a separate set of
  3642. // numbered egress rules. When determining whether a packet should be allowed
  3643. // in or out of a subnet associated with the ACL, we process the entries in
  3644. // the ACL according to the rule numbers, in ascending order. Each network ACL
  3645. // has a set of ingress rules and a separate set of egress rules.
  3646. //
  3647. // We recommend that you leave room between the rule numbers (for example, 100,
  3648. // 110, 120, ...), and not number them one right after the other (for example,
  3649. // 101, 102, 103, ...). This makes it easier to add a rule between existing
  3650. // ones without having to renumber the rules.
  3651. //
  3652. // After you add an entry, you can't modify it; you must either replace it,
  3653. // or create an entry and delete the old one.
  3654. //
  3655. // For more information about network ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  3656. // in the Amazon Virtual Private Cloud User Guide.
  3657. //
  3658. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3659. // with awserr.Error's Code and Message methods to get detailed information about
  3660. // the error.
  3661. //
  3662. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3663. // API operation CreateNetworkAclEntry for usage and error information.
  3664. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclEntry
  3665. func (c *EC2) CreateNetworkAclEntry(input *CreateNetworkAclEntryInput) (*CreateNetworkAclEntryOutput, error) {
  3666. req, out := c.CreateNetworkAclEntryRequest(input)
  3667. return out, req.Send()
  3668. }
  3669. // CreateNetworkAclEntryWithContext is the same as CreateNetworkAclEntry with the addition of
  3670. // the ability to pass a context and additional request options.
  3671. //
  3672. // See CreateNetworkAclEntry for details on how to use this API operation.
  3673. //
  3674. // The context must be non-nil and will be used for request cancellation. If
  3675. // the context is nil a panic will occur. In the future the SDK may create
  3676. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3677. // for more information on using Contexts.
  3678. func (c *EC2) CreateNetworkAclEntryWithContext(ctx aws.Context, input *CreateNetworkAclEntryInput, opts ...request.Option) (*CreateNetworkAclEntryOutput, error) {
  3679. req, out := c.CreateNetworkAclEntryRequest(input)
  3680. req.SetContext(ctx)
  3681. req.ApplyOptions(opts...)
  3682. return out, req.Send()
  3683. }
  3684. const opCreateNetworkInterface = "CreateNetworkInterface"
  3685. // CreateNetworkInterfaceRequest generates a "aws/request.Request" representing the
  3686. // client's request for the CreateNetworkInterface operation. The "output" return
  3687. // value will be populated with the request's response once the request complets
  3688. // successfuly.
  3689. //
  3690. // Use "Send" method on the returned Request to send the API call to the service.
  3691. // the "output" return value is not valid until after Send returns without error.
  3692. //
  3693. // See CreateNetworkInterface for more information on using the CreateNetworkInterface
  3694. // API call, and error handling.
  3695. //
  3696. // This method is useful when you want to inject custom logic or configuration
  3697. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3698. //
  3699. //
  3700. // // Example sending a request using the CreateNetworkInterfaceRequest method.
  3701. // req, resp := client.CreateNetworkInterfaceRequest(params)
  3702. //
  3703. // err := req.Send()
  3704. // if err == nil { // resp is now filled
  3705. // fmt.Println(resp)
  3706. // }
  3707. //
  3708. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterface
  3709. func (c *EC2) CreateNetworkInterfaceRequest(input *CreateNetworkInterfaceInput) (req *request.Request, output *CreateNetworkInterfaceOutput) {
  3710. op := &request.Operation{
  3711. Name: opCreateNetworkInterface,
  3712. HTTPMethod: "POST",
  3713. HTTPPath: "/",
  3714. }
  3715. if input == nil {
  3716. input = &CreateNetworkInterfaceInput{}
  3717. }
  3718. output = &CreateNetworkInterfaceOutput{}
  3719. req = c.newRequest(op, input, output)
  3720. return
  3721. }
  3722. // CreateNetworkInterface API operation for Amazon Elastic Compute Cloud.
  3723. //
  3724. // Creates a network interface in the specified subnet.
  3725. //
  3726. // For more information about network interfaces, see Elastic Network Interfaces
  3727. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) in the
  3728. // Amazon Virtual Private Cloud User Guide.
  3729. //
  3730. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3731. // with awserr.Error's Code and Message methods to get detailed information about
  3732. // the error.
  3733. //
  3734. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3735. // API operation CreateNetworkInterface for usage and error information.
  3736. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterface
  3737. func (c *EC2) CreateNetworkInterface(input *CreateNetworkInterfaceInput) (*CreateNetworkInterfaceOutput, error) {
  3738. req, out := c.CreateNetworkInterfaceRequest(input)
  3739. return out, req.Send()
  3740. }
  3741. // CreateNetworkInterfaceWithContext is the same as CreateNetworkInterface with the addition of
  3742. // the ability to pass a context and additional request options.
  3743. //
  3744. // See CreateNetworkInterface for details on how to use this API operation.
  3745. //
  3746. // The context must be non-nil and will be used for request cancellation. If
  3747. // the context is nil a panic will occur. In the future the SDK may create
  3748. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3749. // for more information on using Contexts.
  3750. func (c *EC2) CreateNetworkInterfaceWithContext(ctx aws.Context, input *CreateNetworkInterfaceInput, opts ...request.Option) (*CreateNetworkInterfaceOutput, error) {
  3751. req, out := c.CreateNetworkInterfaceRequest(input)
  3752. req.SetContext(ctx)
  3753. req.ApplyOptions(opts...)
  3754. return out, req.Send()
  3755. }
  3756. const opCreateNetworkInterfacePermission = "CreateNetworkInterfacePermission"
  3757. // CreateNetworkInterfacePermissionRequest generates a "aws/request.Request" representing the
  3758. // client's request for the CreateNetworkInterfacePermission operation. The "output" return
  3759. // value will be populated with the request's response once the request complets
  3760. // successfuly.
  3761. //
  3762. // Use "Send" method on the returned Request to send the API call to the service.
  3763. // the "output" return value is not valid until after Send returns without error.
  3764. //
  3765. // See CreateNetworkInterfacePermission for more information on using the CreateNetworkInterfacePermission
  3766. // API call, and error handling.
  3767. //
  3768. // This method is useful when you want to inject custom logic or configuration
  3769. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3770. //
  3771. //
  3772. // // Example sending a request using the CreateNetworkInterfacePermissionRequest method.
  3773. // req, resp := client.CreateNetworkInterfacePermissionRequest(params)
  3774. //
  3775. // err := req.Send()
  3776. // if err == nil { // resp is now filled
  3777. // fmt.Println(resp)
  3778. // }
  3779. //
  3780. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfacePermission
  3781. func (c *EC2) CreateNetworkInterfacePermissionRequest(input *CreateNetworkInterfacePermissionInput) (req *request.Request, output *CreateNetworkInterfacePermissionOutput) {
  3782. op := &request.Operation{
  3783. Name: opCreateNetworkInterfacePermission,
  3784. HTTPMethod: "POST",
  3785. HTTPPath: "/",
  3786. }
  3787. if input == nil {
  3788. input = &CreateNetworkInterfacePermissionInput{}
  3789. }
  3790. output = &CreateNetworkInterfacePermissionOutput{}
  3791. req = c.newRequest(op, input, output)
  3792. return
  3793. }
  3794. // CreateNetworkInterfacePermission API operation for Amazon Elastic Compute Cloud.
  3795. //
  3796. // Grants an AWS authorized partner account permission to attach the specified
  3797. // network interface to an instance in their account.
  3798. //
  3799. // You can grant permission to a single AWS account only, and only one account
  3800. // at a time.
  3801. //
  3802. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3803. // with awserr.Error's Code and Message methods to get detailed information about
  3804. // the error.
  3805. //
  3806. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3807. // API operation CreateNetworkInterfacePermission for usage and error information.
  3808. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfacePermission
  3809. func (c *EC2) CreateNetworkInterfacePermission(input *CreateNetworkInterfacePermissionInput) (*CreateNetworkInterfacePermissionOutput, error) {
  3810. req, out := c.CreateNetworkInterfacePermissionRequest(input)
  3811. return out, req.Send()
  3812. }
  3813. // CreateNetworkInterfacePermissionWithContext is the same as CreateNetworkInterfacePermission with the addition of
  3814. // the ability to pass a context and additional request options.
  3815. //
  3816. // See CreateNetworkInterfacePermission for details on how to use this API operation.
  3817. //
  3818. // The context must be non-nil and will be used for request cancellation. If
  3819. // the context is nil a panic will occur. In the future the SDK may create
  3820. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3821. // for more information on using Contexts.
  3822. func (c *EC2) CreateNetworkInterfacePermissionWithContext(ctx aws.Context, input *CreateNetworkInterfacePermissionInput, opts ...request.Option) (*CreateNetworkInterfacePermissionOutput, error) {
  3823. req, out := c.CreateNetworkInterfacePermissionRequest(input)
  3824. req.SetContext(ctx)
  3825. req.ApplyOptions(opts...)
  3826. return out, req.Send()
  3827. }
  3828. const opCreatePlacementGroup = "CreatePlacementGroup"
  3829. // CreatePlacementGroupRequest generates a "aws/request.Request" representing the
  3830. // client's request for the CreatePlacementGroup operation. The "output" return
  3831. // value will be populated with the request's response once the request complets
  3832. // successfuly.
  3833. //
  3834. // Use "Send" method on the returned Request to send the API call to the service.
  3835. // the "output" return value is not valid until after Send returns without error.
  3836. //
  3837. // See CreatePlacementGroup for more information on using the CreatePlacementGroup
  3838. // API call, and error handling.
  3839. //
  3840. // This method is useful when you want to inject custom logic or configuration
  3841. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3842. //
  3843. //
  3844. // // Example sending a request using the CreatePlacementGroupRequest method.
  3845. // req, resp := client.CreatePlacementGroupRequest(params)
  3846. //
  3847. // err := req.Send()
  3848. // if err == nil { // resp is now filled
  3849. // fmt.Println(resp)
  3850. // }
  3851. //
  3852. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreatePlacementGroup
  3853. func (c *EC2) CreatePlacementGroupRequest(input *CreatePlacementGroupInput) (req *request.Request, output *CreatePlacementGroupOutput) {
  3854. op := &request.Operation{
  3855. Name: opCreatePlacementGroup,
  3856. HTTPMethod: "POST",
  3857. HTTPPath: "/",
  3858. }
  3859. if input == nil {
  3860. input = &CreatePlacementGroupInput{}
  3861. }
  3862. output = &CreatePlacementGroupOutput{}
  3863. req = c.newRequest(op, input, output)
  3864. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  3865. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  3866. return
  3867. }
  3868. // CreatePlacementGroup API operation for Amazon Elastic Compute Cloud.
  3869. //
  3870. // Creates a placement group in which to launch instances. The strategy of the
  3871. // placement group determines how the instances are organized within the group.
  3872. //
  3873. // A cluster placement group is a logical grouping of instances within a single
  3874. // Availability Zone that benefit from low network latency, high network throughput.
  3875. // A spread placement group places instances on distinct hardware.
  3876. //
  3877. // For more information, see Placement Groups (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html)
  3878. // in the Amazon Elastic Compute Cloud User Guide.
  3879. //
  3880. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3881. // with awserr.Error's Code and Message methods to get detailed information about
  3882. // the error.
  3883. //
  3884. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3885. // API operation CreatePlacementGroup for usage and error information.
  3886. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreatePlacementGroup
  3887. func (c *EC2) CreatePlacementGroup(input *CreatePlacementGroupInput) (*CreatePlacementGroupOutput, error) {
  3888. req, out := c.CreatePlacementGroupRequest(input)
  3889. return out, req.Send()
  3890. }
  3891. // CreatePlacementGroupWithContext is the same as CreatePlacementGroup with the addition of
  3892. // the ability to pass a context and additional request options.
  3893. //
  3894. // See CreatePlacementGroup for details on how to use this API operation.
  3895. //
  3896. // The context must be non-nil and will be used for request cancellation. If
  3897. // the context is nil a panic will occur. In the future the SDK may create
  3898. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3899. // for more information on using Contexts.
  3900. func (c *EC2) CreatePlacementGroupWithContext(ctx aws.Context, input *CreatePlacementGroupInput, opts ...request.Option) (*CreatePlacementGroupOutput, error) {
  3901. req, out := c.CreatePlacementGroupRequest(input)
  3902. req.SetContext(ctx)
  3903. req.ApplyOptions(opts...)
  3904. return out, req.Send()
  3905. }
  3906. const opCreateReservedInstancesListing = "CreateReservedInstancesListing"
  3907. // CreateReservedInstancesListingRequest generates a "aws/request.Request" representing the
  3908. // client's request for the CreateReservedInstancesListing operation. The "output" return
  3909. // value will be populated with the request's response once the request complets
  3910. // successfuly.
  3911. //
  3912. // Use "Send" method on the returned Request to send the API call to the service.
  3913. // the "output" return value is not valid until after Send returns without error.
  3914. //
  3915. // See CreateReservedInstancesListing for more information on using the CreateReservedInstancesListing
  3916. // API call, and error handling.
  3917. //
  3918. // This method is useful when you want to inject custom logic or configuration
  3919. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3920. //
  3921. //
  3922. // // Example sending a request using the CreateReservedInstancesListingRequest method.
  3923. // req, resp := client.CreateReservedInstancesListingRequest(params)
  3924. //
  3925. // err := req.Send()
  3926. // if err == nil { // resp is now filled
  3927. // fmt.Println(resp)
  3928. // }
  3929. //
  3930. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateReservedInstancesListing
  3931. func (c *EC2) CreateReservedInstancesListingRequest(input *CreateReservedInstancesListingInput) (req *request.Request, output *CreateReservedInstancesListingOutput) {
  3932. op := &request.Operation{
  3933. Name: opCreateReservedInstancesListing,
  3934. HTTPMethod: "POST",
  3935. HTTPPath: "/",
  3936. }
  3937. if input == nil {
  3938. input = &CreateReservedInstancesListingInput{}
  3939. }
  3940. output = &CreateReservedInstancesListingOutput{}
  3941. req = c.newRequest(op, input, output)
  3942. return
  3943. }
  3944. // CreateReservedInstancesListing API operation for Amazon Elastic Compute Cloud.
  3945. //
  3946. // Creates a listing for Amazon EC2 Standard Reserved Instances to be sold in
  3947. // the Reserved Instance Marketplace. You can submit one Standard Reserved Instance
  3948. // listing at a time. To get a list of your Standard Reserved Instances, you
  3949. // can use the DescribeReservedInstances operation.
  3950. //
  3951. // Only Standard Reserved Instances with a capacity reservation can be sold
  3952. // in the Reserved Instance Marketplace. Convertible Reserved Instances and
  3953. // Standard Reserved Instances with a regional benefit cannot be sold.
  3954. //
  3955. // The Reserved Instance Marketplace matches sellers who want to resell Standard
  3956. // Reserved Instance capacity that they no longer need with buyers who want
  3957. // to purchase additional capacity. Reserved Instances bought and sold through
  3958. // the Reserved Instance Marketplace work like any other Reserved Instances.
  3959. //
  3960. // To sell your Standard Reserved Instances, you must first register as a seller
  3961. // in the Reserved Instance Marketplace. After completing the registration process,
  3962. // you can create a Reserved Instance Marketplace listing of some or all of
  3963. // your Standard Reserved Instances, and specify the upfront price to receive
  3964. // for them. Your Standard Reserved Instance listings then become available
  3965. // for purchase. To view the details of your Standard Reserved Instance listing,
  3966. // you can use the DescribeReservedInstancesListings operation.
  3967. //
  3968. // For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  3969. // in the Amazon Elastic Compute Cloud User Guide.
  3970. //
  3971. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3972. // with awserr.Error's Code and Message methods to get detailed information about
  3973. // the error.
  3974. //
  3975. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3976. // API operation CreateReservedInstancesListing for usage and error information.
  3977. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateReservedInstancesListing
  3978. func (c *EC2) CreateReservedInstancesListing(input *CreateReservedInstancesListingInput) (*CreateReservedInstancesListingOutput, error) {
  3979. req, out := c.CreateReservedInstancesListingRequest(input)
  3980. return out, req.Send()
  3981. }
  3982. // CreateReservedInstancesListingWithContext is the same as CreateReservedInstancesListing with the addition of
  3983. // the ability to pass a context and additional request options.
  3984. //
  3985. // See CreateReservedInstancesListing for details on how to use this API operation.
  3986. //
  3987. // The context must be non-nil and will be used for request cancellation. If
  3988. // the context is nil a panic will occur. In the future the SDK may create
  3989. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3990. // for more information on using Contexts.
  3991. func (c *EC2) CreateReservedInstancesListingWithContext(ctx aws.Context, input *CreateReservedInstancesListingInput, opts ...request.Option) (*CreateReservedInstancesListingOutput, error) {
  3992. req, out := c.CreateReservedInstancesListingRequest(input)
  3993. req.SetContext(ctx)
  3994. req.ApplyOptions(opts...)
  3995. return out, req.Send()
  3996. }
  3997. const opCreateRoute = "CreateRoute"
  3998. // CreateRouteRequest generates a "aws/request.Request" representing the
  3999. // client's request for the CreateRoute operation. The "output" return
  4000. // value will be populated with the request's response once the request complets
  4001. // successfuly.
  4002. //
  4003. // Use "Send" method on the returned Request to send the API call to the service.
  4004. // the "output" return value is not valid until after Send returns without error.
  4005. //
  4006. // See CreateRoute for more information on using the CreateRoute
  4007. // API call, and error handling.
  4008. //
  4009. // This method is useful when you want to inject custom logic or configuration
  4010. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4011. //
  4012. //
  4013. // // Example sending a request using the CreateRouteRequest method.
  4014. // req, resp := client.CreateRouteRequest(params)
  4015. //
  4016. // err := req.Send()
  4017. // if err == nil { // resp is now filled
  4018. // fmt.Println(resp)
  4019. // }
  4020. //
  4021. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRoute
  4022. func (c *EC2) CreateRouteRequest(input *CreateRouteInput) (req *request.Request, output *CreateRouteOutput) {
  4023. op := &request.Operation{
  4024. Name: opCreateRoute,
  4025. HTTPMethod: "POST",
  4026. HTTPPath: "/",
  4027. }
  4028. if input == nil {
  4029. input = &CreateRouteInput{}
  4030. }
  4031. output = &CreateRouteOutput{}
  4032. req = c.newRequest(op, input, output)
  4033. return
  4034. }
  4035. // CreateRoute API operation for Amazon Elastic Compute Cloud.
  4036. //
  4037. // Creates a route in a route table within a VPC.
  4038. //
  4039. // You must specify one of the following targets: Internet gateway or virtual
  4040. // private gateway, NAT instance, NAT gateway, VPC peering connection, network
  4041. // interface, or egress-only Internet gateway.
  4042. //
  4043. // When determining how to route traffic, we use the route with the most specific
  4044. // match. For example, traffic is destined for the IPv4 address 192.0.2.3, and
  4045. // the route table includes the following two IPv4 routes:
  4046. //
  4047. // * 192.0.2.0/24 (goes to some target A)
  4048. //
  4049. // * 192.0.2.0/28 (goes to some target B)
  4050. //
  4051. // Both routes apply to the traffic destined for 192.0.2.3. However, the second
  4052. // route in the list covers a smaller number of IP addresses and is therefore
  4053. // more specific, so we use that route to determine where to target the traffic.
  4054. //
  4055. // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  4056. // in the Amazon Virtual Private Cloud User Guide.
  4057. //
  4058. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4059. // with awserr.Error's Code and Message methods to get detailed information about
  4060. // the error.
  4061. //
  4062. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4063. // API operation CreateRoute for usage and error information.
  4064. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRoute
  4065. func (c *EC2) CreateRoute(input *CreateRouteInput) (*CreateRouteOutput, error) {
  4066. req, out := c.CreateRouteRequest(input)
  4067. return out, req.Send()
  4068. }
  4069. // CreateRouteWithContext is the same as CreateRoute with the addition of
  4070. // the ability to pass a context and additional request options.
  4071. //
  4072. // See CreateRoute for details on how to use this API operation.
  4073. //
  4074. // The context must be non-nil and will be used for request cancellation. If
  4075. // the context is nil a panic will occur. In the future the SDK may create
  4076. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4077. // for more information on using Contexts.
  4078. func (c *EC2) CreateRouteWithContext(ctx aws.Context, input *CreateRouteInput, opts ...request.Option) (*CreateRouteOutput, error) {
  4079. req, out := c.CreateRouteRequest(input)
  4080. req.SetContext(ctx)
  4081. req.ApplyOptions(opts...)
  4082. return out, req.Send()
  4083. }
  4084. const opCreateRouteTable = "CreateRouteTable"
  4085. // CreateRouteTableRequest generates a "aws/request.Request" representing the
  4086. // client's request for the CreateRouteTable operation. The "output" return
  4087. // value will be populated with the request's response once the request complets
  4088. // successfuly.
  4089. //
  4090. // Use "Send" method on the returned Request to send the API call to the service.
  4091. // the "output" return value is not valid until after Send returns without error.
  4092. //
  4093. // See CreateRouteTable for more information on using the CreateRouteTable
  4094. // API call, and error handling.
  4095. //
  4096. // This method is useful when you want to inject custom logic or configuration
  4097. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4098. //
  4099. //
  4100. // // Example sending a request using the CreateRouteTableRequest method.
  4101. // req, resp := client.CreateRouteTableRequest(params)
  4102. //
  4103. // err := req.Send()
  4104. // if err == nil { // resp is now filled
  4105. // fmt.Println(resp)
  4106. // }
  4107. //
  4108. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteTable
  4109. func (c *EC2) CreateRouteTableRequest(input *CreateRouteTableInput) (req *request.Request, output *CreateRouteTableOutput) {
  4110. op := &request.Operation{
  4111. Name: opCreateRouteTable,
  4112. HTTPMethod: "POST",
  4113. HTTPPath: "/",
  4114. }
  4115. if input == nil {
  4116. input = &CreateRouteTableInput{}
  4117. }
  4118. output = &CreateRouteTableOutput{}
  4119. req = c.newRequest(op, input, output)
  4120. return
  4121. }
  4122. // CreateRouteTable API operation for Amazon Elastic Compute Cloud.
  4123. //
  4124. // Creates a route table for the specified VPC. After you create a route table,
  4125. // you can add routes and associate the table with a subnet.
  4126. //
  4127. // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  4128. // in the Amazon Virtual Private Cloud User Guide.
  4129. //
  4130. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4131. // with awserr.Error's Code and Message methods to get detailed information about
  4132. // the error.
  4133. //
  4134. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4135. // API operation CreateRouteTable for usage and error information.
  4136. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteTable
  4137. func (c *EC2) CreateRouteTable(input *CreateRouteTableInput) (*CreateRouteTableOutput, error) {
  4138. req, out := c.CreateRouteTableRequest(input)
  4139. return out, req.Send()
  4140. }
  4141. // CreateRouteTableWithContext is the same as CreateRouteTable with the addition of
  4142. // the ability to pass a context and additional request options.
  4143. //
  4144. // See CreateRouteTable for details on how to use this API operation.
  4145. //
  4146. // The context must be non-nil and will be used for request cancellation. If
  4147. // the context is nil a panic will occur. In the future the SDK may create
  4148. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4149. // for more information on using Contexts.
  4150. func (c *EC2) CreateRouteTableWithContext(ctx aws.Context, input *CreateRouteTableInput, opts ...request.Option) (*CreateRouteTableOutput, error) {
  4151. req, out := c.CreateRouteTableRequest(input)
  4152. req.SetContext(ctx)
  4153. req.ApplyOptions(opts...)
  4154. return out, req.Send()
  4155. }
  4156. const opCreateSecurityGroup = "CreateSecurityGroup"
  4157. // CreateSecurityGroupRequest generates a "aws/request.Request" representing the
  4158. // client's request for the CreateSecurityGroup operation. The "output" return
  4159. // value will be populated with the request's response once the request complets
  4160. // successfuly.
  4161. //
  4162. // Use "Send" method on the returned Request to send the API call to the service.
  4163. // the "output" return value is not valid until after Send returns without error.
  4164. //
  4165. // See CreateSecurityGroup for more information on using the CreateSecurityGroup
  4166. // API call, and error handling.
  4167. //
  4168. // This method is useful when you want to inject custom logic or configuration
  4169. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4170. //
  4171. //
  4172. // // Example sending a request using the CreateSecurityGroupRequest method.
  4173. // req, resp := client.CreateSecurityGroupRequest(params)
  4174. //
  4175. // err := req.Send()
  4176. // if err == nil { // resp is now filled
  4177. // fmt.Println(resp)
  4178. // }
  4179. //
  4180. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSecurityGroup
  4181. func (c *EC2) CreateSecurityGroupRequest(input *CreateSecurityGroupInput) (req *request.Request, output *CreateSecurityGroupOutput) {
  4182. op := &request.Operation{
  4183. Name: opCreateSecurityGroup,
  4184. HTTPMethod: "POST",
  4185. HTTPPath: "/",
  4186. }
  4187. if input == nil {
  4188. input = &CreateSecurityGroupInput{}
  4189. }
  4190. output = &CreateSecurityGroupOutput{}
  4191. req = c.newRequest(op, input, output)
  4192. return
  4193. }
  4194. // CreateSecurityGroup API operation for Amazon Elastic Compute Cloud.
  4195. //
  4196. // Creates a security group.
  4197. //
  4198. // A security group is for use with instances either in the EC2-Classic platform
  4199. // or in a specific VPC. For more information, see Amazon EC2 Security Groups
  4200. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)
  4201. // in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your
  4202. // VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
  4203. // in the Amazon Virtual Private Cloud User Guide.
  4204. //
  4205. // EC2-Classic: You can have up to 500 security groups.
  4206. //
  4207. // EC2-VPC: You can create up to 500 security groups per VPC.
  4208. //
  4209. // When you create a security group, you specify a friendly name of your choice.
  4210. // You can have a security group for use in EC2-Classic with the same name as
  4211. // a security group for use in a VPC. However, you can't have two security groups
  4212. // for use in EC2-Classic with the same name or two security groups for use
  4213. // in a VPC with the same name.
  4214. //
  4215. // You have a default security group for use in EC2-Classic and a default security
  4216. // group for use in your VPC. If you don't specify a security group when you
  4217. // launch an instance, the instance is launched into the appropriate default
  4218. // security group. A default security group includes a default rule that grants
  4219. // instances unrestricted network access to each other.
  4220. //
  4221. // You can add or remove rules from your security groups using AuthorizeSecurityGroupIngress,
  4222. // AuthorizeSecurityGroupEgress, RevokeSecurityGroupIngress, and RevokeSecurityGroupEgress.
  4223. //
  4224. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4225. // with awserr.Error's Code and Message methods to get detailed information about
  4226. // the error.
  4227. //
  4228. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4229. // API operation CreateSecurityGroup for usage and error information.
  4230. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSecurityGroup
  4231. func (c *EC2) CreateSecurityGroup(input *CreateSecurityGroupInput) (*CreateSecurityGroupOutput, error) {
  4232. req, out := c.CreateSecurityGroupRequest(input)
  4233. return out, req.Send()
  4234. }
  4235. // CreateSecurityGroupWithContext is the same as CreateSecurityGroup with the addition of
  4236. // the ability to pass a context and additional request options.
  4237. //
  4238. // See CreateSecurityGroup for details on how to use this API operation.
  4239. //
  4240. // The context must be non-nil and will be used for request cancellation. If
  4241. // the context is nil a panic will occur. In the future the SDK may create
  4242. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4243. // for more information on using Contexts.
  4244. func (c *EC2) CreateSecurityGroupWithContext(ctx aws.Context, input *CreateSecurityGroupInput, opts ...request.Option) (*CreateSecurityGroupOutput, error) {
  4245. req, out := c.CreateSecurityGroupRequest(input)
  4246. req.SetContext(ctx)
  4247. req.ApplyOptions(opts...)
  4248. return out, req.Send()
  4249. }
  4250. const opCreateSnapshot = "CreateSnapshot"
  4251. // CreateSnapshotRequest generates a "aws/request.Request" representing the
  4252. // client's request for the CreateSnapshot operation. The "output" return
  4253. // value will be populated with the request's response once the request complets
  4254. // successfuly.
  4255. //
  4256. // Use "Send" method on the returned Request to send the API call to the service.
  4257. // the "output" return value is not valid until after Send returns without error.
  4258. //
  4259. // See CreateSnapshot for more information on using the CreateSnapshot
  4260. // API call, and error handling.
  4261. //
  4262. // This method is useful when you want to inject custom logic or configuration
  4263. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4264. //
  4265. //
  4266. // // Example sending a request using the CreateSnapshotRequest method.
  4267. // req, resp := client.CreateSnapshotRequest(params)
  4268. //
  4269. // err := req.Send()
  4270. // if err == nil { // resp is now filled
  4271. // fmt.Println(resp)
  4272. // }
  4273. //
  4274. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshot
  4275. func (c *EC2) CreateSnapshotRequest(input *CreateSnapshotInput) (req *request.Request, output *Snapshot) {
  4276. op := &request.Operation{
  4277. Name: opCreateSnapshot,
  4278. HTTPMethod: "POST",
  4279. HTTPPath: "/",
  4280. }
  4281. if input == nil {
  4282. input = &CreateSnapshotInput{}
  4283. }
  4284. output = &Snapshot{}
  4285. req = c.newRequest(op, input, output)
  4286. return
  4287. }
  4288. // CreateSnapshot API operation for Amazon Elastic Compute Cloud.
  4289. //
  4290. // Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use
  4291. // snapshots for backups, to make copies of EBS volumes, and to save data before
  4292. // shutting down an instance.
  4293. //
  4294. // When a snapshot is created, any AWS Marketplace product codes that are associated
  4295. // with the source volume are propagated to the snapshot.
  4296. //
  4297. // You can take a snapshot of an attached volume that is in use. However, snapshots
  4298. // only capture data that has been written to your EBS volume at the time the
  4299. // snapshot command is issued; this may exclude any data that has been cached
  4300. // by any applications or the operating system. If you can pause any file systems
  4301. // on the volume long enough to take a snapshot, your snapshot should be complete.
  4302. // However, if you cannot pause all file writes to the volume, you should unmount
  4303. // the volume from within the instance, issue the snapshot command, and then
  4304. // remount the volume to ensure a consistent and complete snapshot. You may
  4305. // remount and use your volume while the snapshot status is pending.
  4306. //
  4307. // To create a snapshot for EBS volumes that serve as root devices, you should
  4308. // stop the instance before taking the snapshot.
  4309. //
  4310. // Snapshots that are taken from encrypted volumes are automatically encrypted.
  4311. // Volumes that are created from encrypted snapshots are also automatically
  4312. // encrypted. Your encrypted volumes and any associated snapshots always remain
  4313. // protected.
  4314. //
  4315. // For more information, see Amazon Elastic Block Store (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html)
  4316. // and Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  4317. // in the Amazon Elastic Compute Cloud User Guide.
  4318. //
  4319. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4320. // with awserr.Error's Code and Message methods to get detailed information about
  4321. // the error.
  4322. //
  4323. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4324. // API operation CreateSnapshot for usage and error information.
  4325. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshot
  4326. func (c *EC2) CreateSnapshot(input *CreateSnapshotInput) (*Snapshot, error) {
  4327. req, out := c.CreateSnapshotRequest(input)
  4328. return out, req.Send()
  4329. }
  4330. // CreateSnapshotWithContext is the same as CreateSnapshot with the addition of
  4331. // the ability to pass a context and additional request options.
  4332. //
  4333. // See CreateSnapshot for details on how to use this API operation.
  4334. //
  4335. // The context must be non-nil and will be used for request cancellation. If
  4336. // the context is nil a panic will occur. In the future the SDK may create
  4337. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4338. // for more information on using Contexts.
  4339. func (c *EC2) CreateSnapshotWithContext(ctx aws.Context, input *CreateSnapshotInput, opts ...request.Option) (*Snapshot, error) {
  4340. req, out := c.CreateSnapshotRequest(input)
  4341. req.SetContext(ctx)
  4342. req.ApplyOptions(opts...)
  4343. return out, req.Send()
  4344. }
  4345. const opCreateSpotDatafeedSubscription = "CreateSpotDatafeedSubscription"
  4346. // CreateSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
  4347. // client's request for the CreateSpotDatafeedSubscription operation. The "output" return
  4348. // value will be populated with the request's response once the request complets
  4349. // successfuly.
  4350. //
  4351. // Use "Send" method on the returned Request to send the API call to the service.
  4352. // the "output" return value is not valid until after Send returns without error.
  4353. //
  4354. // See CreateSpotDatafeedSubscription for more information on using the CreateSpotDatafeedSubscription
  4355. // API call, and error handling.
  4356. //
  4357. // This method is useful when you want to inject custom logic or configuration
  4358. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4359. //
  4360. //
  4361. // // Example sending a request using the CreateSpotDatafeedSubscriptionRequest method.
  4362. // req, resp := client.CreateSpotDatafeedSubscriptionRequest(params)
  4363. //
  4364. // err := req.Send()
  4365. // if err == nil { // resp is now filled
  4366. // fmt.Println(resp)
  4367. // }
  4368. //
  4369. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSpotDatafeedSubscription
  4370. func (c *EC2) CreateSpotDatafeedSubscriptionRequest(input *CreateSpotDatafeedSubscriptionInput) (req *request.Request, output *CreateSpotDatafeedSubscriptionOutput) {
  4371. op := &request.Operation{
  4372. Name: opCreateSpotDatafeedSubscription,
  4373. HTTPMethod: "POST",
  4374. HTTPPath: "/",
  4375. }
  4376. if input == nil {
  4377. input = &CreateSpotDatafeedSubscriptionInput{}
  4378. }
  4379. output = &CreateSpotDatafeedSubscriptionOutput{}
  4380. req = c.newRequest(op, input, output)
  4381. return
  4382. }
  4383. // CreateSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
  4384. //
  4385. // Creates a data feed for Spot Instances, enabling you to view Spot Instance
  4386. // usage logs. You can create one data feed per AWS account. For more information,
  4387. // see Spot Instance Data Feed (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html)
  4388. // in the Amazon Elastic Compute Cloud User Guide.
  4389. //
  4390. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4391. // with awserr.Error's Code and Message methods to get detailed information about
  4392. // the error.
  4393. //
  4394. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4395. // API operation CreateSpotDatafeedSubscription for usage and error information.
  4396. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSpotDatafeedSubscription
  4397. func (c *EC2) CreateSpotDatafeedSubscription(input *CreateSpotDatafeedSubscriptionInput) (*CreateSpotDatafeedSubscriptionOutput, error) {
  4398. req, out := c.CreateSpotDatafeedSubscriptionRequest(input)
  4399. return out, req.Send()
  4400. }
  4401. // CreateSpotDatafeedSubscriptionWithContext is the same as CreateSpotDatafeedSubscription with the addition of
  4402. // the ability to pass a context and additional request options.
  4403. //
  4404. // See CreateSpotDatafeedSubscription for details on how to use this API operation.
  4405. //
  4406. // The context must be non-nil and will be used for request cancellation. If
  4407. // the context is nil a panic will occur. In the future the SDK may create
  4408. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4409. // for more information on using Contexts.
  4410. func (c *EC2) CreateSpotDatafeedSubscriptionWithContext(ctx aws.Context, input *CreateSpotDatafeedSubscriptionInput, opts ...request.Option) (*CreateSpotDatafeedSubscriptionOutput, error) {
  4411. req, out := c.CreateSpotDatafeedSubscriptionRequest(input)
  4412. req.SetContext(ctx)
  4413. req.ApplyOptions(opts...)
  4414. return out, req.Send()
  4415. }
  4416. const opCreateSubnet = "CreateSubnet"
  4417. // CreateSubnetRequest generates a "aws/request.Request" representing the
  4418. // client's request for the CreateSubnet operation. The "output" return
  4419. // value will be populated with the request's response once the request complets
  4420. // successfuly.
  4421. //
  4422. // Use "Send" method on the returned Request to send the API call to the service.
  4423. // the "output" return value is not valid until after Send returns without error.
  4424. //
  4425. // See CreateSubnet for more information on using the CreateSubnet
  4426. // API call, and error handling.
  4427. //
  4428. // This method is useful when you want to inject custom logic or configuration
  4429. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4430. //
  4431. //
  4432. // // Example sending a request using the CreateSubnetRequest method.
  4433. // req, resp := client.CreateSubnetRequest(params)
  4434. //
  4435. // err := req.Send()
  4436. // if err == nil { // resp is now filled
  4437. // fmt.Println(resp)
  4438. // }
  4439. //
  4440. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSubnet
  4441. func (c *EC2) CreateSubnetRequest(input *CreateSubnetInput) (req *request.Request, output *CreateSubnetOutput) {
  4442. op := &request.Operation{
  4443. Name: opCreateSubnet,
  4444. HTTPMethod: "POST",
  4445. HTTPPath: "/",
  4446. }
  4447. if input == nil {
  4448. input = &CreateSubnetInput{}
  4449. }
  4450. output = &CreateSubnetOutput{}
  4451. req = c.newRequest(op, input, output)
  4452. return
  4453. }
  4454. // CreateSubnet API operation for Amazon Elastic Compute Cloud.
  4455. //
  4456. // Creates a subnet in an existing VPC.
  4457. //
  4458. // When you create each subnet, you provide the VPC ID and the IPv4 CIDR block
  4459. // you want for the subnet. After you create a subnet, you can't change its
  4460. // CIDR block. The size of the subnet's IPv4 CIDR block can be the same as a
  4461. // VPC's IPv4 CIDR block, or a subset of a VPC's IPv4 CIDR block. If you create
  4462. // more than one subnet in a VPC, the subnets' CIDR blocks must not overlap.
  4463. // The smallest IPv4 subnet (and VPC) you can create uses a /28 netmask (16
  4464. // IPv4 addresses), and the largest uses a /16 netmask (65,536 IPv4 addresses).
  4465. //
  4466. // If you've associated an IPv6 CIDR block with your VPC, you can create a subnet
  4467. // with an IPv6 CIDR block that uses a /64 prefix length.
  4468. //
  4469. // AWS reserves both the first four and the last IPv4 address in each subnet's
  4470. // CIDR block. They're not available for use.
  4471. //
  4472. // If you add more than one subnet to a VPC, they're set up in a star topology
  4473. // with a logical router in the middle.
  4474. //
  4475. // If you launch an instance in a VPC using an Amazon EBS-backed AMI, the IP
  4476. // address doesn't change if you stop and restart the instance (unlike a similar
  4477. // instance launched outside a VPC, which gets a new IP address when restarted).
  4478. // It's therefore possible to have a subnet with no running instances (they're
  4479. // all stopped), but no remaining IP addresses available.
  4480. //
  4481. // For more information about subnets, see Your VPC and Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html)
  4482. // in the Amazon Virtual Private Cloud User Guide.
  4483. //
  4484. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4485. // with awserr.Error's Code and Message methods to get detailed information about
  4486. // the error.
  4487. //
  4488. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4489. // API operation CreateSubnet for usage and error information.
  4490. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSubnet
  4491. func (c *EC2) CreateSubnet(input *CreateSubnetInput) (*CreateSubnetOutput, error) {
  4492. req, out := c.CreateSubnetRequest(input)
  4493. return out, req.Send()
  4494. }
  4495. // CreateSubnetWithContext is the same as CreateSubnet with the addition of
  4496. // the ability to pass a context and additional request options.
  4497. //
  4498. // See CreateSubnet for details on how to use this API operation.
  4499. //
  4500. // The context must be non-nil and will be used for request cancellation. If
  4501. // the context is nil a panic will occur. In the future the SDK may create
  4502. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4503. // for more information on using Contexts.
  4504. func (c *EC2) CreateSubnetWithContext(ctx aws.Context, input *CreateSubnetInput, opts ...request.Option) (*CreateSubnetOutput, error) {
  4505. req, out := c.CreateSubnetRequest(input)
  4506. req.SetContext(ctx)
  4507. req.ApplyOptions(opts...)
  4508. return out, req.Send()
  4509. }
  4510. const opCreateTags = "CreateTags"
  4511. // CreateTagsRequest generates a "aws/request.Request" representing the
  4512. // client's request for the CreateTags operation. The "output" return
  4513. // value will be populated with the request's response once the request complets
  4514. // successfuly.
  4515. //
  4516. // Use "Send" method on the returned Request to send the API call to the service.
  4517. // the "output" return value is not valid until after Send returns without error.
  4518. //
  4519. // See CreateTags for more information on using the CreateTags
  4520. // API call, and error handling.
  4521. //
  4522. // This method is useful when you want to inject custom logic or configuration
  4523. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4524. //
  4525. //
  4526. // // Example sending a request using the CreateTagsRequest method.
  4527. // req, resp := client.CreateTagsRequest(params)
  4528. //
  4529. // err := req.Send()
  4530. // if err == nil { // resp is now filled
  4531. // fmt.Println(resp)
  4532. // }
  4533. //
  4534. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTags
  4535. func (c *EC2) CreateTagsRequest(input *CreateTagsInput) (req *request.Request, output *CreateTagsOutput) {
  4536. op := &request.Operation{
  4537. Name: opCreateTags,
  4538. HTTPMethod: "POST",
  4539. HTTPPath: "/",
  4540. }
  4541. if input == nil {
  4542. input = &CreateTagsInput{}
  4543. }
  4544. output = &CreateTagsOutput{}
  4545. req = c.newRequest(op, input, output)
  4546. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  4547. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  4548. return
  4549. }
  4550. // CreateTags API operation for Amazon Elastic Compute Cloud.
  4551. //
  4552. // Adds or overwrites one or more tags for the specified Amazon EC2 resource
  4553. // or resources. Each resource can have a maximum of 50 tags. Each tag consists
  4554. // of a key and optional value. Tag keys must be unique per resource.
  4555. //
  4556. // For more information about tags, see Tagging Your Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
  4557. // in the Amazon Elastic Compute Cloud User Guide. For more information about
  4558. // creating IAM policies that control users' access to resources based on tags,
  4559. // see Supported Resource-Level Permissions for Amazon EC2 API Actions (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-iam-actions-resources.html)
  4560. // in the Amazon Elastic Compute Cloud User Guide.
  4561. //
  4562. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4563. // with awserr.Error's Code and Message methods to get detailed information about
  4564. // the error.
  4565. //
  4566. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4567. // API operation CreateTags for usage and error information.
  4568. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTags
  4569. func (c *EC2) CreateTags(input *CreateTagsInput) (*CreateTagsOutput, error) {
  4570. req, out := c.CreateTagsRequest(input)
  4571. return out, req.Send()
  4572. }
  4573. // CreateTagsWithContext is the same as CreateTags with the addition of
  4574. // the ability to pass a context and additional request options.
  4575. //
  4576. // See CreateTags for details on how to use this API operation.
  4577. //
  4578. // The context must be non-nil and will be used for request cancellation. If
  4579. // the context is nil a panic will occur. In the future the SDK may create
  4580. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4581. // for more information on using Contexts.
  4582. func (c *EC2) CreateTagsWithContext(ctx aws.Context, input *CreateTagsInput, opts ...request.Option) (*CreateTagsOutput, error) {
  4583. req, out := c.CreateTagsRequest(input)
  4584. req.SetContext(ctx)
  4585. req.ApplyOptions(opts...)
  4586. return out, req.Send()
  4587. }
  4588. const opCreateVolume = "CreateVolume"
  4589. // CreateVolumeRequest generates a "aws/request.Request" representing the
  4590. // client's request for the CreateVolume operation. The "output" return
  4591. // value will be populated with the request's response once the request complets
  4592. // successfuly.
  4593. //
  4594. // Use "Send" method on the returned Request to send the API call to the service.
  4595. // the "output" return value is not valid until after Send returns without error.
  4596. //
  4597. // See CreateVolume for more information on using the CreateVolume
  4598. // API call, and error handling.
  4599. //
  4600. // This method is useful when you want to inject custom logic or configuration
  4601. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4602. //
  4603. //
  4604. // // Example sending a request using the CreateVolumeRequest method.
  4605. // req, resp := client.CreateVolumeRequest(params)
  4606. //
  4607. // err := req.Send()
  4608. // if err == nil { // resp is now filled
  4609. // fmt.Println(resp)
  4610. // }
  4611. //
  4612. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVolume
  4613. func (c *EC2) CreateVolumeRequest(input *CreateVolumeInput) (req *request.Request, output *Volume) {
  4614. op := &request.Operation{
  4615. Name: opCreateVolume,
  4616. HTTPMethod: "POST",
  4617. HTTPPath: "/",
  4618. }
  4619. if input == nil {
  4620. input = &CreateVolumeInput{}
  4621. }
  4622. output = &Volume{}
  4623. req = c.newRequest(op, input, output)
  4624. return
  4625. }
  4626. // CreateVolume API operation for Amazon Elastic Compute Cloud.
  4627. //
  4628. // Creates an EBS volume that can be attached to an instance in the same Availability
  4629. // Zone. The volume is created in the regional endpoint that you send the HTTP
  4630. // request to. For more information see Regions and Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html).
  4631. //
  4632. // You can create a new empty volume or restore a volume from an EBS snapshot.
  4633. // Any AWS Marketplace product codes from the snapshot are propagated to the
  4634. // volume.
  4635. //
  4636. // You can create encrypted volumes with the Encrypted parameter. Encrypted
  4637. // volumes may only be attached to instances that support Amazon EBS encryption.
  4638. // Volumes that are created from encrypted snapshots are also automatically
  4639. // encrypted. For more information, see Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  4640. // in the Amazon Elastic Compute Cloud User Guide.
  4641. //
  4642. // You can tag your volumes during creation. For more information, see Tagging
  4643. // Your Amazon EC2 Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html).
  4644. //
  4645. // For more information, see Creating an Amazon EBS Volume (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-volume.html)
  4646. // in the Amazon Elastic Compute Cloud User Guide.
  4647. //
  4648. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4649. // with awserr.Error's Code and Message methods to get detailed information about
  4650. // the error.
  4651. //
  4652. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4653. // API operation CreateVolume for usage and error information.
  4654. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVolume
  4655. func (c *EC2) CreateVolume(input *CreateVolumeInput) (*Volume, error) {
  4656. req, out := c.CreateVolumeRequest(input)
  4657. return out, req.Send()
  4658. }
  4659. // CreateVolumeWithContext is the same as CreateVolume with the addition of
  4660. // the ability to pass a context and additional request options.
  4661. //
  4662. // See CreateVolume for details on how to use this API operation.
  4663. //
  4664. // The context must be non-nil and will be used for request cancellation. If
  4665. // the context is nil a panic will occur. In the future the SDK may create
  4666. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4667. // for more information on using Contexts.
  4668. func (c *EC2) CreateVolumeWithContext(ctx aws.Context, input *CreateVolumeInput, opts ...request.Option) (*Volume, error) {
  4669. req, out := c.CreateVolumeRequest(input)
  4670. req.SetContext(ctx)
  4671. req.ApplyOptions(opts...)
  4672. return out, req.Send()
  4673. }
  4674. const opCreateVpc = "CreateVpc"
  4675. // CreateVpcRequest generates a "aws/request.Request" representing the
  4676. // client's request for the CreateVpc operation. The "output" return
  4677. // value will be populated with the request's response once the request complets
  4678. // successfuly.
  4679. //
  4680. // Use "Send" method on the returned Request to send the API call to the service.
  4681. // the "output" return value is not valid until after Send returns without error.
  4682. //
  4683. // See CreateVpc for more information on using the CreateVpc
  4684. // API call, and error handling.
  4685. //
  4686. // This method is useful when you want to inject custom logic or configuration
  4687. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4688. //
  4689. //
  4690. // // Example sending a request using the CreateVpcRequest method.
  4691. // req, resp := client.CreateVpcRequest(params)
  4692. //
  4693. // err := req.Send()
  4694. // if err == nil { // resp is now filled
  4695. // fmt.Println(resp)
  4696. // }
  4697. //
  4698. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpc
  4699. func (c *EC2) CreateVpcRequest(input *CreateVpcInput) (req *request.Request, output *CreateVpcOutput) {
  4700. op := &request.Operation{
  4701. Name: opCreateVpc,
  4702. HTTPMethod: "POST",
  4703. HTTPPath: "/",
  4704. }
  4705. if input == nil {
  4706. input = &CreateVpcInput{}
  4707. }
  4708. output = &CreateVpcOutput{}
  4709. req = c.newRequest(op, input, output)
  4710. return
  4711. }
  4712. // CreateVpc API operation for Amazon Elastic Compute Cloud.
  4713. //
  4714. // Creates a VPC with the specified IPv4 CIDR block. The smallest VPC you can
  4715. // create uses a /28 netmask (16 IPv4 addresses), and the largest uses a /16
  4716. // netmask (65,536 IPv4 addresses). To help you decide how big to make your
  4717. // VPC, see Your VPC and Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html)
  4718. // in the Amazon Virtual Private Cloud User Guide.
  4719. //
  4720. // You can optionally request an Amazon-provided IPv6 CIDR block for the VPC.
  4721. // The IPv6 CIDR block uses a /56 prefix length, and is allocated from Amazon's
  4722. // pool of IPv6 addresses. You cannot choose the IPv6 range for your VPC.
  4723. //
  4724. // By default, each instance you launch in the VPC has the default DHCP options,
  4725. // which includes only a default DNS server that we provide (AmazonProvidedDNS).
  4726. // For more information about DHCP options, see DHCP Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
  4727. // in the Amazon Virtual Private Cloud User Guide.
  4728. //
  4729. // You can specify the instance tenancy value for the VPC when you create it.
  4730. // You can't change this value for the VPC after you create it. For more information,
  4731. // see Dedicated Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html)
  4732. // in the Amazon Elastic Compute Cloud User Guide.
  4733. //
  4734. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4735. // with awserr.Error's Code and Message methods to get detailed information about
  4736. // the error.
  4737. //
  4738. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4739. // API operation CreateVpc for usage and error information.
  4740. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpc
  4741. func (c *EC2) CreateVpc(input *CreateVpcInput) (*CreateVpcOutput, error) {
  4742. req, out := c.CreateVpcRequest(input)
  4743. return out, req.Send()
  4744. }
  4745. // CreateVpcWithContext is the same as CreateVpc with the addition of
  4746. // the ability to pass a context and additional request options.
  4747. //
  4748. // See CreateVpc for details on how to use this API operation.
  4749. //
  4750. // The context must be non-nil and will be used for request cancellation. If
  4751. // the context is nil a panic will occur. In the future the SDK may create
  4752. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4753. // for more information on using Contexts.
  4754. func (c *EC2) CreateVpcWithContext(ctx aws.Context, input *CreateVpcInput, opts ...request.Option) (*CreateVpcOutput, error) {
  4755. req, out := c.CreateVpcRequest(input)
  4756. req.SetContext(ctx)
  4757. req.ApplyOptions(opts...)
  4758. return out, req.Send()
  4759. }
  4760. const opCreateVpcEndpoint = "CreateVpcEndpoint"
  4761. // CreateVpcEndpointRequest generates a "aws/request.Request" representing the
  4762. // client's request for the CreateVpcEndpoint operation. The "output" return
  4763. // value will be populated with the request's response once the request complets
  4764. // successfuly.
  4765. //
  4766. // Use "Send" method on the returned Request to send the API call to the service.
  4767. // the "output" return value is not valid until after Send returns without error.
  4768. //
  4769. // See CreateVpcEndpoint for more information on using the CreateVpcEndpoint
  4770. // API call, and error handling.
  4771. //
  4772. // This method is useful when you want to inject custom logic or configuration
  4773. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4774. //
  4775. //
  4776. // // Example sending a request using the CreateVpcEndpointRequest method.
  4777. // req, resp := client.CreateVpcEndpointRequest(params)
  4778. //
  4779. // err := req.Send()
  4780. // if err == nil { // resp is now filled
  4781. // fmt.Println(resp)
  4782. // }
  4783. //
  4784. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpoint
  4785. func (c *EC2) CreateVpcEndpointRequest(input *CreateVpcEndpointInput) (req *request.Request, output *CreateVpcEndpointOutput) {
  4786. op := &request.Operation{
  4787. Name: opCreateVpcEndpoint,
  4788. HTTPMethod: "POST",
  4789. HTTPPath: "/",
  4790. }
  4791. if input == nil {
  4792. input = &CreateVpcEndpointInput{}
  4793. }
  4794. output = &CreateVpcEndpointOutput{}
  4795. req = c.newRequest(op, input, output)
  4796. return
  4797. }
  4798. // CreateVpcEndpoint API operation for Amazon Elastic Compute Cloud.
  4799. //
  4800. // Creates a VPC endpoint for a specified service. An endpoint enables you to
  4801. // create a private connection between your VPC and the service. The service
  4802. // may be provided by AWS, an AWS Marketplace partner, or another AWS account.
  4803. // For more information, see VPC Endpoints (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints.html)
  4804. // in the Amazon Virtual Private Cloud User Guide.
  4805. //
  4806. // A gateway endpoint serves as a target for a route in your route table for
  4807. // traffic destined for the AWS service. You can specify an endpoint policy
  4808. // to attach to the endpoint that will control access to the service from your
  4809. // VPC. You can also specify the VPC route tables that use the endpoint.
  4810. //
  4811. // An interface endpoint is a network interface in your subnet that serves as
  4812. // an endpoint for communicating with the specified service. You can specify
  4813. // the subnets in which to create an endpoint, and the security groups to associate
  4814. // with the endpoint network interface.
  4815. //
  4816. // Use DescribeVpcEndpointServices to get a list of supported services.
  4817. //
  4818. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4819. // with awserr.Error's Code and Message methods to get detailed information about
  4820. // the error.
  4821. //
  4822. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4823. // API operation CreateVpcEndpoint for usage and error information.
  4824. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpoint
  4825. func (c *EC2) CreateVpcEndpoint(input *CreateVpcEndpointInput) (*CreateVpcEndpointOutput, error) {
  4826. req, out := c.CreateVpcEndpointRequest(input)
  4827. return out, req.Send()
  4828. }
  4829. // CreateVpcEndpointWithContext is the same as CreateVpcEndpoint with the addition of
  4830. // the ability to pass a context and additional request options.
  4831. //
  4832. // See CreateVpcEndpoint for details on how to use this API operation.
  4833. //
  4834. // The context must be non-nil and will be used for request cancellation. If
  4835. // the context is nil a panic will occur. In the future the SDK may create
  4836. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4837. // for more information on using Contexts.
  4838. func (c *EC2) CreateVpcEndpointWithContext(ctx aws.Context, input *CreateVpcEndpointInput, opts ...request.Option) (*CreateVpcEndpointOutput, error) {
  4839. req, out := c.CreateVpcEndpointRequest(input)
  4840. req.SetContext(ctx)
  4841. req.ApplyOptions(opts...)
  4842. return out, req.Send()
  4843. }
  4844. const opCreateVpcEndpointConnectionNotification = "CreateVpcEndpointConnectionNotification"
  4845. // CreateVpcEndpointConnectionNotificationRequest generates a "aws/request.Request" representing the
  4846. // client's request for the CreateVpcEndpointConnectionNotification operation. The "output" return
  4847. // value will be populated with the request's response once the request complets
  4848. // successfuly.
  4849. //
  4850. // Use "Send" method on the returned Request to send the API call to the service.
  4851. // the "output" return value is not valid until after Send returns without error.
  4852. //
  4853. // See CreateVpcEndpointConnectionNotification for more information on using the CreateVpcEndpointConnectionNotification
  4854. // API call, and error handling.
  4855. //
  4856. // This method is useful when you want to inject custom logic or configuration
  4857. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4858. //
  4859. //
  4860. // // Example sending a request using the CreateVpcEndpointConnectionNotificationRequest method.
  4861. // req, resp := client.CreateVpcEndpointConnectionNotificationRequest(params)
  4862. //
  4863. // err := req.Send()
  4864. // if err == nil { // resp is now filled
  4865. // fmt.Println(resp)
  4866. // }
  4867. //
  4868. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointConnectionNotification
  4869. func (c *EC2) CreateVpcEndpointConnectionNotificationRequest(input *CreateVpcEndpointConnectionNotificationInput) (req *request.Request, output *CreateVpcEndpointConnectionNotificationOutput) {
  4870. op := &request.Operation{
  4871. Name: opCreateVpcEndpointConnectionNotification,
  4872. HTTPMethod: "POST",
  4873. HTTPPath: "/",
  4874. }
  4875. if input == nil {
  4876. input = &CreateVpcEndpointConnectionNotificationInput{}
  4877. }
  4878. output = &CreateVpcEndpointConnectionNotificationOutput{}
  4879. req = c.newRequest(op, input, output)
  4880. return
  4881. }
  4882. // CreateVpcEndpointConnectionNotification API operation for Amazon Elastic Compute Cloud.
  4883. //
  4884. // Creates a connection notification for a specified VPC endpoint or VPC endpoint
  4885. // service. A connection notification notifies you of specific endpoint events.
  4886. // You must create an SNS topic to receive notifications. For more information,
  4887. // see Create a Topic (http://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html)
  4888. // in the Amazon Simple Notification Service Developer Guide.
  4889. //
  4890. // You can create a connection notification for interface endpoints only.
  4891. //
  4892. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4893. // with awserr.Error's Code and Message methods to get detailed information about
  4894. // the error.
  4895. //
  4896. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4897. // API operation CreateVpcEndpointConnectionNotification for usage and error information.
  4898. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointConnectionNotification
  4899. func (c *EC2) CreateVpcEndpointConnectionNotification(input *CreateVpcEndpointConnectionNotificationInput) (*CreateVpcEndpointConnectionNotificationOutput, error) {
  4900. req, out := c.CreateVpcEndpointConnectionNotificationRequest(input)
  4901. return out, req.Send()
  4902. }
  4903. // CreateVpcEndpointConnectionNotificationWithContext is the same as CreateVpcEndpointConnectionNotification with the addition of
  4904. // the ability to pass a context and additional request options.
  4905. //
  4906. // See CreateVpcEndpointConnectionNotification for details on how to use this API operation.
  4907. //
  4908. // The context must be non-nil and will be used for request cancellation. If
  4909. // the context is nil a panic will occur. In the future the SDK may create
  4910. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4911. // for more information on using Contexts.
  4912. func (c *EC2) CreateVpcEndpointConnectionNotificationWithContext(ctx aws.Context, input *CreateVpcEndpointConnectionNotificationInput, opts ...request.Option) (*CreateVpcEndpointConnectionNotificationOutput, error) {
  4913. req, out := c.CreateVpcEndpointConnectionNotificationRequest(input)
  4914. req.SetContext(ctx)
  4915. req.ApplyOptions(opts...)
  4916. return out, req.Send()
  4917. }
  4918. const opCreateVpcEndpointServiceConfiguration = "CreateVpcEndpointServiceConfiguration"
  4919. // CreateVpcEndpointServiceConfigurationRequest generates a "aws/request.Request" representing the
  4920. // client's request for the CreateVpcEndpointServiceConfiguration operation. The "output" return
  4921. // value will be populated with the request's response once the request complets
  4922. // successfuly.
  4923. //
  4924. // Use "Send" method on the returned Request to send the API call to the service.
  4925. // the "output" return value is not valid until after Send returns without error.
  4926. //
  4927. // See CreateVpcEndpointServiceConfiguration for more information on using the CreateVpcEndpointServiceConfiguration
  4928. // API call, and error handling.
  4929. //
  4930. // This method is useful when you want to inject custom logic or configuration
  4931. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4932. //
  4933. //
  4934. // // Example sending a request using the CreateVpcEndpointServiceConfigurationRequest method.
  4935. // req, resp := client.CreateVpcEndpointServiceConfigurationRequest(params)
  4936. //
  4937. // err := req.Send()
  4938. // if err == nil { // resp is now filled
  4939. // fmt.Println(resp)
  4940. // }
  4941. //
  4942. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointServiceConfiguration
  4943. func (c *EC2) CreateVpcEndpointServiceConfigurationRequest(input *CreateVpcEndpointServiceConfigurationInput) (req *request.Request, output *CreateVpcEndpointServiceConfigurationOutput) {
  4944. op := &request.Operation{
  4945. Name: opCreateVpcEndpointServiceConfiguration,
  4946. HTTPMethod: "POST",
  4947. HTTPPath: "/",
  4948. }
  4949. if input == nil {
  4950. input = &CreateVpcEndpointServiceConfigurationInput{}
  4951. }
  4952. output = &CreateVpcEndpointServiceConfigurationOutput{}
  4953. req = c.newRequest(op, input, output)
  4954. return
  4955. }
  4956. // CreateVpcEndpointServiceConfiguration API operation for Amazon Elastic Compute Cloud.
  4957. //
  4958. // Creates a VPC endpoint service configuration to which service consumers (AWS
  4959. // accounts, IAM users, and IAM roles) can connect. Service consumers can create
  4960. // an interface VPC endpoint to connect to your service.
  4961. //
  4962. // To create an endpoint service configuration, you must first create a Network
  4963. // Load Balancer for your service. For more information, see VPC Endpoint Services
  4964. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/endpoint-service.html)
  4965. // in the Amazon Virtual Private Cloud User Guide.
  4966. //
  4967. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4968. // with awserr.Error's Code and Message methods to get detailed information about
  4969. // the error.
  4970. //
  4971. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4972. // API operation CreateVpcEndpointServiceConfiguration for usage and error information.
  4973. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointServiceConfiguration
  4974. func (c *EC2) CreateVpcEndpointServiceConfiguration(input *CreateVpcEndpointServiceConfigurationInput) (*CreateVpcEndpointServiceConfigurationOutput, error) {
  4975. req, out := c.CreateVpcEndpointServiceConfigurationRequest(input)
  4976. return out, req.Send()
  4977. }
  4978. // CreateVpcEndpointServiceConfigurationWithContext is the same as CreateVpcEndpointServiceConfiguration with the addition of
  4979. // the ability to pass a context and additional request options.
  4980. //
  4981. // See CreateVpcEndpointServiceConfiguration for details on how to use this API operation.
  4982. //
  4983. // The context must be non-nil and will be used for request cancellation. If
  4984. // the context is nil a panic will occur. In the future the SDK may create
  4985. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4986. // for more information on using Contexts.
  4987. func (c *EC2) CreateVpcEndpointServiceConfigurationWithContext(ctx aws.Context, input *CreateVpcEndpointServiceConfigurationInput, opts ...request.Option) (*CreateVpcEndpointServiceConfigurationOutput, error) {
  4988. req, out := c.CreateVpcEndpointServiceConfigurationRequest(input)
  4989. req.SetContext(ctx)
  4990. req.ApplyOptions(opts...)
  4991. return out, req.Send()
  4992. }
  4993. const opCreateVpcPeeringConnection = "CreateVpcPeeringConnection"
  4994. // CreateVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
  4995. // client's request for the CreateVpcPeeringConnection operation. The "output" return
  4996. // value will be populated with the request's response once the request complets
  4997. // successfuly.
  4998. //
  4999. // Use "Send" method on the returned Request to send the API call to the service.
  5000. // the "output" return value is not valid until after Send returns without error.
  5001. //
  5002. // See CreateVpcPeeringConnection for more information on using the CreateVpcPeeringConnection
  5003. // API call, and error handling.
  5004. //
  5005. // This method is useful when you want to inject custom logic or configuration
  5006. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5007. //
  5008. //
  5009. // // Example sending a request using the CreateVpcPeeringConnectionRequest method.
  5010. // req, resp := client.CreateVpcPeeringConnectionRequest(params)
  5011. //
  5012. // err := req.Send()
  5013. // if err == nil { // resp is now filled
  5014. // fmt.Println(resp)
  5015. // }
  5016. //
  5017. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcPeeringConnection
  5018. func (c *EC2) CreateVpcPeeringConnectionRequest(input *CreateVpcPeeringConnectionInput) (req *request.Request, output *CreateVpcPeeringConnectionOutput) {
  5019. op := &request.Operation{
  5020. Name: opCreateVpcPeeringConnection,
  5021. HTTPMethod: "POST",
  5022. HTTPPath: "/",
  5023. }
  5024. if input == nil {
  5025. input = &CreateVpcPeeringConnectionInput{}
  5026. }
  5027. output = &CreateVpcPeeringConnectionOutput{}
  5028. req = c.newRequest(op, input, output)
  5029. return
  5030. }
  5031. // CreateVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
  5032. //
  5033. // Requests a VPC peering connection between two VPCs: a requester VPC that
  5034. // you own and an accepter VPC with which to create the connection. The accepter
  5035. // VPC can belong to another AWS account and can be in a different region to
  5036. // the requester VPC. The requester VPC and accepter VPC cannot have overlapping
  5037. // CIDR blocks.
  5038. //
  5039. // The owner of the accepter VPC must accept the peering request to activate
  5040. // the peering connection. The VPC peering connection request expires after
  5041. // 7 days, after which it cannot be accepted or rejected.
  5042. //
  5043. // If you create a VPC peering connection request between VPCs with overlapping
  5044. // CIDR blocks, the VPC peering connection has a status of failed.
  5045. //
  5046. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5047. // with awserr.Error's Code and Message methods to get detailed information about
  5048. // the error.
  5049. //
  5050. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5051. // API operation CreateVpcPeeringConnection for usage and error information.
  5052. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcPeeringConnection
  5053. func (c *EC2) CreateVpcPeeringConnection(input *CreateVpcPeeringConnectionInput) (*CreateVpcPeeringConnectionOutput, error) {
  5054. req, out := c.CreateVpcPeeringConnectionRequest(input)
  5055. return out, req.Send()
  5056. }
  5057. // CreateVpcPeeringConnectionWithContext is the same as CreateVpcPeeringConnection with the addition of
  5058. // the ability to pass a context and additional request options.
  5059. //
  5060. // See CreateVpcPeeringConnection for details on how to use this API operation.
  5061. //
  5062. // The context must be non-nil and will be used for request cancellation. If
  5063. // the context is nil a panic will occur. In the future the SDK may create
  5064. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5065. // for more information on using Contexts.
  5066. func (c *EC2) CreateVpcPeeringConnectionWithContext(ctx aws.Context, input *CreateVpcPeeringConnectionInput, opts ...request.Option) (*CreateVpcPeeringConnectionOutput, error) {
  5067. req, out := c.CreateVpcPeeringConnectionRequest(input)
  5068. req.SetContext(ctx)
  5069. req.ApplyOptions(opts...)
  5070. return out, req.Send()
  5071. }
  5072. const opCreateVpnConnection = "CreateVpnConnection"
  5073. // CreateVpnConnectionRequest generates a "aws/request.Request" representing the
  5074. // client's request for the CreateVpnConnection operation. The "output" return
  5075. // value will be populated with the request's response once the request complets
  5076. // successfuly.
  5077. //
  5078. // Use "Send" method on the returned Request to send the API call to the service.
  5079. // the "output" return value is not valid until after Send returns without error.
  5080. //
  5081. // See CreateVpnConnection for more information on using the CreateVpnConnection
  5082. // API call, and error handling.
  5083. //
  5084. // This method is useful when you want to inject custom logic or configuration
  5085. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5086. //
  5087. //
  5088. // // Example sending a request using the CreateVpnConnectionRequest method.
  5089. // req, resp := client.CreateVpnConnectionRequest(params)
  5090. //
  5091. // err := req.Send()
  5092. // if err == nil { // resp is now filled
  5093. // fmt.Println(resp)
  5094. // }
  5095. //
  5096. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnection
  5097. func (c *EC2) CreateVpnConnectionRequest(input *CreateVpnConnectionInput) (req *request.Request, output *CreateVpnConnectionOutput) {
  5098. op := &request.Operation{
  5099. Name: opCreateVpnConnection,
  5100. HTTPMethod: "POST",
  5101. HTTPPath: "/",
  5102. }
  5103. if input == nil {
  5104. input = &CreateVpnConnectionInput{}
  5105. }
  5106. output = &CreateVpnConnectionOutput{}
  5107. req = c.newRequest(op, input, output)
  5108. return
  5109. }
  5110. // CreateVpnConnection API operation for Amazon Elastic Compute Cloud.
  5111. //
  5112. // Creates a VPN connection between an existing virtual private gateway and
  5113. // a VPN customer gateway. The only supported connection type is ipsec.1.
  5114. //
  5115. // The response includes information that you need to give to your network administrator
  5116. // to configure your customer gateway.
  5117. //
  5118. // We strongly recommend that you use HTTPS when calling this operation because
  5119. // the response contains sensitive cryptographic information for configuring
  5120. // your customer gateway.
  5121. //
  5122. // If you decide to shut down your VPN connection for any reason and later create
  5123. // a new VPN connection, you must reconfigure your customer gateway with the
  5124. // new information returned from this call.
  5125. //
  5126. // This is an idempotent operation. If you perform the operation more than once,
  5127. // Amazon EC2 doesn't return an error.
  5128. //
  5129. // For more information, see AWS Managed VPN Connections (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  5130. // in the Amazon Virtual Private Cloud User Guide.
  5131. //
  5132. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5133. // with awserr.Error's Code and Message methods to get detailed information about
  5134. // the error.
  5135. //
  5136. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5137. // API operation CreateVpnConnection for usage and error information.
  5138. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnection
  5139. func (c *EC2) CreateVpnConnection(input *CreateVpnConnectionInput) (*CreateVpnConnectionOutput, error) {
  5140. req, out := c.CreateVpnConnectionRequest(input)
  5141. return out, req.Send()
  5142. }
  5143. // CreateVpnConnectionWithContext is the same as CreateVpnConnection with the addition of
  5144. // the ability to pass a context and additional request options.
  5145. //
  5146. // See CreateVpnConnection for details on how to use this API operation.
  5147. //
  5148. // The context must be non-nil and will be used for request cancellation. If
  5149. // the context is nil a panic will occur. In the future the SDK may create
  5150. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5151. // for more information on using Contexts.
  5152. func (c *EC2) CreateVpnConnectionWithContext(ctx aws.Context, input *CreateVpnConnectionInput, opts ...request.Option) (*CreateVpnConnectionOutput, error) {
  5153. req, out := c.CreateVpnConnectionRequest(input)
  5154. req.SetContext(ctx)
  5155. req.ApplyOptions(opts...)
  5156. return out, req.Send()
  5157. }
  5158. const opCreateVpnConnectionRoute = "CreateVpnConnectionRoute"
  5159. // CreateVpnConnectionRouteRequest generates a "aws/request.Request" representing the
  5160. // client's request for the CreateVpnConnectionRoute operation. The "output" return
  5161. // value will be populated with the request's response once the request complets
  5162. // successfuly.
  5163. //
  5164. // Use "Send" method on the returned Request to send the API call to the service.
  5165. // the "output" return value is not valid until after Send returns without error.
  5166. //
  5167. // See CreateVpnConnectionRoute for more information on using the CreateVpnConnectionRoute
  5168. // API call, and error handling.
  5169. //
  5170. // This method is useful when you want to inject custom logic or configuration
  5171. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5172. //
  5173. //
  5174. // // Example sending a request using the CreateVpnConnectionRouteRequest method.
  5175. // req, resp := client.CreateVpnConnectionRouteRequest(params)
  5176. //
  5177. // err := req.Send()
  5178. // if err == nil { // resp is now filled
  5179. // fmt.Println(resp)
  5180. // }
  5181. //
  5182. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionRoute
  5183. func (c *EC2) CreateVpnConnectionRouteRequest(input *CreateVpnConnectionRouteInput) (req *request.Request, output *CreateVpnConnectionRouteOutput) {
  5184. op := &request.Operation{
  5185. Name: opCreateVpnConnectionRoute,
  5186. HTTPMethod: "POST",
  5187. HTTPPath: "/",
  5188. }
  5189. if input == nil {
  5190. input = &CreateVpnConnectionRouteInput{}
  5191. }
  5192. output = &CreateVpnConnectionRouteOutput{}
  5193. req = c.newRequest(op, input, output)
  5194. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5195. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5196. return
  5197. }
  5198. // CreateVpnConnectionRoute API operation for Amazon Elastic Compute Cloud.
  5199. //
  5200. // Creates a static route associated with a VPN connection between an existing
  5201. // virtual private gateway and a VPN customer gateway. The static route allows
  5202. // traffic to be routed from the virtual private gateway to the VPN customer
  5203. // gateway.
  5204. //
  5205. // For more information about VPN connections, see AWS Managed VPN Connections
  5206. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html) in the
  5207. // Amazon Virtual Private Cloud User Guide.
  5208. //
  5209. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5210. // with awserr.Error's Code and Message methods to get detailed information about
  5211. // the error.
  5212. //
  5213. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5214. // API operation CreateVpnConnectionRoute for usage and error information.
  5215. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionRoute
  5216. func (c *EC2) CreateVpnConnectionRoute(input *CreateVpnConnectionRouteInput) (*CreateVpnConnectionRouteOutput, error) {
  5217. req, out := c.CreateVpnConnectionRouteRequest(input)
  5218. return out, req.Send()
  5219. }
  5220. // CreateVpnConnectionRouteWithContext is the same as CreateVpnConnectionRoute with the addition of
  5221. // the ability to pass a context and additional request options.
  5222. //
  5223. // See CreateVpnConnectionRoute for details on how to use this API operation.
  5224. //
  5225. // The context must be non-nil and will be used for request cancellation. If
  5226. // the context is nil a panic will occur. In the future the SDK may create
  5227. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5228. // for more information on using Contexts.
  5229. func (c *EC2) CreateVpnConnectionRouteWithContext(ctx aws.Context, input *CreateVpnConnectionRouteInput, opts ...request.Option) (*CreateVpnConnectionRouteOutput, error) {
  5230. req, out := c.CreateVpnConnectionRouteRequest(input)
  5231. req.SetContext(ctx)
  5232. req.ApplyOptions(opts...)
  5233. return out, req.Send()
  5234. }
  5235. const opCreateVpnGateway = "CreateVpnGateway"
  5236. // CreateVpnGatewayRequest generates a "aws/request.Request" representing the
  5237. // client's request for the CreateVpnGateway operation. The "output" return
  5238. // value will be populated with the request's response once the request complets
  5239. // successfuly.
  5240. //
  5241. // Use "Send" method on the returned Request to send the API call to the service.
  5242. // the "output" return value is not valid until after Send returns without error.
  5243. //
  5244. // See CreateVpnGateway for more information on using the CreateVpnGateway
  5245. // API call, and error handling.
  5246. //
  5247. // This method is useful when you want to inject custom logic or configuration
  5248. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5249. //
  5250. //
  5251. // // Example sending a request using the CreateVpnGatewayRequest method.
  5252. // req, resp := client.CreateVpnGatewayRequest(params)
  5253. //
  5254. // err := req.Send()
  5255. // if err == nil { // resp is now filled
  5256. // fmt.Println(resp)
  5257. // }
  5258. //
  5259. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnGateway
  5260. func (c *EC2) CreateVpnGatewayRequest(input *CreateVpnGatewayInput) (req *request.Request, output *CreateVpnGatewayOutput) {
  5261. op := &request.Operation{
  5262. Name: opCreateVpnGateway,
  5263. HTTPMethod: "POST",
  5264. HTTPPath: "/",
  5265. }
  5266. if input == nil {
  5267. input = &CreateVpnGatewayInput{}
  5268. }
  5269. output = &CreateVpnGatewayOutput{}
  5270. req = c.newRequest(op, input, output)
  5271. return
  5272. }
  5273. // CreateVpnGateway API operation for Amazon Elastic Compute Cloud.
  5274. //
  5275. // Creates a virtual private gateway. A virtual private gateway is the endpoint
  5276. // on the VPC side of your VPN connection. You can create a virtual private
  5277. // gateway before creating the VPC itself.
  5278. //
  5279. // For more information about virtual private gateways, see AWS Managed VPN
  5280. // Connections (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  5281. // in the Amazon Virtual Private Cloud User Guide.
  5282. //
  5283. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5284. // with awserr.Error's Code and Message methods to get detailed information about
  5285. // the error.
  5286. //
  5287. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5288. // API operation CreateVpnGateway for usage and error information.
  5289. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnGateway
  5290. func (c *EC2) CreateVpnGateway(input *CreateVpnGatewayInput) (*CreateVpnGatewayOutput, error) {
  5291. req, out := c.CreateVpnGatewayRequest(input)
  5292. return out, req.Send()
  5293. }
  5294. // CreateVpnGatewayWithContext is the same as CreateVpnGateway with the addition of
  5295. // the ability to pass a context and additional request options.
  5296. //
  5297. // See CreateVpnGateway for details on how to use this API operation.
  5298. //
  5299. // The context must be non-nil and will be used for request cancellation. If
  5300. // the context is nil a panic will occur. In the future the SDK may create
  5301. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5302. // for more information on using Contexts.
  5303. func (c *EC2) CreateVpnGatewayWithContext(ctx aws.Context, input *CreateVpnGatewayInput, opts ...request.Option) (*CreateVpnGatewayOutput, error) {
  5304. req, out := c.CreateVpnGatewayRequest(input)
  5305. req.SetContext(ctx)
  5306. req.ApplyOptions(opts...)
  5307. return out, req.Send()
  5308. }
  5309. const opDeleteCustomerGateway = "DeleteCustomerGateway"
  5310. // DeleteCustomerGatewayRequest generates a "aws/request.Request" representing the
  5311. // client's request for the DeleteCustomerGateway operation. The "output" return
  5312. // value will be populated with the request's response once the request complets
  5313. // successfuly.
  5314. //
  5315. // Use "Send" method on the returned Request to send the API call to the service.
  5316. // the "output" return value is not valid until after Send returns without error.
  5317. //
  5318. // See DeleteCustomerGateway for more information on using the DeleteCustomerGateway
  5319. // API call, and error handling.
  5320. //
  5321. // This method is useful when you want to inject custom logic or configuration
  5322. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5323. //
  5324. //
  5325. // // Example sending a request using the DeleteCustomerGatewayRequest method.
  5326. // req, resp := client.DeleteCustomerGatewayRequest(params)
  5327. //
  5328. // err := req.Send()
  5329. // if err == nil { // resp is now filled
  5330. // fmt.Println(resp)
  5331. // }
  5332. //
  5333. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCustomerGateway
  5334. func (c *EC2) DeleteCustomerGatewayRequest(input *DeleteCustomerGatewayInput) (req *request.Request, output *DeleteCustomerGatewayOutput) {
  5335. op := &request.Operation{
  5336. Name: opDeleteCustomerGateway,
  5337. HTTPMethod: "POST",
  5338. HTTPPath: "/",
  5339. }
  5340. if input == nil {
  5341. input = &DeleteCustomerGatewayInput{}
  5342. }
  5343. output = &DeleteCustomerGatewayOutput{}
  5344. req = c.newRequest(op, input, output)
  5345. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5346. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5347. return
  5348. }
  5349. // DeleteCustomerGateway API operation for Amazon Elastic Compute Cloud.
  5350. //
  5351. // Deletes the specified customer gateway. You must delete the VPN connection
  5352. // before you can delete the customer gateway.
  5353. //
  5354. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5355. // with awserr.Error's Code and Message methods to get detailed information about
  5356. // the error.
  5357. //
  5358. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5359. // API operation DeleteCustomerGateway for usage and error information.
  5360. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCustomerGateway
  5361. func (c *EC2) DeleteCustomerGateway(input *DeleteCustomerGatewayInput) (*DeleteCustomerGatewayOutput, error) {
  5362. req, out := c.DeleteCustomerGatewayRequest(input)
  5363. return out, req.Send()
  5364. }
  5365. // DeleteCustomerGatewayWithContext is the same as DeleteCustomerGateway with the addition of
  5366. // the ability to pass a context and additional request options.
  5367. //
  5368. // See DeleteCustomerGateway for details on how to use this API operation.
  5369. //
  5370. // The context must be non-nil and will be used for request cancellation. If
  5371. // the context is nil a panic will occur. In the future the SDK may create
  5372. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5373. // for more information on using Contexts.
  5374. func (c *EC2) DeleteCustomerGatewayWithContext(ctx aws.Context, input *DeleteCustomerGatewayInput, opts ...request.Option) (*DeleteCustomerGatewayOutput, error) {
  5375. req, out := c.DeleteCustomerGatewayRequest(input)
  5376. req.SetContext(ctx)
  5377. req.ApplyOptions(opts...)
  5378. return out, req.Send()
  5379. }
  5380. const opDeleteDhcpOptions = "DeleteDhcpOptions"
  5381. // DeleteDhcpOptionsRequest generates a "aws/request.Request" representing the
  5382. // client's request for the DeleteDhcpOptions operation. The "output" return
  5383. // value will be populated with the request's response once the request complets
  5384. // successfuly.
  5385. //
  5386. // Use "Send" method on the returned Request to send the API call to the service.
  5387. // the "output" return value is not valid until after Send returns without error.
  5388. //
  5389. // See DeleteDhcpOptions for more information on using the DeleteDhcpOptions
  5390. // API call, and error handling.
  5391. //
  5392. // This method is useful when you want to inject custom logic or configuration
  5393. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5394. //
  5395. //
  5396. // // Example sending a request using the DeleteDhcpOptionsRequest method.
  5397. // req, resp := client.DeleteDhcpOptionsRequest(params)
  5398. //
  5399. // err := req.Send()
  5400. // if err == nil { // resp is now filled
  5401. // fmt.Println(resp)
  5402. // }
  5403. //
  5404. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteDhcpOptions
  5405. func (c *EC2) DeleteDhcpOptionsRequest(input *DeleteDhcpOptionsInput) (req *request.Request, output *DeleteDhcpOptionsOutput) {
  5406. op := &request.Operation{
  5407. Name: opDeleteDhcpOptions,
  5408. HTTPMethod: "POST",
  5409. HTTPPath: "/",
  5410. }
  5411. if input == nil {
  5412. input = &DeleteDhcpOptionsInput{}
  5413. }
  5414. output = &DeleteDhcpOptionsOutput{}
  5415. req = c.newRequest(op, input, output)
  5416. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5417. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5418. return
  5419. }
  5420. // DeleteDhcpOptions API operation for Amazon Elastic Compute Cloud.
  5421. //
  5422. // Deletes the specified set of DHCP options. You must disassociate the set
  5423. // of DHCP options before you can delete it. You can disassociate the set of
  5424. // DHCP options by associating either a new set of options or the default set
  5425. // of options with the VPC.
  5426. //
  5427. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5428. // with awserr.Error's Code and Message methods to get detailed information about
  5429. // the error.
  5430. //
  5431. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5432. // API operation DeleteDhcpOptions for usage and error information.
  5433. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteDhcpOptions
  5434. func (c *EC2) DeleteDhcpOptions(input *DeleteDhcpOptionsInput) (*DeleteDhcpOptionsOutput, error) {
  5435. req, out := c.DeleteDhcpOptionsRequest(input)
  5436. return out, req.Send()
  5437. }
  5438. // DeleteDhcpOptionsWithContext is the same as DeleteDhcpOptions with the addition of
  5439. // the ability to pass a context and additional request options.
  5440. //
  5441. // See DeleteDhcpOptions for details on how to use this API operation.
  5442. //
  5443. // The context must be non-nil and will be used for request cancellation. If
  5444. // the context is nil a panic will occur. In the future the SDK may create
  5445. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5446. // for more information on using Contexts.
  5447. func (c *EC2) DeleteDhcpOptionsWithContext(ctx aws.Context, input *DeleteDhcpOptionsInput, opts ...request.Option) (*DeleteDhcpOptionsOutput, error) {
  5448. req, out := c.DeleteDhcpOptionsRequest(input)
  5449. req.SetContext(ctx)
  5450. req.ApplyOptions(opts...)
  5451. return out, req.Send()
  5452. }
  5453. const opDeleteEgressOnlyInternetGateway = "DeleteEgressOnlyInternetGateway"
  5454. // DeleteEgressOnlyInternetGatewayRequest generates a "aws/request.Request" representing the
  5455. // client's request for the DeleteEgressOnlyInternetGateway operation. The "output" return
  5456. // value will be populated with the request's response once the request complets
  5457. // successfuly.
  5458. //
  5459. // Use "Send" method on the returned Request to send the API call to the service.
  5460. // the "output" return value is not valid until after Send returns without error.
  5461. //
  5462. // See DeleteEgressOnlyInternetGateway for more information on using the DeleteEgressOnlyInternetGateway
  5463. // API call, and error handling.
  5464. //
  5465. // This method is useful when you want to inject custom logic or configuration
  5466. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5467. //
  5468. //
  5469. // // Example sending a request using the DeleteEgressOnlyInternetGatewayRequest method.
  5470. // req, resp := client.DeleteEgressOnlyInternetGatewayRequest(params)
  5471. //
  5472. // err := req.Send()
  5473. // if err == nil { // resp is now filled
  5474. // fmt.Println(resp)
  5475. // }
  5476. //
  5477. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteEgressOnlyInternetGateway
  5478. func (c *EC2) DeleteEgressOnlyInternetGatewayRequest(input *DeleteEgressOnlyInternetGatewayInput) (req *request.Request, output *DeleteEgressOnlyInternetGatewayOutput) {
  5479. op := &request.Operation{
  5480. Name: opDeleteEgressOnlyInternetGateway,
  5481. HTTPMethod: "POST",
  5482. HTTPPath: "/",
  5483. }
  5484. if input == nil {
  5485. input = &DeleteEgressOnlyInternetGatewayInput{}
  5486. }
  5487. output = &DeleteEgressOnlyInternetGatewayOutput{}
  5488. req = c.newRequest(op, input, output)
  5489. return
  5490. }
  5491. // DeleteEgressOnlyInternetGateway API operation for Amazon Elastic Compute Cloud.
  5492. //
  5493. // Deletes an egress-only Internet gateway.
  5494. //
  5495. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5496. // with awserr.Error's Code and Message methods to get detailed information about
  5497. // the error.
  5498. //
  5499. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5500. // API operation DeleteEgressOnlyInternetGateway for usage and error information.
  5501. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteEgressOnlyInternetGateway
  5502. func (c *EC2) DeleteEgressOnlyInternetGateway(input *DeleteEgressOnlyInternetGatewayInput) (*DeleteEgressOnlyInternetGatewayOutput, error) {
  5503. req, out := c.DeleteEgressOnlyInternetGatewayRequest(input)
  5504. return out, req.Send()
  5505. }
  5506. // DeleteEgressOnlyInternetGatewayWithContext is the same as DeleteEgressOnlyInternetGateway with the addition of
  5507. // the ability to pass a context and additional request options.
  5508. //
  5509. // See DeleteEgressOnlyInternetGateway for details on how to use this API operation.
  5510. //
  5511. // The context must be non-nil and will be used for request cancellation. If
  5512. // the context is nil a panic will occur. In the future the SDK may create
  5513. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5514. // for more information on using Contexts.
  5515. func (c *EC2) DeleteEgressOnlyInternetGatewayWithContext(ctx aws.Context, input *DeleteEgressOnlyInternetGatewayInput, opts ...request.Option) (*DeleteEgressOnlyInternetGatewayOutput, error) {
  5516. req, out := c.DeleteEgressOnlyInternetGatewayRequest(input)
  5517. req.SetContext(ctx)
  5518. req.ApplyOptions(opts...)
  5519. return out, req.Send()
  5520. }
  5521. const opDeleteFlowLogs = "DeleteFlowLogs"
  5522. // DeleteFlowLogsRequest generates a "aws/request.Request" representing the
  5523. // client's request for the DeleteFlowLogs operation. The "output" return
  5524. // value will be populated with the request's response once the request complets
  5525. // successfuly.
  5526. //
  5527. // Use "Send" method on the returned Request to send the API call to the service.
  5528. // the "output" return value is not valid until after Send returns without error.
  5529. //
  5530. // See DeleteFlowLogs for more information on using the DeleteFlowLogs
  5531. // API call, and error handling.
  5532. //
  5533. // This method is useful when you want to inject custom logic or configuration
  5534. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5535. //
  5536. //
  5537. // // Example sending a request using the DeleteFlowLogsRequest method.
  5538. // req, resp := client.DeleteFlowLogsRequest(params)
  5539. //
  5540. // err := req.Send()
  5541. // if err == nil { // resp is now filled
  5542. // fmt.Println(resp)
  5543. // }
  5544. //
  5545. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFlowLogs
  5546. func (c *EC2) DeleteFlowLogsRequest(input *DeleteFlowLogsInput) (req *request.Request, output *DeleteFlowLogsOutput) {
  5547. op := &request.Operation{
  5548. Name: opDeleteFlowLogs,
  5549. HTTPMethod: "POST",
  5550. HTTPPath: "/",
  5551. }
  5552. if input == nil {
  5553. input = &DeleteFlowLogsInput{}
  5554. }
  5555. output = &DeleteFlowLogsOutput{}
  5556. req = c.newRequest(op, input, output)
  5557. return
  5558. }
  5559. // DeleteFlowLogs API operation for Amazon Elastic Compute Cloud.
  5560. //
  5561. // Deletes one or more flow logs.
  5562. //
  5563. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5564. // with awserr.Error's Code and Message methods to get detailed information about
  5565. // the error.
  5566. //
  5567. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5568. // API operation DeleteFlowLogs for usage and error information.
  5569. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFlowLogs
  5570. func (c *EC2) DeleteFlowLogs(input *DeleteFlowLogsInput) (*DeleteFlowLogsOutput, error) {
  5571. req, out := c.DeleteFlowLogsRequest(input)
  5572. return out, req.Send()
  5573. }
  5574. // DeleteFlowLogsWithContext is the same as DeleteFlowLogs with the addition of
  5575. // the ability to pass a context and additional request options.
  5576. //
  5577. // See DeleteFlowLogs for details on how to use this API operation.
  5578. //
  5579. // The context must be non-nil and will be used for request cancellation. If
  5580. // the context is nil a panic will occur. In the future the SDK may create
  5581. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5582. // for more information on using Contexts.
  5583. func (c *EC2) DeleteFlowLogsWithContext(ctx aws.Context, input *DeleteFlowLogsInput, opts ...request.Option) (*DeleteFlowLogsOutput, error) {
  5584. req, out := c.DeleteFlowLogsRequest(input)
  5585. req.SetContext(ctx)
  5586. req.ApplyOptions(opts...)
  5587. return out, req.Send()
  5588. }
  5589. const opDeleteFpgaImage = "DeleteFpgaImage"
  5590. // DeleteFpgaImageRequest generates a "aws/request.Request" representing the
  5591. // client's request for the DeleteFpgaImage operation. The "output" return
  5592. // value will be populated with the request's response once the request complets
  5593. // successfuly.
  5594. //
  5595. // Use "Send" method on the returned Request to send the API call to the service.
  5596. // the "output" return value is not valid until after Send returns without error.
  5597. //
  5598. // See DeleteFpgaImage for more information on using the DeleteFpgaImage
  5599. // API call, and error handling.
  5600. //
  5601. // This method is useful when you want to inject custom logic or configuration
  5602. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5603. //
  5604. //
  5605. // // Example sending a request using the DeleteFpgaImageRequest method.
  5606. // req, resp := client.DeleteFpgaImageRequest(params)
  5607. //
  5608. // err := req.Send()
  5609. // if err == nil { // resp is now filled
  5610. // fmt.Println(resp)
  5611. // }
  5612. //
  5613. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFpgaImage
  5614. func (c *EC2) DeleteFpgaImageRequest(input *DeleteFpgaImageInput) (req *request.Request, output *DeleteFpgaImageOutput) {
  5615. op := &request.Operation{
  5616. Name: opDeleteFpgaImage,
  5617. HTTPMethod: "POST",
  5618. HTTPPath: "/",
  5619. }
  5620. if input == nil {
  5621. input = &DeleteFpgaImageInput{}
  5622. }
  5623. output = &DeleteFpgaImageOutput{}
  5624. req = c.newRequest(op, input, output)
  5625. return
  5626. }
  5627. // DeleteFpgaImage API operation for Amazon Elastic Compute Cloud.
  5628. //
  5629. // Deletes the specified Amazon FPGA Image (AFI).
  5630. //
  5631. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5632. // with awserr.Error's Code and Message methods to get detailed information about
  5633. // the error.
  5634. //
  5635. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5636. // API operation DeleteFpgaImage for usage and error information.
  5637. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFpgaImage
  5638. func (c *EC2) DeleteFpgaImage(input *DeleteFpgaImageInput) (*DeleteFpgaImageOutput, error) {
  5639. req, out := c.DeleteFpgaImageRequest(input)
  5640. return out, req.Send()
  5641. }
  5642. // DeleteFpgaImageWithContext is the same as DeleteFpgaImage with the addition of
  5643. // the ability to pass a context and additional request options.
  5644. //
  5645. // See DeleteFpgaImage for details on how to use this API operation.
  5646. //
  5647. // The context must be non-nil and will be used for request cancellation. If
  5648. // the context is nil a panic will occur. In the future the SDK may create
  5649. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5650. // for more information on using Contexts.
  5651. func (c *EC2) DeleteFpgaImageWithContext(ctx aws.Context, input *DeleteFpgaImageInput, opts ...request.Option) (*DeleteFpgaImageOutput, error) {
  5652. req, out := c.DeleteFpgaImageRequest(input)
  5653. req.SetContext(ctx)
  5654. req.ApplyOptions(opts...)
  5655. return out, req.Send()
  5656. }
  5657. const opDeleteInternetGateway = "DeleteInternetGateway"
  5658. // DeleteInternetGatewayRequest generates a "aws/request.Request" representing the
  5659. // client's request for the DeleteInternetGateway operation. The "output" return
  5660. // value will be populated with the request's response once the request complets
  5661. // successfuly.
  5662. //
  5663. // Use "Send" method on the returned Request to send the API call to the service.
  5664. // the "output" return value is not valid until after Send returns without error.
  5665. //
  5666. // See DeleteInternetGateway for more information on using the DeleteInternetGateway
  5667. // API call, and error handling.
  5668. //
  5669. // This method is useful when you want to inject custom logic or configuration
  5670. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5671. //
  5672. //
  5673. // // Example sending a request using the DeleteInternetGatewayRequest method.
  5674. // req, resp := client.DeleteInternetGatewayRequest(params)
  5675. //
  5676. // err := req.Send()
  5677. // if err == nil { // resp is now filled
  5678. // fmt.Println(resp)
  5679. // }
  5680. //
  5681. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteInternetGateway
  5682. func (c *EC2) DeleteInternetGatewayRequest(input *DeleteInternetGatewayInput) (req *request.Request, output *DeleteInternetGatewayOutput) {
  5683. op := &request.Operation{
  5684. Name: opDeleteInternetGateway,
  5685. HTTPMethod: "POST",
  5686. HTTPPath: "/",
  5687. }
  5688. if input == nil {
  5689. input = &DeleteInternetGatewayInput{}
  5690. }
  5691. output = &DeleteInternetGatewayOutput{}
  5692. req = c.newRequest(op, input, output)
  5693. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5694. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5695. return
  5696. }
  5697. // DeleteInternetGateway API operation for Amazon Elastic Compute Cloud.
  5698. //
  5699. // Deletes the specified Internet gateway. You must detach the Internet gateway
  5700. // from the VPC before you can delete it.
  5701. //
  5702. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5703. // with awserr.Error's Code and Message methods to get detailed information about
  5704. // the error.
  5705. //
  5706. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5707. // API operation DeleteInternetGateway for usage and error information.
  5708. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteInternetGateway
  5709. func (c *EC2) DeleteInternetGateway(input *DeleteInternetGatewayInput) (*DeleteInternetGatewayOutput, error) {
  5710. req, out := c.DeleteInternetGatewayRequest(input)
  5711. return out, req.Send()
  5712. }
  5713. // DeleteInternetGatewayWithContext is the same as DeleteInternetGateway with the addition of
  5714. // the ability to pass a context and additional request options.
  5715. //
  5716. // See DeleteInternetGateway for details on how to use this API operation.
  5717. //
  5718. // The context must be non-nil and will be used for request cancellation. If
  5719. // the context is nil a panic will occur. In the future the SDK may create
  5720. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5721. // for more information on using Contexts.
  5722. func (c *EC2) DeleteInternetGatewayWithContext(ctx aws.Context, input *DeleteInternetGatewayInput, opts ...request.Option) (*DeleteInternetGatewayOutput, error) {
  5723. req, out := c.DeleteInternetGatewayRequest(input)
  5724. req.SetContext(ctx)
  5725. req.ApplyOptions(opts...)
  5726. return out, req.Send()
  5727. }
  5728. const opDeleteKeyPair = "DeleteKeyPair"
  5729. // DeleteKeyPairRequest generates a "aws/request.Request" representing the
  5730. // client's request for the DeleteKeyPair operation. The "output" return
  5731. // value will be populated with the request's response once the request complets
  5732. // successfuly.
  5733. //
  5734. // Use "Send" method on the returned Request to send the API call to the service.
  5735. // the "output" return value is not valid until after Send returns without error.
  5736. //
  5737. // See DeleteKeyPair for more information on using the DeleteKeyPair
  5738. // API call, and error handling.
  5739. //
  5740. // This method is useful when you want to inject custom logic or configuration
  5741. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5742. //
  5743. //
  5744. // // Example sending a request using the DeleteKeyPairRequest method.
  5745. // req, resp := client.DeleteKeyPairRequest(params)
  5746. //
  5747. // err := req.Send()
  5748. // if err == nil { // resp is now filled
  5749. // fmt.Println(resp)
  5750. // }
  5751. //
  5752. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteKeyPair
  5753. func (c *EC2) DeleteKeyPairRequest(input *DeleteKeyPairInput) (req *request.Request, output *DeleteKeyPairOutput) {
  5754. op := &request.Operation{
  5755. Name: opDeleteKeyPair,
  5756. HTTPMethod: "POST",
  5757. HTTPPath: "/",
  5758. }
  5759. if input == nil {
  5760. input = &DeleteKeyPairInput{}
  5761. }
  5762. output = &DeleteKeyPairOutput{}
  5763. req = c.newRequest(op, input, output)
  5764. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5765. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5766. return
  5767. }
  5768. // DeleteKeyPair API operation for Amazon Elastic Compute Cloud.
  5769. //
  5770. // Deletes the specified key pair, by removing the public key from Amazon EC2.
  5771. //
  5772. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5773. // with awserr.Error's Code and Message methods to get detailed information about
  5774. // the error.
  5775. //
  5776. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5777. // API operation DeleteKeyPair for usage and error information.
  5778. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteKeyPair
  5779. func (c *EC2) DeleteKeyPair(input *DeleteKeyPairInput) (*DeleteKeyPairOutput, error) {
  5780. req, out := c.DeleteKeyPairRequest(input)
  5781. return out, req.Send()
  5782. }
  5783. // DeleteKeyPairWithContext is the same as DeleteKeyPair with the addition of
  5784. // the ability to pass a context and additional request options.
  5785. //
  5786. // See DeleteKeyPair for details on how to use this API operation.
  5787. //
  5788. // The context must be non-nil and will be used for request cancellation. If
  5789. // the context is nil a panic will occur. In the future the SDK may create
  5790. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5791. // for more information on using Contexts.
  5792. func (c *EC2) DeleteKeyPairWithContext(ctx aws.Context, input *DeleteKeyPairInput, opts ...request.Option) (*DeleteKeyPairOutput, error) {
  5793. req, out := c.DeleteKeyPairRequest(input)
  5794. req.SetContext(ctx)
  5795. req.ApplyOptions(opts...)
  5796. return out, req.Send()
  5797. }
  5798. const opDeleteLaunchTemplate = "DeleteLaunchTemplate"
  5799. // DeleteLaunchTemplateRequest generates a "aws/request.Request" representing the
  5800. // client's request for the DeleteLaunchTemplate operation. The "output" return
  5801. // value will be populated with the request's response once the request complets
  5802. // successfuly.
  5803. //
  5804. // Use "Send" method on the returned Request to send the API call to the service.
  5805. // the "output" return value is not valid until after Send returns without error.
  5806. //
  5807. // See DeleteLaunchTemplate for more information on using the DeleteLaunchTemplate
  5808. // API call, and error handling.
  5809. //
  5810. // This method is useful when you want to inject custom logic or configuration
  5811. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5812. //
  5813. //
  5814. // // Example sending a request using the DeleteLaunchTemplateRequest method.
  5815. // req, resp := client.DeleteLaunchTemplateRequest(params)
  5816. //
  5817. // err := req.Send()
  5818. // if err == nil { // resp is now filled
  5819. // fmt.Println(resp)
  5820. // }
  5821. //
  5822. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplate
  5823. func (c *EC2) DeleteLaunchTemplateRequest(input *DeleteLaunchTemplateInput) (req *request.Request, output *DeleteLaunchTemplateOutput) {
  5824. op := &request.Operation{
  5825. Name: opDeleteLaunchTemplate,
  5826. HTTPMethod: "POST",
  5827. HTTPPath: "/",
  5828. }
  5829. if input == nil {
  5830. input = &DeleteLaunchTemplateInput{}
  5831. }
  5832. output = &DeleteLaunchTemplateOutput{}
  5833. req = c.newRequest(op, input, output)
  5834. return
  5835. }
  5836. // DeleteLaunchTemplate API operation for Amazon Elastic Compute Cloud.
  5837. //
  5838. // Deletes a launch template. Deleting a launch template deletes all of its
  5839. // versions.
  5840. //
  5841. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5842. // with awserr.Error's Code and Message methods to get detailed information about
  5843. // the error.
  5844. //
  5845. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5846. // API operation DeleteLaunchTemplate for usage and error information.
  5847. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplate
  5848. func (c *EC2) DeleteLaunchTemplate(input *DeleteLaunchTemplateInput) (*DeleteLaunchTemplateOutput, error) {
  5849. req, out := c.DeleteLaunchTemplateRequest(input)
  5850. return out, req.Send()
  5851. }
  5852. // DeleteLaunchTemplateWithContext is the same as DeleteLaunchTemplate with the addition of
  5853. // the ability to pass a context and additional request options.
  5854. //
  5855. // See DeleteLaunchTemplate for details on how to use this API operation.
  5856. //
  5857. // The context must be non-nil and will be used for request cancellation. If
  5858. // the context is nil a panic will occur. In the future the SDK may create
  5859. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5860. // for more information on using Contexts.
  5861. func (c *EC2) DeleteLaunchTemplateWithContext(ctx aws.Context, input *DeleteLaunchTemplateInput, opts ...request.Option) (*DeleteLaunchTemplateOutput, error) {
  5862. req, out := c.DeleteLaunchTemplateRequest(input)
  5863. req.SetContext(ctx)
  5864. req.ApplyOptions(opts...)
  5865. return out, req.Send()
  5866. }
  5867. const opDeleteLaunchTemplateVersions = "DeleteLaunchTemplateVersions"
  5868. // DeleteLaunchTemplateVersionsRequest generates a "aws/request.Request" representing the
  5869. // client's request for the DeleteLaunchTemplateVersions operation. The "output" return
  5870. // value will be populated with the request's response once the request complets
  5871. // successfuly.
  5872. //
  5873. // Use "Send" method on the returned Request to send the API call to the service.
  5874. // the "output" return value is not valid until after Send returns without error.
  5875. //
  5876. // See DeleteLaunchTemplateVersions for more information on using the DeleteLaunchTemplateVersions
  5877. // API call, and error handling.
  5878. //
  5879. // This method is useful when you want to inject custom logic or configuration
  5880. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5881. //
  5882. //
  5883. // // Example sending a request using the DeleteLaunchTemplateVersionsRequest method.
  5884. // req, resp := client.DeleteLaunchTemplateVersionsRequest(params)
  5885. //
  5886. // err := req.Send()
  5887. // if err == nil { // resp is now filled
  5888. // fmt.Println(resp)
  5889. // }
  5890. //
  5891. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplateVersions
  5892. func (c *EC2) DeleteLaunchTemplateVersionsRequest(input *DeleteLaunchTemplateVersionsInput) (req *request.Request, output *DeleteLaunchTemplateVersionsOutput) {
  5893. op := &request.Operation{
  5894. Name: opDeleteLaunchTemplateVersions,
  5895. HTTPMethod: "POST",
  5896. HTTPPath: "/",
  5897. }
  5898. if input == nil {
  5899. input = &DeleteLaunchTemplateVersionsInput{}
  5900. }
  5901. output = &DeleteLaunchTemplateVersionsOutput{}
  5902. req = c.newRequest(op, input, output)
  5903. return
  5904. }
  5905. // DeleteLaunchTemplateVersions API operation for Amazon Elastic Compute Cloud.
  5906. //
  5907. // Deletes one or more versions of a launch template. You cannot delete the
  5908. // default version of a launch template; you must first assign a different version
  5909. // as the default. If the default version is the only version for the launch
  5910. // template, you must delete the entire launch template using DeleteLaunchTemplate.
  5911. //
  5912. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5913. // with awserr.Error's Code and Message methods to get detailed information about
  5914. // the error.
  5915. //
  5916. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5917. // API operation DeleteLaunchTemplateVersions for usage and error information.
  5918. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplateVersions
  5919. func (c *EC2) DeleteLaunchTemplateVersions(input *DeleteLaunchTemplateVersionsInput) (*DeleteLaunchTemplateVersionsOutput, error) {
  5920. req, out := c.DeleteLaunchTemplateVersionsRequest(input)
  5921. return out, req.Send()
  5922. }
  5923. // DeleteLaunchTemplateVersionsWithContext is the same as DeleteLaunchTemplateVersions with the addition of
  5924. // the ability to pass a context and additional request options.
  5925. //
  5926. // See DeleteLaunchTemplateVersions for details on how to use this API operation.
  5927. //
  5928. // The context must be non-nil and will be used for request cancellation. If
  5929. // the context is nil a panic will occur. In the future the SDK may create
  5930. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5931. // for more information on using Contexts.
  5932. func (c *EC2) DeleteLaunchTemplateVersionsWithContext(ctx aws.Context, input *DeleteLaunchTemplateVersionsInput, opts ...request.Option) (*DeleteLaunchTemplateVersionsOutput, error) {
  5933. req, out := c.DeleteLaunchTemplateVersionsRequest(input)
  5934. req.SetContext(ctx)
  5935. req.ApplyOptions(opts...)
  5936. return out, req.Send()
  5937. }
  5938. const opDeleteNatGateway = "DeleteNatGateway"
  5939. // DeleteNatGatewayRequest generates a "aws/request.Request" representing the
  5940. // client's request for the DeleteNatGateway operation. The "output" return
  5941. // value will be populated with the request's response once the request complets
  5942. // successfuly.
  5943. //
  5944. // Use "Send" method on the returned Request to send the API call to the service.
  5945. // the "output" return value is not valid until after Send returns without error.
  5946. //
  5947. // See DeleteNatGateway for more information on using the DeleteNatGateway
  5948. // API call, and error handling.
  5949. //
  5950. // This method is useful when you want to inject custom logic or configuration
  5951. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5952. //
  5953. //
  5954. // // Example sending a request using the DeleteNatGatewayRequest method.
  5955. // req, resp := client.DeleteNatGatewayRequest(params)
  5956. //
  5957. // err := req.Send()
  5958. // if err == nil { // resp is now filled
  5959. // fmt.Println(resp)
  5960. // }
  5961. //
  5962. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNatGateway
  5963. func (c *EC2) DeleteNatGatewayRequest(input *DeleteNatGatewayInput) (req *request.Request, output *DeleteNatGatewayOutput) {
  5964. op := &request.Operation{
  5965. Name: opDeleteNatGateway,
  5966. HTTPMethod: "POST",
  5967. HTTPPath: "/",
  5968. }
  5969. if input == nil {
  5970. input = &DeleteNatGatewayInput{}
  5971. }
  5972. output = &DeleteNatGatewayOutput{}
  5973. req = c.newRequest(op, input, output)
  5974. return
  5975. }
  5976. // DeleteNatGateway API operation for Amazon Elastic Compute Cloud.
  5977. //
  5978. // Deletes the specified NAT gateway. Deleting a NAT gateway disassociates its
  5979. // Elastic IP address, but does not release the address from your account. Deleting
  5980. // a NAT gateway does not delete any NAT gateway routes in your route tables.
  5981. //
  5982. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5983. // with awserr.Error's Code and Message methods to get detailed information about
  5984. // the error.
  5985. //
  5986. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5987. // API operation DeleteNatGateway for usage and error information.
  5988. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNatGateway
  5989. func (c *EC2) DeleteNatGateway(input *DeleteNatGatewayInput) (*DeleteNatGatewayOutput, error) {
  5990. req, out := c.DeleteNatGatewayRequest(input)
  5991. return out, req.Send()
  5992. }
  5993. // DeleteNatGatewayWithContext is the same as DeleteNatGateway with the addition of
  5994. // the ability to pass a context and additional request options.
  5995. //
  5996. // See DeleteNatGateway for details on how to use this API operation.
  5997. //
  5998. // The context must be non-nil and will be used for request cancellation. If
  5999. // the context is nil a panic will occur. In the future the SDK may create
  6000. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6001. // for more information on using Contexts.
  6002. func (c *EC2) DeleteNatGatewayWithContext(ctx aws.Context, input *DeleteNatGatewayInput, opts ...request.Option) (*DeleteNatGatewayOutput, error) {
  6003. req, out := c.DeleteNatGatewayRequest(input)
  6004. req.SetContext(ctx)
  6005. req.ApplyOptions(opts...)
  6006. return out, req.Send()
  6007. }
  6008. const opDeleteNetworkAcl = "DeleteNetworkAcl"
  6009. // DeleteNetworkAclRequest generates a "aws/request.Request" representing the
  6010. // client's request for the DeleteNetworkAcl operation. The "output" return
  6011. // value will be populated with the request's response once the request complets
  6012. // successfuly.
  6013. //
  6014. // Use "Send" method on the returned Request to send the API call to the service.
  6015. // the "output" return value is not valid until after Send returns without error.
  6016. //
  6017. // See DeleteNetworkAcl for more information on using the DeleteNetworkAcl
  6018. // API call, and error handling.
  6019. //
  6020. // This method is useful when you want to inject custom logic or configuration
  6021. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6022. //
  6023. //
  6024. // // Example sending a request using the DeleteNetworkAclRequest method.
  6025. // req, resp := client.DeleteNetworkAclRequest(params)
  6026. //
  6027. // err := req.Send()
  6028. // if err == nil { // resp is now filled
  6029. // fmt.Println(resp)
  6030. // }
  6031. //
  6032. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAcl
  6033. func (c *EC2) DeleteNetworkAclRequest(input *DeleteNetworkAclInput) (req *request.Request, output *DeleteNetworkAclOutput) {
  6034. op := &request.Operation{
  6035. Name: opDeleteNetworkAcl,
  6036. HTTPMethod: "POST",
  6037. HTTPPath: "/",
  6038. }
  6039. if input == nil {
  6040. input = &DeleteNetworkAclInput{}
  6041. }
  6042. output = &DeleteNetworkAclOutput{}
  6043. req = c.newRequest(op, input, output)
  6044. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  6045. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  6046. return
  6047. }
  6048. // DeleteNetworkAcl API operation for Amazon Elastic Compute Cloud.
  6049. //
  6050. // Deletes the specified network ACL. You can't delete the ACL if it's associated
  6051. // with any subnets. You can't delete the default network ACL.
  6052. //
  6053. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6054. // with awserr.Error's Code and Message methods to get detailed information about
  6055. // the error.
  6056. //
  6057. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6058. // API operation DeleteNetworkAcl for usage and error information.
  6059. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAcl
  6060. func (c *EC2) DeleteNetworkAcl(input *DeleteNetworkAclInput) (*DeleteNetworkAclOutput, error) {
  6061. req, out := c.DeleteNetworkAclRequest(input)
  6062. return out, req.Send()
  6063. }
  6064. // DeleteNetworkAclWithContext is the same as DeleteNetworkAcl with the addition of
  6065. // the ability to pass a context and additional request options.
  6066. //
  6067. // See DeleteNetworkAcl for details on how to use this API operation.
  6068. //
  6069. // The context must be non-nil and will be used for request cancellation. If
  6070. // the context is nil a panic will occur. In the future the SDK may create
  6071. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6072. // for more information on using Contexts.
  6073. func (c *EC2) DeleteNetworkAclWithContext(ctx aws.Context, input *DeleteNetworkAclInput, opts ...request.Option) (*DeleteNetworkAclOutput, error) {
  6074. req, out := c.DeleteNetworkAclRequest(input)
  6075. req.SetContext(ctx)
  6076. req.ApplyOptions(opts...)
  6077. return out, req.Send()
  6078. }
  6079. const opDeleteNetworkAclEntry = "DeleteNetworkAclEntry"
  6080. // DeleteNetworkAclEntryRequest generates a "aws/request.Request" representing the
  6081. // client's request for the DeleteNetworkAclEntry operation. The "output" return
  6082. // value will be populated with the request's response once the request complets
  6083. // successfuly.
  6084. //
  6085. // Use "Send" method on the returned Request to send the API call to the service.
  6086. // the "output" return value is not valid until after Send returns without error.
  6087. //
  6088. // See DeleteNetworkAclEntry for more information on using the DeleteNetworkAclEntry
  6089. // API call, and error handling.
  6090. //
  6091. // This method is useful when you want to inject custom logic or configuration
  6092. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6093. //
  6094. //
  6095. // // Example sending a request using the DeleteNetworkAclEntryRequest method.
  6096. // req, resp := client.DeleteNetworkAclEntryRequest(params)
  6097. //
  6098. // err := req.Send()
  6099. // if err == nil { // resp is now filled
  6100. // fmt.Println(resp)
  6101. // }
  6102. //
  6103. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclEntry
  6104. func (c *EC2) DeleteNetworkAclEntryRequest(input *DeleteNetworkAclEntryInput) (req *request.Request, output *DeleteNetworkAclEntryOutput) {
  6105. op := &request.Operation{
  6106. Name: opDeleteNetworkAclEntry,
  6107. HTTPMethod: "POST",
  6108. HTTPPath: "/",
  6109. }
  6110. if input == nil {
  6111. input = &DeleteNetworkAclEntryInput{}
  6112. }
  6113. output = &DeleteNetworkAclEntryOutput{}
  6114. req = c.newRequest(op, input, output)
  6115. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  6116. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  6117. return
  6118. }
  6119. // DeleteNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
  6120. //
  6121. // Deletes the specified ingress or egress entry (rule) from the specified network
  6122. // ACL.
  6123. //
  6124. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6125. // with awserr.Error's Code and Message methods to get detailed information about
  6126. // the error.
  6127. //
  6128. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6129. // API operation DeleteNetworkAclEntry for usage and error information.
  6130. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclEntry
  6131. func (c *EC2) DeleteNetworkAclEntry(input *DeleteNetworkAclEntryInput) (*DeleteNetworkAclEntryOutput, error) {
  6132. req, out := c.DeleteNetworkAclEntryRequest(input)
  6133. return out, req.Send()
  6134. }
  6135. // DeleteNetworkAclEntryWithContext is the same as DeleteNetworkAclEntry with the addition of
  6136. // the ability to pass a context and additional request options.
  6137. //
  6138. // See DeleteNetworkAclEntry for details on how to use this API operation.
  6139. //
  6140. // The context must be non-nil and will be used for request cancellation. If
  6141. // the context is nil a panic will occur. In the future the SDK may create
  6142. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6143. // for more information on using Contexts.
  6144. func (c *EC2) DeleteNetworkAclEntryWithContext(ctx aws.Context, input *DeleteNetworkAclEntryInput, opts ...request.Option) (*DeleteNetworkAclEntryOutput, error) {
  6145. req, out := c.DeleteNetworkAclEntryRequest(input)
  6146. req.SetContext(ctx)
  6147. req.ApplyOptions(opts...)
  6148. return out, req.Send()
  6149. }
  6150. const opDeleteNetworkInterface = "DeleteNetworkInterface"
  6151. // DeleteNetworkInterfaceRequest generates a "aws/request.Request" representing the
  6152. // client's request for the DeleteNetworkInterface operation. The "output" return
  6153. // value will be populated with the request's response once the request complets
  6154. // successfuly.
  6155. //
  6156. // Use "Send" method on the returned Request to send the API call to the service.
  6157. // the "output" return value is not valid until after Send returns without error.
  6158. //
  6159. // See DeleteNetworkInterface for more information on using the DeleteNetworkInterface
  6160. // API call, and error handling.
  6161. //
  6162. // This method is useful when you want to inject custom logic or configuration
  6163. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6164. //
  6165. //
  6166. // // Example sending a request using the DeleteNetworkInterfaceRequest method.
  6167. // req, resp := client.DeleteNetworkInterfaceRequest(params)
  6168. //
  6169. // err := req.Send()
  6170. // if err == nil { // resp is now filled
  6171. // fmt.Println(resp)
  6172. // }
  6173. //
  6174. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterface
  6175. func (c *EC2) DeleteNetworkInterfaceRequest(input *DeleteNetworkInterfaceInput) (req *request.Request, output *DeleteNetworkInterfaceOutput) {
  6176. op := &request.Operation{
  6177. Name: opDeleteNetworkInterface,
  6178. HTTPMethod: "POST",
  6179. HTTPPath: "/",
  6180. }
  6181. if input == nil {
  6182. input = &DeleteNetworkInterfaceInput{}
  6183. }
  6184. output = &DeleteNetworkInterfaceOutput{}
  6185. req = c.newRequest(op, input, output)
  6186. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  6187. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  6188. return
  6189. }
  6190. // DeleteNetworkInterface API operation for Amazon Elastic Compute Cloud.
  6191. //
  6192. // Deletes the specified network interface. You must detach the network interface
  6193. // before you can delete it.
  6194. //
  6195. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6196. // with awserr.Error's Code and Message methods to get detailed information about
  6197. // the error.
  6198. //
  6199. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6200. // API operation DeleteNetworkInterface for usage and error information.
  6201. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterface
  6202. func (c *EC2) DeleteNetworkInterface(input *DeleteNetworkInterfaceInput) (*DeleteNetworkInterfaceOutput, error) {
  6203. req, out := c.DeleteNetworkInterfaceRequest(input)
  6204. return out, req.Send()
  6205. }
  6206. // DeleteNetworkInterfaceWithContext is the same as DeleteNetworkInterface with the addition of
  6207. // the ability to pass a context and additional request options.
  6208. //
  6209. // See DeleteNetworkInterface for details on how to use this API operation.
  6210. //
  6211. // The context must be non-nil and will be used for request cancellation. If
  6212. // the context is nil a panic will occur. In the future the SDK may create
  6213. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6214. // for more information on using Contexts.
  6215. func (c *EC2) DeleteNetworkInterfaceWithContext(ctx aws.Context, input *DeleteNetworkInterfaceInput, opts ...request.Option) (*DeleteNetworkInterfaceOutput, error) {
  6216. req, out := c.DeleteNetworkInterfaceRequest(input)
  6217. req.SetContext(ctx)
  6218. req.ApplyOptions(opts...)
  6219. return out, req.Send()
  6220. }
  6221. const opDeleteNetworkInterfacePermission = "DeleteNetworkInterfacePermission"
  6222. // DeleteNetworkInterfacePermissionRequest generates a "aws/request.Request" representing the
  6223. // client's request for the DeleteNetworkInterfacePermission operation. The "output" return
  6224. // value will be populated with the request's response once the request complets
  6225. // successfuly.
  6226. //
  6227. // Use "Send" method on the returned Request to send the API call to the service.
  6228. // the "output" return value is not valid until after Send returns without error.
  6229. //
  6230. // See DeleteNetworkInterfacePermission for more information on using the DeleteNetworkInterfacePermission
  6231. // API call, and error handling.
  6232. //
  6233. // This method is useful when you want to inject custom logic or configuration
  6234. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6235. //
  6236. //
  6237. // // Example sending a request using the DeleteNetworkInterfacePermissionRequest method.
  6238. // req, resp := client.DeleteNetworkInterfacePermissionRequest(params)
  6239. //
  6240. // err := req.Send()
  6241. // if err == nil { // resp is now filled
  6242. // fmt.Println(resp)
  6243. // }
  6244. //
  6245. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfacePermission
  6246. func (c *EC2) DeleteNetworkInterfacePermissionRequest(input *DeleteNetworkInterfacePermissionInput) (req *request.Request, output *DeleteNetworkInterfacePermissionOutput) {
  6247. op := &request.Operation{
  6248. Name: opDeleteNetworkInterfacePermission,
  6249. HTTPMethod: "POST",
  6250. HTTPPath: "/",
  6251. }
  6252. if input == nil {
  6253. input = &DeleteNetworkInterfacePermissionInput{}
  6254. }
  6255. output = &DeleteNetworkInterfacePermissionOutput{}
  6256. req = c.newRequest(op, input, output)
  6257. return
  6258. }
  6259. // DeleteNetworkInterfacePermission API operation for Amazon Elastic Compute Cloud.
  6260. //
  6261. // Deletes a permission for a network interface. By default, you cannot delete
  6262. // the permission if the account for which you're removing the permission has
  6263. // attached the network interface to an instance. However, you can force delete
  6264. // the permission, regardless of any attachment.
  6265. //
  6266. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6267. // with awserr.Error's Code and Message methods to get detailed information about
  6268. // the error.
  6269. //
  6270. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6271. // API operation DeleteNetworkInterfacePermission for usage and error information.
  6272. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfacePermission
  6273. func (c *EC2) DeleteNetworkInterfacePermission(input *DeleteNetworkInterfacePermissionInput) (*DeleteNetworkInterfacePermissionOutput, error) {
  6274. req, out := c.DeleteNetworkInterfacePermissionRequest(input)
  6275. return out, req.Send()
  6276. }
  6277. // DeleteNetworkInterfacePermissionWithContext is the same as DeleteNetworkInterfacePermission with the addition of
  6278. // the ability to pass a context and additional request options.
  6279. //
  6280. // See DeleteNetworkInterfacePermission for details on how to use this API operation.
  6281. //
  6282. // The context must be non-nil and will be used for request cancellation. If
  6283. // the context is nil a panic will occur. In the future the SDK may create
  6284. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6285. // for more information on using Contexts.
  6286. func (c *EC2) DeleteNetworkInterfacePermissionWithContext(ctx aws.Context, input *DeleteNetworkInterfacePermissionInput, opts ...request.Option) (*DeleteNetworkInterfacePermissionOutput, error) {
  6287. req, out := c.DeleteNetworkInterfacePermissionRequest(input)
  6288. req.SetContext(ctx)
  6289. req.ApplyOptions(opts...)
  6290. return out, req.Send()
  6291. }
  6292. const opDeletePlacementGroup = "DeletePlacementGroup"
  6293. // DeletePlacementGroupRequest generates a "aws/request.Request" representing the
  6294. // client's request for the DeletePlacementGroup operation. The "output" return
  6295. // value will be populated with the request's response once the request complets
  6296. // successfuly.
  6297. //
  6298. // Use "Send" method on the returned Request to send the API call to the service.
  6299. // the "output" return value is not valid until after Send returns without error.
  6300. //
  6301. // See DeletePlacementGroup for more information on using the DeletePlacementGroup
  6302. // API call, and error handling.
  6303. //
  6304. // This method is useful when you want to inject custom logic or configuration
  6305. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6306. //
  6307. //
  6308. // // Example sending a request using the DeletePlacementGroupRequest method.
  6309. // req, resp := client.DeletePlacementGroupRequest(params)
  6310. //
  6311. // err := req.Send()
  6312. // if err == nil { // resp is now filled
  6313. // fmt.Println(resp)
  6314. // }
  6315. //
  6316. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeletePlacementGroup
  6317. func (c *EC2) DeletePlacementGroupRequest(input *DeletePlacementGroupInput) (req *request.Request, output *DeletePlacementGroupOutput) {
  6318. op := &request.Operation{
  6319. Name: opDeletePlacementGroup,
  6320. HTTPMethod: "POST",
  6321. HTTPPath: "/",
  6322. }
  6323. if input == nil {
  6324. input = &DeletePlacementGroupInput{}
  6325. }
  6326. output = &DeletePlacementGroupOutput{}
  6327. req = c.newRequest(op, input, output)
  6328. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  6329. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  6330. return
  6331. }
  6332. // DeletePlacementGroup API operation for Amazon Elastic Compute Cloud.
  6333. //
  6334. // Deletes the specified placement group. You must terminate all instances in
  6335. // the placement group before you can delete the placement group. For more information,
  6336. // see Placement Groups (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html)
  6337. // in the Amazon Elastic Compute Cloud User Guide.
  6338. //
  6339. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6340. // with awserr.Error's Code and Message methods to get detailed information about
  6341. // the error.
  6342. //
  6343. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6344. // API operation DeletePlacementGroup for usage and error information.
  6345. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeletePlacementGroup
  6346. func (c *EC2) DeletePlacementGroup(input *DeletePlacementGroupInput) (*DeletePlacementGroupOutput, error) {
  6347. req, out := c.DeletePlacementGroupRequest(input)
  6348. return out, req.Send()
  6349. }
  6350. // DeletePlacementGroupWithContext is the same as DeletePlacementGroup with the addition of
  6351. // the ability to pass a context and additional request options.
  6352. //
  6353. // See DeletePlacementGroup for details on how to use this API operation.
  6354. //
  6355. // The context must be non-nil and will be used for request cancellation. If
  6356. // the context is nil a panic will occur. In the future the SDK may create
  6357. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6358. // for more information on using Contexts.
  6359. func (c *EC2) DeletePlacementGroupWithContext(ctx aws.Context, input *DeletePlacementGroupInput, opts ...request.Option) (*DeletePlacementGroupOutput, error) {
  6360. req, out := c.DeletePlacementGroupRequest(input)
  6361. req.SetContext(ctx)
  6362. req.ApplyOptions(opts...)
  6363. return out, req.Send()
  6364. }
  6365. const opDeleteRoute = "DeleteRoute"
  6366. // DeleteRouteRequest generates a "aws/request.Request" representing the
  6367. // client's request for the DeleteRoute operation. The "output" return
  6368. // value will be populated with the request's response once the request complets
  6369. // successfuly.
  6370. //
  6371. // Use "Send" method on the returned Request to send the API call to the service.
  6372. // the "output" return value is not valid until after Send returns without error.
  6373. //
  6374. // See DeleteRoute for more information on using the DeleteRoute
  6375. // API call, and error handling.
  6376. //
  6377. // This method is useful when you want to inject custom logic or configuration
  6378. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6379. //
  6380. //
  6381. // // Example sending a request using the DeleteRouteRequest method.
  6382. // req, resp := client.DeleteRouteRequest(params)
  6383. //
  6384. // err := req.Send()
  6385. // if err == nil { // resp is now filled
  6386. // fmt.Println(resp)
  6387. // }
  6388. //
  6389. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRoute
  6390. func (c *EC2) DeleteRouteRequest(input *DeleteRouteInput) (req *request.Request, output *DeleteRouteOutput) {
  6391. op := &request.Operation{
  6392. Name: opDeleteRoute,
  6393. HTTPMethod: "POST",
  6394. HTTPPath: "/",
  6395. }
  6396. if input == nil {
  6397. input = &DeleteRouteInput{}
  6398. }
  6399. output = &DeleteRouteOutput{}
  6400. req = c.newRequest(op, input, output)
  6401. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  6402. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  6403. return
  6404. }
  6405. // DeleteRoute API operation for Amazon Elastic Compute Cloud.
  6406. //
  6407. // Deletes the specified route from the specified route table.
  6408. //
  6409. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6410. // with awserr.Error's Code and Message methods to get detailed information about
  6411. // the error.
  6412. //
  6413. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6414. // API operation DeleteRoute for usage and error information.
  6415. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRoute
  6416. func (c *EC2) DeleteRoute(input *DeleteRouteInput) (*DeleteRouteOutput, error) {
  6417. req, out := c.DeleteRouteRequest(input)
  6418. return out, req.Send()
  6419. }
  6420. // DeleteRouteWithContext is the same as DeleteRoute with the addition of
  6421. // the ability to pass a context and additional request options.
  6422. //
  6423. // See DeleteRoute for details on how to use this API operation.
  6424. //
  6425. // The context must be non-nil and will be used for request cancellation. If
  6426. // the context is nil a panic will occur. In the future the SDK may create
  6427. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6428. // for more information on using Contexts.
  6429. func (c *EC2) DeleteRouteWithContext(ctx aws.Context, input *DeleteRouteInput, opts ...request.Option) (*DeleteRouteOutput, error) {
  6430. req, out := c.DeleteRouteRequest(input)
  6431. req.SetContext(ctx)
  6432. req.ApplyOptions(opts...)
  6433. return out, req.Send()
  6434. }
  6435. const opDeleteRouteTable = "DeleteRouteTable"
  6436. // DeleteRouteTableRequest generates a "aws/request.Request" representing the
  6437. // client's request for the DeleteRouteTable operation. The "output" return
  6438. // value will be populated with the request's response once the request complets
  6439. // successfuly.
  6440. //
  6441. // Use "Send" method on the returned Request to send the API call to the service.
  6442. // the "output" return value is not valid until after Send returns without error.
  6443. //
  6444. // See DeleteRouteTable for more information on using the DeleteRouteTable
  6445. // API call, and error handling.
  6446. //
  6447. // This method is useful when you want to inject custom logic or configuration
  6448. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6449. //
  6450. //
  6451. // // Example sending a request using the DeleteRouteTableRequest method.
  6452. // req, resp := client.DeleteRouteTableRequest(params)
  6453. //
  6454. // err := req.Send()
  6455. // if err == nil { // resp is now filled
  6456. // fmt.Println(resp)
  6457. // }
  6458. //
  6459. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteTable
  6460. func (c *EC2) DeleteRouteTableRequest(input *DeleteRouteTableInput) (req *request.Request, output *DeleteRouteTableOutput) {
  6461. op := &request.Operation{
  6462. Name: opDeleteRouteTable,
  6463. HTTPMethod: "POST",
  6464. HTTPPath: "/",
  6465. }
  6466. if input == nil {
  6467. input = &DeleteRouteTableInput{}
  6468. }
  6469. output = &DeleteRouteTableOutput{}
  6470. req = c.newRequest(op, input, output)
  6471. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  6472. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  6473. return
  6474. }
  6475. // DeleteRouteTable API operation for Amazon Elastic Compute Cloud.
  6476. //
  6477. // Deletes the specified route table. You must disassociate the route table
  6478. // from any subnets before you can delete it. You can't delete the main route
  6479. // table.
  6480. //
  6481. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6482. // with awserr.Error's Code and Message methods to get detailed information about
  6483. // the error.
  6484. //
  6485. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6486. // API operation DeleteRouteTable for usage and error information.
  6487. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteTable
  6488. func (c *EC2) DeleteRouteTable(input *DeleteRouteTableInput) (*DeleteRouteTableOutput, error) {
  6489. req, out := c.DeleteRouteTableRequest(input)
  6490. return out, req.Send()
  6491. }
  6492. // DeleteRouteTableWithContext is the same as DeleteRouteTable with the addition of
  6493. // the ability to pass a context and additional request options.
  6494. //
  6495. // See DeleteRouteTable for details on how to use this API operation.
  6496. //
  6497. // The context must be non-nil and will be used for request cancellation. If
  6498. // the context is nil a panic will occur. In the future the SDK may create
  6499. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6500. // for more information on using Contexts.
  6501. func (c *EC2) DeleteRouteTableWithContext(ctx aws.Context, input *DeleteRouteTableInput, opts ...request.Option) (*DeleteRouteTableOutput, error) {
  6502. req, out := c.DeleteRouteTableRequest(input)
  6503. req.SetContext(ctx)
  6504. req.ApplyOptions(opts...)
  6505. return out, req.Send()
  6506. }
  6507. const opDeleteSecurityGroup = "DeleteSecurityGroup"
  6508. // DeleteSecurityGroupRequest generates a "aws/request.Request" representing the
  6509. // client's request for the DeleteSecurityGroup operation. The "output" return
  6510. // value will be populated with the request's response once the request complets
  6511. // successfuly.
  6512. //
  6513. // Use "Send" method on the returned Request to send the API call to the service.
  6514. // the "output" return value is not valid until after Send returns without error.
  6515. //
  6516. // See DeleteSecurityGroup for more information on using the DeleteSecurityGroup
  6517. // API call, and error handling.
  6518. //
  6519. // This method is useful when you want to inject custom logic or configuration
  6520. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6521. //
  6522. //
  6523. // // Example sending a request using the DeleteSecurityGroupRequest method.
  6524. // req, resp := client.DeleteSecurityGroupRequest(params)
  6525. //
  6526. // err := req.Send()
  6527. // if err == nil { // resp is now filled
  6528. // fmt.Println(resp)
  6529. // }
  6530. //
  6531. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSecurityGroup
  6532. func (c *EC2) DeleteSecurityGroupRequest(input *DeleteSecurityGroupInput) (req *request.Request, output *DeleteSecurityGroupOutput) {
  6533. op := &request.Operation{
  6534. Name: opDeleteSecurityGroup,
  6535. HTTPMethod: "POST",
  6536. HTTPPath: "/",
  6537. }
  6538. if input == nil {
  6539. input = &DeleteSecurityGroupInput{}
  6540. }
  6541. output = &DeleteSecurityGroupOutput{}
  6542. req = c.newRequest(op, input, output)
  6543. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  6544. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  6545. return
  6546. }
  6547. // DeleteSecurityGroup API operation for Amazon Elastic Compute Cloud.
  6548. //
  6549. // Deletes a security group.
  6550. //
  6551. // If you attempt to delete a security group that is associated with an instance,
  6552. // or is referenced by another security group, the operation fails with InvalidGroup.InUse
  6553. // in EC2-Classic or DependencyViolation in EC2-VPC.
  6554. //
  6555. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6556. // with awserr.Error's Code and Message methods to get detailed information about
  6557. // the error.
  6558. //
  6559. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6560. // API operation DeleteSecurityGroup for usage and error information.
  6561. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSecurityGroup
  6562. func (c *EC2) DeleteSecurityGroup(input *DeleteSecurityGroupInput) (*DeleteSecurityGroupOutput, error) {
  6563. req, out := c.DeleteSecurityGroupRequest(input)
  6564. return out, req.Send()
  6565. }
  6566. // DeleteSecurityGroupWithContext is the same as DeleteSecurityGroup with the addition of
  6567. // the ability to pass a context and additional request options.
  6568. //
  6569. // See DeleteSecurityGroup for details on how to use this API operation.
  6570. //
  6571. // The context must be non-nil and will be used for request cancellation. If
  6572. // the context is nil a panic will occur. In the future the SDK may create
  6573. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6574. // for more information on using Contexts.
  6575. func (c *EC2) DeleteSecurityGroupWithContext(ctx aws.Context, input *DeleteSecurityGroupInput, opts ...request.Option) (*DeleteSecurityGroupOutput, error) {
  6576. req, out := c.DeleteSecurityGroupRequest(input)
  6577. req.SetContext(ctx)
  6578. req.ApplyOptions(opts...)
  6579. return out, req.Send()
  6580. }
  6581. const opDeleteSnapshot = "DeleteSnapshot"
  6582. // DeleteSnapshotRequest generates a "aws/request.Request" representing the
  6583. // client's request for the DeleteSnapshot operation. The "output" return
  6584. // value will be populated with the request's response once the request complets
  6585. // successfuly.
  6586. //
  6587. // Use "Send" method on the returned Request to send the API call to the service.
  6588. // the "output" return value is not valid until after Send returns without error.
  6589. //
  6590. // See DeleteSnapshot for more information on using the DeleteSnapshot
  6591. // API call, and error handling.
  6592. //
  6593. // This method is useful when you want to inject custom logic or configuration
  6594. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6595. //
  6596. //
  6597. // // Example sending a request using the DeleteSnapshotRequest method.
  6598. // req, resp := client.DeleteSnapshotRequest(params)
  6599. //
  6600. // err := req.Send()
  6601. // if err == nil { // resp is now filled
  6602. // fmt.Println(resp)
  6603. // }
  6604. //
  6605. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSnapshot
  6606. func (c *EC2) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *request.Request, output *DeleteSnapshotOutput) {
  6607. op := &request.Operation{
  6608. Name: opDeleteSnapshot,
  6609. HTTPMethod: "POST",
  6610. HTTPPath: "/",
  6611. }
  6612. if input == nil {
  6613. input = &DeleteSnapshotInput{}
  6614. }
  6615. output = &DeleteSnapshotOutput{}
  6616. req = c.newRequest(op, input, output)
  6617. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  6618. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  6619. return
  6620. }
  6621. // DeleteSnapshot API operation for Amazon Elastic Compute Cloud.
  6622. //
  6623. // Deletes the specified snapshot.
  6624. //
  6625. // When you make periodic snapshots of a volume, the snapshots are incremental,
  6626. // and only the blocks on the device that have changed since your last snapshot
  6627. // are saved in the new snapshot. When you delete a snapshot, only the data
  6628. // not needed for any other snapshot is removed. So regardless of which prior
  6629. // snapshots have been deleted, all active snapshots will have access to all
  6630. // the information needed to restore the volume.
  6631. //
  6632. // You cannot delete a snapshot of the root device of an EBS volume used by
  6633. // a registered AMI. You must first de-register the AMI before you can delete
  6634. // the snapshot.
  6635. //
  6636. // For more information, see Deleting an Amazon EBS Snapshot (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-snapshot.html)
  6637. // in the Amazon Elastic Compute Cloud User Guide.
  6638. //
  6639. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6640. // with awserr.Error's Code and Message methods to get detailed information about
  6641. // the error.
  6642. //
  6643. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6644. // API operation DeleteSnapshot for usage and error information.
  6645. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSnapshot
  6646. func (c *EC2) DeleteSnapshot(input *DeleteSnapshotInput) (*DeleteSnapshotOutput, error) {
  6647. req, out := c.DeleteSnapshotRequest(input)
  6648. return out, req.Send()
  6649. }
  6650. // DeleteSnapshotWithContext is the same as DeleteSnapshot with the addition of
  6651. // the ability to pass a context and additional request options.
  6652. //
  6653. // See DeleteSnapshot for details on how to use this API operation.
  6654. //
  6655. // The context must be non-nil and will be used for request cancellation. If
  6656. // the context is nil a panic will occur. In the future the SDK may create
  6657. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6658. // for more information on using Contexts.
  6659. func (c *EC2) DeleteSnapshotWithContext(ctx aws.Context, input *DeleteSnapshotInput, opts ...request.Option) (*DeleteSnapshotOutput, error) {
  6660. req, out := c.DeleteSnapshotRequest(input)
  6661. req.SetContext(ctx)
  6662. req.ApplyOptions(opts...)
  6663. return out, req.Send()
  6664. }
  6665. const opDeleteSpotDatafeedSubscription = "DeleteSpotDatafeedSubscription"
  6666. // DeleteSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
  6667. // client's request for the DeleteSpotDatafeedSubscription operation. The "output" return
  6668. // value will be populated with the request's response once the request complets
  6669. // successfuly.
  6670. //
  6671. // Use "Send" method on the returned Request to send the API call to the service.
  6672. // the "output" return value is not valid until after Send returns without error.
  6673. //
  6674. // See DeleteSpotDatafeedSubscription for more information on using the DeleteSpotDatafeedSubscription
  6675. // API call, and error handling.
  6676. //
  6677. // This method is useful when you want to inject custom logic or configuration
  6678. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6679. //
  6680. //
  6681. // // Example sending a request using the DeleteSpotDatafeedSubscriptionRequest method.
  6682. // req, resp := client.DeleteSpotDatafeedSubscriptionRequest(params)
  6683. //
  6684. // err := req.Send()
  6685. // if err == nil { // resp is now filled
  6686. // fmt.Println(resp)
  6687. // }
  6688. //
  6689. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSpotDatafeedSubscription
  6690. func (c *EC2) DeleteSpotDatafeedSubscriptionRequest(input *DeleteSpotDatafeedSubscriptionInput) (req *request.Request, output *DeleteSpotDatafeedSubscriptionOutput) {
  6691. op := &request.Operation{
  6692. Name: opDeleteSpotDatafeedSubscription,
  6693. HTTPMethod: "POST",
  6694. HTTPPath: "/",
  6695. }
  6696. if input == nil {
  6697. input = &DeleteSpotDatafeedSubscriptionInput{}
  6698. }
  6699. output = &DeleteSpotDatafeedSubscriptionOutput{}
  6700. req = c.newRequest(op, input, output)
  6701. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  6702. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  6703. return
  6704. }
  6705. // DeleteSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
  6706. //
  6707. // Deletes the data feed for Spot Instances.
  6708. //
  6709. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6710. // with awserr.Error's Code and Message methods to get detailed information about
  6711. // the error.
  6712. //
  6713. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6714. // API operation DeleteSpotDatafeedSubscription for usage and error information.
  6715. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSpotDatafeedSubscription
  6716. func (c *EC2) DeleteSpotDatafeedSubscription(input *DeleteSpotDatafeedSubscriptionInput) (*DeleteSpotDatafeedSubscriptionOutput, error) {
  6717. req, out := c.DeleteSpotDatafeedSubscriptionRequest(input)
  6718. return out, req.Send()
  6719. }
  6720. // DeleteSpotDatafeedSubscriptionWithContext is the same as DeleteSpotDatafeedSubscription with the addition of
  6721. // the ability to pass a context and additional request options.
  6722. //
  6723. // See DeleteSpotDatafeedSubscription for details on how to use this API operation.
  6724. //
  6725. // The context must be non-nil and will be used for request cancellation. If
  6726. // the context is nil a panic will occur. In the future the SDK may create
  6727. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6728. // for more information on using Contexts.
  6729. func (c *EC2) DeleteSpotDatafeedSubscriptionWithContext(ctx aws.Context, input *DeleteSpotDatafeedSubscriptionInput, opts ...request.Option) (*DeleteSpotDatafeedSubscriptionOutput, error) {
  6730. req, out := c.DeleteSpotDatafeedSubscriptionRequest(input)
  6731. req.SetContext(ctx)
  6732. req.ApplyOptions(opts...)
  6733. return out, req.Send()
  6734. }
  6735. const opDeleteSubnet = "DeleteSubnet"
  6736. // DeleteSubnetRequest generates a "aws/request.Request" representing the
  6737. // client's request for the DeleteSubnet operation. The "output" return
  6738. // value will be populated with the request's response once the request complets
  6739. // successfuly.
  6740. //
  6741. // Use "Send" method on the returned Request to send the API call to the service.
  6742. // the "output" return value is not valid until after Send returns without error.
  6743. //
  6744. // See DeleteSubnet for more information on using the DeleteSubnet
  6745. // API call, and error handling.
  6746. //
  6747. // This method is useful when you want to inject custom logic or configuration
  6748. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6749. //
  6750. //
  6751. // // Example sending a request using the DeleteSubnetRequest method.
  6752. // req, resp := client.DeleteSubnetRequest(params)
  6753. //
  6754. // err := req.Send()
  6755. // if err == nil { // resp is now filled
  6756. // fmt.Println(resp)
  6757. // }
  6758. //
  6759. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSubnet
  6760. func (c *EC2) DeleteSubnetRequest(input *DeleteSubnetInput) (req *request.Request, output *DeleteSubnetOutput) {
  6761. op := &request.Operation{
  6762. Name: opDeleteSubnet,
  6763. HTTPMethod: "POST",
  6764. HTTPPath: "/",
  6765. }
  6766. if input == nil {
  6767. input = &DeleteSubnetInput{}
  6768. }
  6769. output = &DeleteSubnetOutput{}
  6770. req = c.newRequest(op, input, output)
  6771. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  6772. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  6773. return
  6774. }
  6775. // DeleteSubnet API operation for Amazon Elastic Compute Cloud.
  6776. //
  6777. // Deletes the specified subnet. You must terminate all running instances in
  6778. // the subnet before you can delete the subnet.
  6779. //
  6780. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6781. // with awserr.Error's Code and Message methods to get detailed information about
  6782. // the error.
  6783. //
  6784. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6785. // API operation DeleteSubnet for usage and error information.
  6786. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSubnet
  6787. func (c *EC2) DeleteSubnet(input *DeleteSubnetInput) (*DeleteSubnetOutput, error) {
  6788. req, out := c.DeleteSubnetRequest(input)
  6789. return out, req.Send()
  6790. }
  6791. // DeleteSubnetWithContext is the same as DeleteSubnet with the addition of
  6792. // the ability to pass a context and additional request options.
  6793. //
  6794. // See DeleteSubnet for details on how to use this API operation.
  6795. //
  6796. // The context must be non-nil and will be used for request cancellation. If
  6797. // the context is nil a panic will occur. In the future the SDK may create
  6798. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6799. // for more information on using Contexts.
  6800. func (c *EC2) DeleteSubnetWithContext(ctx aws.Context, input *DeleteSubnetInput, opts ...request.Option) (*DeleteSubnetOutput, error) {
  6801. req, out := c.DeleteSubnetRequest(input)
  6802. req.SetContext(ctx)
  6803. req.ApplyOptions(opts...)
  6804. return out, req.Send()
  6805. }
  6806. const opDeleteTags = "DeleteTags"
  6807. // DeleteTagsRequest generates a "aws/request.Request" representing the
  6808. // client's request for the DeleteTags operation. The "output" return
  6809. // value will be populated with the request's response once the request complets
  6810. // successfuly.
  6811. //
  6812. // Use "Send" method on the returned Request to send the API call to the service.
  6813. // the "output" return value is not valid until after Send returns without error.
  6814. //
  6815. // See DeleteTags for more information on using the DeleteTags
  6816. // API call, and error handling.
  6817. //
  6818. // This method is useful when you want to inject custom logic or configuration
  6819. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6820. //
  6821. //
  6822. // // Example sending a request using the DeleteTagsRequest method.
  6823. // req, resp := client.DeleteTagsRequest(params)
  6824. //
  6825. // err := req.Send()
  6826. // if err == nil { // resp is now filled
  6827. // fmt.Println(resp)
  6828. // }
  6829. //
  6830. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTags
  6831. func (c *EC2) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, output *DeleteTagsOutput) {
  6832. op := &request.Operation{
  6833. Name: opDeleteTags,
  6834. HTTPMethod: "POST",
  6835. HTTPPath: "/",
  6836. }
  6837. if input == nil {
  6838. input = &DeleteTagsInput{}
  6839. }
  6840. output = &DeleteTagsOutput{}
  6841. req = c.newRequest(op, input, output)
  6842. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  6843. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  6844. return
  6845. }
  6846. // DeleteTags API operation for Amazon Elastic Compute Cloud.
  6847. //
  6848. // Deletes the specified set of tags from the specified set of resources.
  6849. //
  6850. // To list the current tags, use DescribeTags. For more information about tags,
  6851. // see Tagging Your Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
  6852. // in the Amazon Elastic Compute Cloud User Guide.
  6853. //
  6854. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6855. // with awserr.Error's Code and Message methods to get detailed information about
  6856. // the error.
  6857. //
  6858. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6859. // API operation DeleteTags for usage and error information.
  6860. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTags
  6861. func (c *EC2) DeleteTags(input *DeleteTagsInput) (*DeleteTagsOutput, error) {
  6862. req, out := c.DeleteTagsRequest(input)
  6863. return out, req.Send()
  6864. }
  6865. // DeleteTagsWithContext is the same as DeleteTags with the addition of
  6866. // the ability to pass a context and additional request options.
  6867. //
  6868. // See DeleteTags for details on how to use this API operation.
  6869. //
  6870. // The context must be non-nil and will be used for request cancellation. If
  6871. // the context is nil a panic will occur. In the future the SDK may create
  6872. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6873. // for more information on using Contexts.
  6874. func (c *EC2) DeleteTagsWithContext(ctx aws.Context, input *DeleteTagsInput, opts ...request.Option) (*DeleteTagsOutput, error) {
  6875. req, out := c.DeleteTagsRequest(input)
  6876. req.SetContext(ctx)
  6877. req.ApplyOptions(opts...)
  6878. return out, req.Send()
  6879. }
  6880. const opDeleteVolume = "DeleteVolume"
  6881. // DeleteVolumeRequest generates a "aws/request.Request" representing the
  6882. // client's request for the DeleteVolume operation. The "output" return
  6883. // value will be populated with the request's response once the request complets
  6884. // successfuly.
  6885. //
  6886. // Use "Send" method on the returned Request to send the API call to the service.
  6887. // the "output" return value is not valid until after Send returns without error.
  6888. //
  6889. // See DeleteVolume for more information on using the DeleteVolume
  6890. // API call, and error handling.
  6891. //
  6892. // This method is useful when you want to inject custom logic or configuration
  6893. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6894. //
  6895. //
  6896. // // Example sending a request using the DeleteVolumeRequest method.
  6897. // req, resp := client.DeleteVolumeRequest(params)
  6898. //
  6899. // err := req.Send()
  6900. // if err == nil { // resp is now filled
  6901. // fmt.Println(resp)
  6902. // }
  6903. //
  6904. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVolume
  6905. func (c *EC2) DeleteVolumeRequest(input *DeleteVolumeInput) (req *request.Request, output *DeleteVolumeOutput) {
  6906. op := &request.Operation{
  6907. Name: opDeleteVolume,
  6908. HTTPMethod: "POST",
  6909. HTTPPath: "/",
  6910. }
  6911. if input == nil {
  6912. input = &DeleteVolumeInput{}
  6913. }
  6914. output = &DeleteVolumeOutput{}
  6915. req = c.newRequest(op, input, output)
  6916. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  6917. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  6918. return
  6919. }
  6920. // DeleteVolume API operation for Amazon Elastic Compute Cloud.
  6921. //
  6922. // Deletes the specified EBS volume. The volume must be in the available state
  6923. // (not attached to an instance).
  6924. //
  6925. // The volume may remain in the deleting state for several minutes.
  6926. //
  6927. // For more information, see Deleting an Amazon EBS Volume (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-volume.html)
  6928. // in the Amazon Elastic Compute Cloud User Guide.
  6929. //
  6930. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6931. // with awserr.Error's Code and Message methods to get detailed information about
  6932. // the error.
  6933. //
  6934. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6935. // API operation DeleteVolume for usage and error information.
  6936. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVolume
  6937. func (c *EC2) DeleteVolume(input *DeleteVolumeInput) (*DeleteVolumeOutput, error) {
  6938. req, out := c.DeleteVolumeRequest(input)
  6939. return out, req.Send()
  6940. }
  6941. // DeleteVolumeWithContext is the same as DeleteVolume with the addition of
  6942. // the ability to pass a context and additional request options.
  6943. //
  6944. // See DeleteVolume for details on how to use this API operation.
  6945. //
  6946. // The context must be non-nil and will be used for request cancellation. If
  6947. // the context is nil a panic will occur. In the future the SDK may create
  6948. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6949. // for more information on using Contexts.
  6950. func (c *EC2) DeleteVolumeWithContext(ctx aws.Context, input *DeleteVolumeInput, opts ...request.Option) (*DeleteVolumeOutput, error) {
  6951. req, out := c.DeleteVolumeRequest(input)
  6952. req.SetContext(ctx)
  6953. req.ApplyOptions(opts...)
  6954. return out, req.Send()
  6955. }
  6956. const opDeleteVpc = "DeleteVpc"
  6957. // DeleteVpcRequest generates a "aws/request.Request" representing the
  6958. // client's request for the DeleteVpc operation. The "output" return
  6959. // value will be populated with the request's response once the request complets
  6960. // successfuly.
  6961. //
  6962. // Use "Send" method on the returned Request to send the API call to the service.
  6963. // the "output" return value is not valid until after Send returns without error.
  6964. //
  6965. // See DeleteVpc for more information on using the DeleteVpc
  6966. // API call, and error handling.
  6967. //
  6968. // This method is useful when you want to inject custom logic or configuration
  6969. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6970. //
  6971. //
  6972. // // Example sending a request using the DeleteVpcRequest method.
  6973. // req, resp := client.DeleteVpcRequest(params)
  6974. //
  6975. // err := req.Send()
  6976. // if err == nil { // resp is now filled
  6977. // fmt.Println(resp)
  6978. // }
  6979. //
  6980. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpc
  6981. func (c *EC2) DeleteVpcRequest(input *DeleteVpcInput) (req *request.Request, output *DeleteVpcOutput) {
  6982. op := &request.Operation{
  6983. Name: opDeleteVpc,
  6984. HTTPMethod: "POST",
  6985. HTTPPath: "/",
  6986. }
  6987. if input == nil {
  6988. input = &DeleteVpcInput{}
  6989. }
  6990. output = &DeleteVpcOutput{}
  6991. req = c.newRequest(op, input, output)
  6992. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  6993. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  6994. return
  6995. }
  6996. // DeleteVpc API operation for Amazon Elastic Compute Cloud.
  6997. //
  6998. // Deletes the specified VPC. You must detach or delete all gateways and resources
  6999. // that are associated with the VPC before you can delete it. For example, you
  7000. // must terminate all instances running in the VPC, delete all security groups
  7001. // associated with the VPC (except the default one), delete all route tables
  7002. // associated with the VPC (except the default one), and so on.
  7003. //
  7004. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7005. // with awserr.Error's Code and Message methods to get detailed information about
  7006. // the error.
  7007. //
  7008. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7009. // API operation DeleteVpc for usage and error information.
  7010. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpc
  7011. func (c *EC2) DeleteVpc(input *DeleteVpcInput) (*DeleteVpcOutput, error) {
  7012. req, out := c.DeleteVpcRequest(input)
  7013. return out, req.Send()
  7014. }
  7015. // DeleteVpcWithContext is the same as DeleteVpc with the addition of
  7016. // the ability to pass a context and additional request options.
  7017. //
  7018. // See DeleteVpc for details on how to use this API operation.
  7019. //
  7020. // The context must be non-nil and will be used for request cancellation. If
  7021. // the context is nil a panic will occur. In the future the SDK may create
  7022. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7023. // for more information on using Contexts.
  7024. func (c *EC2) DeleteVpcWithContext(ctx aws.Context, input *DeleteVpcInput, opts ...request.Option) (*DeleteVpcOutput, error) {
  7025. req, out := c.DeleteVpcRequest(input)
  7026. req.SetContext(ctx)
  7027. req.ApplyOptions(opts...)
  7028. return out, req.Send()
  7029. }
  7030. const opDeleteVpcEndpointConnectionNotifications = "DeleteVpcEndpointConnectionNotifications"
  7031. // DeleteVpcEndpointConnectionNotificationsRequest generates a "aws/request.Request" representing the
  7032. // client's request for the DeleteVpcEndpointConnectionNotifications operation. The "output" return
  7033. // value will be populated with the request's response once the request complets
  7034. // successfuly.
  7035. //
  7036. // Use "Send" method on the returned Request to send the API call to the service.
  7037. // the "output" return value is not valid until after Send returns without error.
  7038. //
  7039. // See DeleteVpcEndpointConnectionNotifications for more information on using the DeleteVpcEndpointConnectionNotifications
  7040. // API call, and error handling.
  7041. //
  7042. // This method is useful when you want to inject custom logic or configuration
  7043. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7044. //
  7045. //
  7046. // // Example sending a request using the DeleteVpcEndpointConnectionNotificationsRequest method.
  7047. // req, resp := client.DeleteVpcEndpointConnectionNotificationsRequest(params)
  7048. //
  7049. // err := req.Send()
  7050. // if err == nil { // resp is now filled
  7051. // fmt.Println(resp)
  7052. // }
  7053. //
  7054. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointConnectionNotifications
  7055. func (c *EC2) DeleteVpcEndpointConnectionNotificationsRequest(input *DeleteVpcEndpointConnectionNotificationsInput) (req *request.Request, output *DeleteVpcEndpointConnectionNotificationsOutput) {
  7056. op := &request.Operation{
  7057. Name: opDeleteVpcEndpointConnectionNotifications,
  7058. HTTPMethod: "POST",
  7059. HTTPPath: "/",
  7060. }
  7061. if input == nil {
  7062. input = &DeleteVpcEndpointConnectionNotificationsInput{}
  7063. }
  7064. output = &DeleteVpcEndpointConnectionNotificationsOutput{}
  7065. req = c.newRequest(op, input, output)
  7066. return
  7067. }
  7068. // DeleteVpcEndpointConnectionNotifications API operation for Amazon Elastic Compute Cloud.
  7069. //
  7070. // Deletes one or more VPC endpoint connection notifications.
  7071. //
  7072. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7073. // with awserr.Error's Code and Message methods to get detailed information about
  7074. // the error.
  7075. //
  7076. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7077. // API operation DeleteVpcEndpointConnectionNotifications for usage and error information.
  7078. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointConnectionNotifications
  7079. func (c *EC2) DeleteVpcEndpointConnectionNotifications(input *DeleteVpcEndpointConnectionNotificationsInput) (*DeleteVpcEndpointConnectionNotificationsOutput, error) {
  7080. req, out := c.DeleteVpcEndpointConnectionNotificationsRequest(input)
  7081. return out, req.Send()
  7082. }
  7083. // DeleteVpcEndpointConnectionNotificationsWithContext is the same as DeleteVpcEndpointConnectionNotifications with the addition of
  7084. // the ability to pass a context and additional request options.
  7085. //
  7086. // See DeleteVpcEndpointConnectionNotifications for details on how to use this API operation.
  7087. //
  7088. // The context must be non-nil and will be used for request cancellation. If
  7089. // the context is nil a panic will occur. In the future the SDK may create
  7090. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7091. // for more information on using Contexts.
  7092. func (c *EC2) DeleteVpcEndpointConnectionNotificationsWithContext(ctx aws.Context, input *DeleteVpcEndpointConnectionNotificationsInput, opts ...request.Option) (*DeleteVpcEndpointConnectionNotificationsOutput, error) {
  7093. req, out := c.DeleteVpcEndpointConnectionNotificationsRequest(input)
  7094. req.SetContext(ctx)
  7095. req.ApplyOptions(opts...)
  7096. return out, req.Send()
  7097. }
  7098. const opDeleteVpcEndpointServiceConfigurations = "DeleteVpcEndpointServiceConfigurations"
  7099. // DeleteVpcEndpointServiceConfigurationsRequest generates a "aws/request.Request" representing the
  7100. // client's request for the DeleteVpcEndpointServiceConfigurations operation. The "output" return
  7101. // value will be populated with the request's response once the request complets
  7102. // successfuly.
  7103. //
  7104. // Use "Send" method on the returned Request to send the API call to the service.
  7105. // the "output" return value is not valid until after Send returns without error.
  7106. //
  7107. // See DeleteVpcEndpointServiceConfigurations for more information on using the DeleteVpcEndpointServiceConfigurations
  7108. // API call, and error handling.
  7109. //
  7110. // This method is useful when you want to inject custom logic or configuration
  7111. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7112. //
  7113. //
  7114. // // Example sending a request using the DeleteVpcEndpointServiceConfigurationsRequest method.
  7115. // req, resp := client.DeleteVpcEndpointServiceConfigurationsRequest(params)
  7116. //
  7117. // err := req.Send()
  7118. // if err == nil { // resp is now filled
  7119. // fmt.Println(resp)
  7120. // }
  7121. //
  7122. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointServiceConfigurations
  7123. func (c *EC2) DeleteVpcEndpointServiceConfigurationsRequest(input *DeleteVpcEndpointServiceConfigurationsInput) (req *request.Request, output *DeleteVpcEndpointServiceConfigurationsOutput) {
  7124. op := &request.Operation{
  7125. Name: opDeleteVpcEndpointServiceConfigurations,
  7126. HTTPMethod: "POST",
  7127. HTTPPath: "/",
  7128. }
  7129. if input == nil {
  7130. input = &DeleteVpcEndpointServiceConfigurationsInput{}
  7131. }
  7132. output = &DeleteVpcEndpointServiceConfigurationsOutput{}
  7133. req = c.newRequest(op, input, output)
  7134. return
  7135. }
  7136. // DeleteVpcEndpointServiceConfigurations API operation for Amazon Elastic Compute Cloud.
  7137. //
  7138. // Deletes one or more VPC endpoint service configurations in your account.
  7139. // Before you delete the endpoint service configuration, you must reject any
  7140. // Available or PendingAcceptance interface endpoint connections that are attached
  7141. // to the service.
  7142. //
  7143. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7144. // with awserr.Error's Code and Message methods to get detailed information about
  7145. // the error.
  7146. //
  7147. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7148. // API operation DeleteVpcEndpointServiceConfigurations for usage and error information.
  7149. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointServiceConfigurations
  7150. func (c *EC2) DeleteVpcEndpointServiceConfigurations(input *DeleteVpcEndpointServiceConfigurationsInput) (*DeleteVpcEndpointServiceConfigurationsOutput, error) {
  7151. req, out := c.DeleteVpcEndpointServiceConfigurationsRequest(input)
  7152. return out, req.Send()
  7153. }
  7154. // DeleteVpcEndpointServiceConfigurationsWithContext is the same as DeleteVpcEndpointServiceConfigurations with the addition of
  7155. // the ability to pass a context and additional request options.
  7156. //
  7157. // See DeleteVpcEndpointServiceConfigurations for details on how to use this API operation.
  7158. //
  7159. // The context must be non-nil and will be used for request cancellation. If
  7160. // the context is nil a panic will occur. In the future the SDK may create
  7161. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7162. // for more information on using Contexts.
  7163. func (c *EC2) DeleteVpcEndpointServiceConfigurationsWithContext(ctx aws.Context, input *DeleteVpcEndpointServiceConfigurationsInput, opts ...request.Option) (*DeleteVpcEndpointServiceConfigurationsOutput, error) {
  7164. req, out := c.DeleteVpcEndpointServiceConfigurationsRequest(input)
  7165. req.SetContext(ctx)
  7166. req.ApplyOptions(opts...)
  7167. return out, req.Send()
  7168. }
  7169. const opDeleteVpcEndpoints = "DeleteVpcEndpoints"
  7170. // DeleteVpcEndpointsRequest generates a "aws/request.Request" representing the
  7171. // client's request for the DeleteVpcEndpoints operation. The "output" return
  7172. // value will be populated with the request's response once the request complets
  7173. // successfuly.
  7174. //
  7175. // Use "Send" method on the returned Request to send the API call to the service.
  7176. // the "output" return value is not valid until after Send returns without error.
  7177. //
  7178. // See DeleteVpcEndpoints for more information on using the DeleteVpcEndpoints
  7179. // API call, and error handling.
  7180. //
  7181. // This method is useful when you want to inject custom logic or configuration
  7182. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7183. //
  7184. //
  7185. // // Example sending a request using the DeleteVpcEndpointsRequest method.
  7186. // req, resp := client.DeleteVpcEndpointsRequest(params)
  7187. //
  7188. // err := req.Send()
  7189. // if err == nil { // resp is now filled
  7190. // fmt.Println(resp)
  7191. // }
  7192. //
  7193. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpoints
  7194. func (c *EC2) DeleteVpcEndpointsRequest(input *DeleteVpcEndpointsInput) (req *request.Request, output *DeleteVpcEndpointsOutput) {
  7195. op := &request.Operation{
  7196. Name: opDeleteVpcEndpoints,
  7197. HTTPMethod: "POST",
  7198. HTTPPath: "/",
  7199. }
  7200. if input == nil {
  7201. input = &DeleteVpcEndpointsInput{}
  7202. }
  7203. output = &DeleteVpcEndpointsOutput{}
  7204. req = c.newRequest(op, input, output)
  7205. return
  7206. }
  7207. // DeleteVpcEndpoints API operation for Amazon Elastic Compute Cloud.
  7208. //
  7209. // Deletes one or more specified VPC endpoints. Deleting a gateway endpoint
  7210. // also deletes the endpoint routes in the route tables that were associated
  7211. // with the endpoint. Deleting an interface endpoint deletes the endpoint network
  7212. // interfaces.
  7213. //
  7214. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7215. // with awserr.Error's Code and Message methods to get detailed information about
  7216. // the error.
  7217. //
  7218. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7219. // API operation DeleteVpcEndpoints for usage and error information.
  7220. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpoints
  7221. func (c *EC2) DeleteVpcEndpoints(input *DeleteVpcEndpointsInput) (*DeleteVpcEndpointsOutput, error) {
  7222. req, out := c.DeleteVpcEndpointsRequest(input)
  7223. return out, req.Send()
  7224. }
  7225. // DeleteVpcEndpointsWithContext is the same as DeleteVpcEndpoints with the addition of
  7226. // the ability to pass a context and additional request options.
  7227. //
  7228. // See DeleteVpcEndpoints for details on how to use this API operation.
  7229. //
  7230. // The context must be non-nil and will be used for request cancellation. If
  7231. // the context is nil a panic will occur. In the future the SDK may create
  7232. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7233. // for more information on using Contexts.
  7234. func (c *EC2) DeleteVpcEndpointsWithContext(ctx aws.Context, input *DeleteVpcEndpointsInput, opts ...request.Option) (*DeleteVpcEndpointsOutput, error) {
  7235. req, out := c.DeleteVpcEndpointsRequest(input)
  7236. req.SetContext(ctx)
  7237. req.ApplyOptions(opts...)
  7238. return out, req.Send()
  7239. }
  7240. const opDeleteVpcPeeringConnection = "DeleteVpcPeeringConnection"
  7241. // DeleteVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
  7242. // client's request for the DeleteVpcPeeringConnection operation. The "output" return
  7243. // value will be populated with the request's response once the request complets
  7244. // successfuly.
  7245. //
  7246. // Use "Send" method on the returned Request to send the API call to the service.
  7247. // the "output" return value is not valid until after Send returns without error.
  7248. //
  7249. // See DeleteVpcPeeringConnection for more information on using the DeleteVpcPeeringConnection
  7250. // API call, and error handling.
  7251. //
  7252. // This method is useful when you want to inject custom logic or configuration
  7253. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7254. //
  7255. //
  7256. // // Example sending a request using the DeleteVpcPeeringConnectionRequest method.
  7257. // req, resp := client.DeleteVpcPeeringConnectionRequest(params)
  7258. //
  7259. // err := req.Send()
  7260. // if err == nil { // resp is now filled
  7261. // fmt.Println(resp)
  7262. // }
  7263. //
  7264. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcPeeringConnection
  7265. func (c *EC2) DeleteVpcPeeringConnectionRequest(input *DeleteVpcPeeringConnectionInput) (req *request.Request, output *DeleteVpcPeeringConnectionOutput) {
  7266. op := &request.Operation{
  7267. Name: opDeleteVpcPeeringConnection,
  7268. HTTPMethod: "POST",
  7269. HTTPPath: "/",
  7270. }
  7271. if input == nil {
  7272. input = &DeleteVpcPeeringConnectionInput{}
  7273. }
  7274. output = &DeleteVpcPeeringConnectionOutput{}
  7275. req = c.newRequest(op, input, output)
  7276. return
  7277. }
  7278. // DeleteVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
  7279. //
  7280. // Deletes a VPC peering connection. Either the owner of the requester VPC or
  7281. // the owner of the accepter VPC can delete the VPC peering connection if it's
  7282. // in the active state. The owner of the requester VPC can delete a VPC peering
  7283. // connection in the pending-acceptance state.
  7284. //
  7285. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7286. // with awserr.Error's Code and Message methods to get detailed information about
  7287. // the error.
  7288. //
  7289. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7290. // API operation DeleteVpcPeeringConnection for usage and error information.
  7291. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcPeeringConnection
  7292. func (c *EC2) DeleteVpcPeeringConnection(input *DeleteVpcPeeringConnectionInput) (*DeleteVpcPeeringConnectionOutput, error) {
  7293. req, out := c.DeleteVpcPeeringConnectionRequest(input)
  7294. return out, req.Send()
  7295. }
  7296. // DeleteVpcPeeringConnectionWithContext is the same as DeleteVpcPeeringConnection with the addition of
  7297. // the ability to pass a context and additional request options.
  7298. //
  7299. // See DeleteVpcPeeringConnection for details on how to use this API operation.
  7300. //
  7301. // The context must be non-nil and will be used for request cancellation. If
  7302. // the context is nil a panic will occur. In the future the SDK may create
  7303. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7304. // for more information on using Contexts.
  7305. func (c *EC2) DeleteVpcPeeringConnectionWithContext(ctx aws.Context, input *DeleteVpcPeeringConnectionInput, opts ...request.Option) (*DeleteVpcPeeringConnectionOutput, error) {
  7306. req, out := c.DeleteVpcPeeringConnectionRequest(input)
  7307. req.SetContext(ctx)
  7308. req.ApplyOptions(opts...)
  7309. return out, req.Send()
  7310. }
  7311. const opDeleteVpnConnection = "DeleteVpnConnection"
  7312. // DeleteVpnConnectionRequest generates a "aws/request.Request" representing the
  7313. // client's request for the DeleteVpnConnection operation. The "output" return
  7314. // value will be populated with the request's response once the request complets
  7315. // successfuly.
  7316. //
  7317. // Use "Send" method on the returned Request to send the API call to the service.
  7318. // the "output" return value is not valid until after Send returns without error.
  7319. //
  7320. // See DeleteVpnConnection for more information on using the DeleteVpnConnection
  7321. // API call, and error handling.
  7322. //
  7323. // This method is useful when you want to inject custom logic or configuration
  7324. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7325. //
  7326. //
  7327. // // Example sending a request using the DeleteVpnConnectionRequest method.
  7328. // req, resp := client.DeleteVpnConnectionRequest(params)
  7329. //
  7330. // err := req.Send()
  7331. // if err == nil { // resp is now filled
  7332. // fmt.Println(resp)
  7333. // }
  7334. //
  7335. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnection
  7336. func (c *EC2) DeleteVpnConnectionRequest(input *DeleteVpnConnectionInput) (req *request.Request, output *DeleteVpnConnectionOutput) {
  7337. op := &request.Operation{
  7338. Name: opDeleteVpnConnection,
  7339. HTTPMethod: "POST",
  7340. HTTPPath: "/",
  7341. }
  7342. if input == nil {
  7343. input = &DeleteVpnConnectionInput{}
  7344. }
  7345. output = &DeleteVpnConnectionOutput{}
  7346. req = c.newRequest(op, input, output)
  7347. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  7348. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  7349. return
  7350. }
  7351. // DeleteVpnConnection API operation for Amazon Elastic Compute Cloud.
  7352. //
  7353. // Deletes the specified VPN connection.
  7354. //
  7355. // If you're deleting the VPC and its associated components, we recommend that
  7356. // you detach the virtual private gateway from the VPC and delete the VPC before
  7357. // deleting the VPN connection. If you believe that the tunnel credentials for
  7358. // your VPN connection have been compromised, you can delete the VPN connection
  7359. // and create a new one that has new keys, without needing to delete the VPC
  7360. // or virtual private gateway. If you create a new VPN connection, you must
  7361. // reconfigure the customer gateway using the new configuration information
  7362. // returned with the new VPN connection ID.
  7363. //
  7364. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7365. // with awserr.Error's Code and Message methods to get detailed information about
  7366. // the error.
  7367. //
  7368. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7369. // API operation DeleteVpnConnection for usage and error information.
  7370. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnection
  7371. func (c *EC2) DeleteVpnConnection(input *DeleteVpnConnectionInput) (*DeleteVpnConnectionOutput, error) {
  7372. req, out := c.DeleteVpnConnectionRequest(input)
  7373. return out, req.Send()
  7374. }
  7375. // DeleteVpnConnectionWithContext is the same as DeleteVpnConnection with the addition of
  7376. // the ability to pass a context and additional request options.
  7377. //
  7378. // See DeleteVpnConnection for details on how to use this API operation.
  7379. //
  7380. // The context must be non-nil and will be used for request cancellation. If
  7381. // the context is nil a panic will occur. In the future the SDK may create
  7382. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7383. // for more information on using Contexts.
  7384. func (c *EC2) DeleteVpnConnectionWithContext(ctx aws.Context, input *DeleteVpnConnectionInput, opts ...request.Option) (*DeleteVpnConnectionOutput, error) {
  7385. req, out := c.DeleteVpnConnectionRequest(input)
  7386. req.SetContext(ctx)
  7387. req.ApplyOptions(opts...)
  7388. return out, req.Send()
  7389. }
  7390. const opDeleteVpnConnectionRoute = "DeleteVpnConnectionRoute"
  7391. // DeleteVpnConnectionRouteRequest generates a "aws/request.Request" representing the
  7392. // client's request for the DeleteVpnConnectionRoute operation. The "output" return
  7393. // value will be populated with the request's response once the request complets
  7394. // successfuly.
  7395. //
  7396. // Use "Send" method on the returned Request to send the API call to the service.
  7397. // the "output" return value is not valid until after Send returns without error.
  7398. //
  7399. // See DeleteVpnConnectionRoute for more information on using the DeleteVpnConnectionRoute
  7400. // API call, and error handling.
  7401. //
  7402. // This method is useful when you want to inject custom logic or configuration
  7403. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7404. //
  7405. //
  7406. // // Example sending a request using the DeleteVpnConnectionRouteRequest method.
  7407. // req, resp := client.DeleteVpnConnectionRouteRequest(params)
  7408. //
  7409. // err := req.Send()
  7410. // if err == nil { // resp is now filled
  7411. // fmt.Println(resp)
  7412. // }
  7413. //
  7414. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionRoute
  7415. func (c *EC2) DeleteVpnConnectionRouteRequest(input *DeleteVpnConnectionRouteInput) (req *request.Request, output *DeleteVpnConnectionRouteOutput) {
  7416. op := &request.Operation{
  7417. Name: opDeleteVpnConnectionRoute,
  7418. HTTPMethod: "POST",
  7419. HTTPPath: "/",
  7420. }
  7421. if input == nil {
  7422. input = &DeleteVpnConnectionRouteInput{}
  7423. }
  7424. output = &DeleteVpnConnectionRouteOutput{}
  7425. req = c.newRequest(op, input, output)
  7426. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  7427. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  7428. return
  7429. }
  7430. // DeleteVpnConnectionRoute API operation for Amazon Elastic Compute Cloud.
  7431. //
  7432. // Deletes the specified static route associated with a VPN connection between
  7433. // an existing virtual private gateway and a VPN customer gateway. The static
  7434. // route allows traffic to be routed from the virtual private gateway to the
  7435. // VPN customer gateway.
  7436. //
  7437. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7438. // with awserr.Error's Code and Message methods to get detailed information about
  7439. // the error.
  7440. //
  7441. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7442. // API operation DeleteVpnConnectionRoute for usage and error information.
  7443. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionRoute
  7444. func (c *EC2) DeleteVpnConnectionRoute(input *DeleteVpnConnectionRouteInput) (*DeleteVpnConnectionRouteOutput, error) {
  7445. req, out := c.DeleteVpnConnectionRouteRequest(input)
  7446. return out, req.Send()
  7447. }
  7448. // DeleteVpnConnectionRouteWithContext is the same as DeleteVpnConnectionRoute with the addition of
  7449. // the ability to pass a context and additional request options.
  7450. //
  7451. // See DeleteVpnConnectionRoute for details on how to use this API operation.
  7452. //
  7453. // The context must be non-nil and will be used for request cancellation. If
  7454. // the context is nil a panic will occur. In the future the SDK may create
  7455. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7456. // for more information on using Contexts.
  7457. func (c *EC2) DeleteVpnConnectionRouteWithContext(ctx aws.Context, input *DeleteVpnConnectionRouteInput, opts ...request.Option) (*DeleteVpnConnectionRouteOutput, error) {
  7458. req, out := c.DeleteVpnConnectionRouteRequest(input)
  7459. req.SetContext(ctx)
  7460. req.ApplyOptions(opts...)
  7461. return out, req.Send()
  7462. }
  7463. const opDeleteVpnGateway = "DeleteVpnGateway"
  7464. // DeleteVpnGatewayRequest generates a "aws/request.Request" representing the
  7465. // client's request for the DeleteVpnGateway operation. The "output" return
  7466. // value will be populated with the request's response once the request complets
  7467. // successfuly.
  7468. //
  7469. // Use "Send" method on the returned Request to send the API call to the service.
  7470. // the "output" return value is not valid until after Send returns without error.
  7471. //
  7472. // See DeleteVpnGateway for more information on using the DeleteVpnGateway
  7473. // API call, and error handling.
  7474. //
  7475. // This method is useful when you want to inject custom logic or configuration
  7476. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7477. //
  7478. //
  7479. // // Example sending a request using the DeleteVpnGatewayRequest method.
  7480. // req, resp := client.DeleteVpnGatewayRequest(params)
  7481. //
  7482. // err := req.Send()
  7483. // if err == nil { // resp is now filled
  7484. // fmt.Println(resp)
  7485. // }
  7486. //
  7487. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnGateway
  7488. func (c *EC2) DeleteVpnGatewayRequest(input *DeleteVpnGatewayInput) (req *request.Request, output *DeleteVpnGatewayOutput) {
  7489. op := &request.Operation{
  7490. Name: opDeleteVpnGateway,
  7491. HTTPMethod: "POST",
  7492. HTTPPath: "/",
  7493. }
  7494. if input == nil {
  7495. input = &DeleteVpnGatewayInput{}
  7496. }
  7497. output = &DeleteVpnGatewayOutput{}
  7498. req = c.newRequest(op, input, output)
  7499. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  7500. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  7501. return
  7502. }
  7503. // DeleteVpnGateway API operation for Amazon Elastic Compute Cloud.
  7504. //
  7505. // Deletes the specified virtual private gateway. We recommend that before you
  7506. // delete a virtual private gateway, you detach it from the VPC and delete the
  7507. // VPN connection. Note that you don't need to delete the virtual private gateway
  7508. // if you plan to delete and recreate the VPN connection between your VPC and
  7509. // your network.
  7510. //
  7511. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7512. // with awserr.Error's Code and Message methods to get detailed information about
  7513. // the error.
  7514. //
  7515. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7516. // API operation DeleteVpnGateway for usage and error information.
  7517. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnGateway
  7518. func (c *EC2) DeleteVpnGateway(input *DeleteVpnGatewayInput) (*DeleteVpnGatewayOutput, error) {
  7519. req, out := c.DeleteVpnGatewayRequest(input)
  7520. return out, req.Send()
  7521. }
  7522. // DeleteVpnGatewayWithContext is the same as DeleteVpnGateway with the addition of
  7523. // the ability to pass a context and additional request options.
  7524. //
  7525. // See DeleteVpnGateway for details on how to use this API operation.
  7526. //
  7527. // The context must be non-nil and will be used for request cancellation. If
  7528. // the context is nil a panic will occur. In the future the SDK may create
  7529. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7530. // for more information on using Contexts.
  7531. func (c *EC2) DeleteVpnGatewayWithContext(ctx aws.Context, input *DeleteVpnGatewayInput, opts ...request.Option) (*DeleteVpnGatewayOutput, error) {
  7532. req, out := c.DeleteVpnGatewayRequest(input)
  7533. req.SetContext(ctx)
  7534. req.ApplyOptions(opts...)
  7535. return out, req.Send()
  7536. }
  7537. const opDeregisterImage = "DeregisterImage"
  7538. // DeregisterImageRequest generates a "aws/request.Request" representing the
  7539. // client's request for the DeregisterImage operation. The "output" return
  7540. // value will be populated with the request's response once the request complets
  7541. // successfuly.
  7542. //
  7543. // Use "Send" method on the returned Request to send the API call to the service.
  7544. // the "output" return value is not valid until after Send returns without error.
  7545. //
  7546. // See DeregisterImage for more information on using the DeregisterImage
  7547. // API call, and error handling.
  7548. //
  7549. // This method is useful when you want to inject custom logic or configuration
  7550. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7551. //
  7552. //
  7553. // // Example sending a request using the DeregisterImageRequest method.
  7554. // req, resp := client.DeregisterImageRequest(params)
  7555. //
  7556. // err := req.Send()
  7557. // if err == nil { // resp is now filled
  7558. // fmt.Println(resp)
  7559. // }
  7560. //
  7561. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterImage
  7562. func (c *EC2) DeregisterImageRequest(input *DeregisterImageInput) (req *request.Request, output *DeregisterImageOutput) {
  7563. op := &request.Operation{
  7564. Name: opDeregisterImage,
  7565. HTTPMethod: "POST",
  7566. HTTPPath: "/",
  7567. }
  7568. if input == nil {
  7569. input = &DeregisterImageInput{}
  7570. }
  7571. output = &DeregisterImageOutput{}
  7572. req = c.newRequest(op, input, output)
  7573. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  7574. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  7575. return
  7576. }
  7577. // DeregisterImage API operation for Amazon Elastic Compute Cloud.
  7578. //
  7579. // Deregisters the specified AMI. After you deregister an AMI, it can't be used
  7580. // to launch new instances; however, it doesn't affect any instances that you've
  7581. // already launched from the AMI. You'll continue to incur usage costs for those
  7582. // instances until you terminate them.
  7583. //
  7584. // When you deregister an Amazon EBS-backed AMI, it doesn't affect the snapshot
  7585. // that was created for the root volume of the instance during the AMI creation
  7586. // process. When you deregister an instance store-backed AMI, it doesn't affect
  7587. // the files that you uploaded to Amazon S3 when you created the AMI.
  7588. //
  7589. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7590. // with awserr.Error's Code and Message methods to get detailed information about
  7591. // the error.
  7592. //
  7593. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7594. // API operation DeregisterImage for usage and error information.
  7595. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterImage
  7596. func (c *EC2) DeregisterImage(input *DeregisterImageInput) (*DeregisterImageOutput, error) {
  7597. req, out := c.DeregisterImageRequest(input)
  7598. return out, req.Send()
  7599. }
  7600. // DeregisterImageWithContext is the same as DeregisterImage with the addition of
  7601. // the ability to pass a context and additional request options.
  7602. //
  7603. // See DeregisterImage for details on how to use this API operation.
  7604. //
  7605. // The context must be non-nil and will be used for request cancellation. If
  7606. // the context is nil a panic will occur. In the future the SDK may create
  7607. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7608. // for more information on using Contexts.
  7609. func (c *EC2) DeregisterImageWithContext(ctx aws.Context, input *DeregisterImageInput, opts ...request.Option) (*DeregisterImageOutput, error) {
  7610. req, out := c.DeregisterImageRequest(input)
  7611. req.SetContext(ctx)
  7612. req.ApplyOptions(opts...)
  7613. return out, req.Send()
  7614. }
  7615. const opDescribeAccountAttributes = "DescribeAccountAttributes"
  7616. // DescribeAccountAttributesRequest generates a "aws/request.Request" representing the
  7617. // client's request for the DescribeAccountAttributes operation. The "output" return
  7618. // value will be populated with the request's response once the request complets
  7619. // successfuly.
  7620. //
  7621. // Use "Send" method on the returned Request to send the API call to the service.
  7622. // the "output" return value is not valid until after Send returns without error.
  7623. //
  7624. // See DescribeAccountAttributes for more information on using the DescribeAccountAttributes
  7625. // API call, and error handling.
  7626. //
  7627. // This method is useful when you want to inject custom logic or configuration
  7628. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7629. //
  7630. //
  7631. // // Example sending a request using the DescribeAccountAttributesRequest method.
  7632. // req, resp := client.DescribeAccountAttributesRequest(params)
  7633. //
  7634. // err := req.Send()
  7635. // if err == nil { // resp is now filled
  7636. // fmt.Println(resp)
  7637. // }
  7638. //
  7639. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAccountAttributes
  7640. func (c *EC2) DescribeAccountAttributesRequest(input *DescribeAccountAttributesInput) (req *request.Request, output *DescribeAccountAttributesOutput) {
  7641. op := &request.Operation{
  7642. Name: opDescribeAccountAttributes,
  7643. HTTPMethod: "POST",
  7644. HTTPPath: "/",
  7645. }
  7646. if input == nil {
  7647. input = &DescribeAccountAttributesInput{}
  7648. }
  7649. output = &DescribeAccountAttributesOutput{}
  7650. req = c.newRequest(op, input, output)
  7651. return
  7652. }
  7653. // DescribeAccountAttributes API operation for Amazon Elastic Compute Cloud.
  7654. //
  7655. // Describes attributes of your AWS account. The following are the supported
  7656. // account attributes:
  7657. //
  7658. // * supported-platforms: Indicates whether your account can launch instances
  7659. // into EC2-Classic and EC2-VPC, or only into EC2-VPC.
  7660. //
  7661. // * default-vpc: The ID of the default VPC for your account, or none.
  7662. //
  7663. // * max-instances: The maximum number of On-Demand instances that you can
  7664. // run.
  7665. //
  7666. // * vpc-max-security-groups-per-interface: The maximum number of security
  7667. // groups that you can assign to a network interface.
  7668. //
  7669. // * max-elastic-ips: The maximum number of Elastic IP addresses that you
  7670. // can allocate for use with EC2-Classic.
  7671. //
  7672. // * vpc-max-elastic-ips: The maximum number of Elastic IP addresses that
  7673. // you can allocate for use with EC2-VPC.
  7674. //
  7675. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7676. // with awserr.Error's Code and Message methods to get detailed information about
  7677. // the error.
  7678. //
  7679. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7680. // API operation DescribeAccountAttributes for usage and error information.
  7681. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAccountAttributes
  7682. func (c *EC2) DescribeAccountAttributes(input *DescribeAccountAttributesInput) (*DescribeAccountAttributesOutput, error) {
  7683. req, out := c.DescribeAccountAttributesRequest(input)
  7684. return out, req.Send()
  7685. }
  7686. // DescribeAccountAttributesWithContext is the same as DescribeAccountAttributes with the addition of
  7687. // the ability to pass a context and additional request options.
  7688. //
  7689. // See DescribeAccountAttributes for details on how to use this API operation.
  7690. //
  7691. // The context must be non-nil and will be used for request cancellation. If
  7692. // the context is nil a panic will occur. In the future the SDK may create
  7693. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7694. // for more information on using Contexts.
  7695. func (c *EC2) DescribeAccountAttributesWithContext(ctx aws.Context, input *DescribeAccountAttributesInput, opts ...request.Option) (*DescribeAccountAttributesOutput, error) {
  7696. req, out := c.DescribeAccountAttributesRequest(input)
  7697. req.SetContext(ctx)
  7698. req.ApplyOptions(opts...)
  7699. return out, req.Send()
  7700. }
  7701. const opDescribeAddresses = "DescribeAddresses"
  7702. // DescribeAddressesRequest generates a "aws/request.Request" representing the
  7703. // client's request for the DescribeAddresses operation. The "output" return
  7704. // value will be populated with the request's response once the request complets
  7705. // successfuly.
  7706. //
  7707. // Use "Send" method on the returned Request to send the API call to the service.
  7708. // the "output" return value is not valid until after Send returns without error.
  7709. //
  7710. // See DescribeAddresses for more information on using the DescribeAddresses
  7711. // API call, and error handling.
  7712. //
  7713. // This method is useful when you want to inject custom logic or configuration
  7714. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7715. //
  7716. //
  7717. // // Example sending a request using the DescribeAddressesRequest method.
  7718. // req, resp := client.DescribeAddressesRequest(params)
  7719. //
  7720. // err := req.Send()
  7721. // if err == nil { // resp is now filled
  7722. // fmt.Println(resp)
  7723. // }
  7724. //
  7725. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddresses
  7726. func (c *EC2) DescribeAddressesRequest(input *DescribeAddressesInput) (req *request.Request, output *DescribeAddressesOutput) {
  7727. op := &request.Operation{
  7728. Name: opDescribeAddresses,
  7729. HTTPMethod: "POST",
  7730. HTTPPath: "/",
  7731. }
  7732. if input == nil {
  7733. input = &DescribeAddressesInput{}
  7734. }
  7735. output = &DescribeAddressesOutput{}
  7736. req = c.newRequest(op, input, output)
  7737. return
  7738. }
  7739. // DescribeAddresses API operation for Amazon Elastic Compute Cloud.
  7740. //
  7741. // Describes one or more of your Elastic IP addresses.
  7742. //
  7743. // An Elastic IP address is for use in either the EC2-Classic platform or in
  7744. // a VPC. For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  7745. // in the Amazon Elastic Compute Cloud User Guide.
  7746. //
  7747. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7748. // with awserr.Error's Code and Message methods to get detailed information about
  7749. // the error.
  7750. //
  7751. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7752. // API operation DescribeAddresses for usage and error information.
  7753. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddresses
  7754. func (c *EC2) DescribeAddresses(input *DescribeAddressesInput) (*DescribeAddressesOutput, error) {
  7755. req, out := c.DescribeAddressesRequest(input)
  7756. return out, req.Send()
  7757. }
  7758. // DescribeAddressesWithContext is the same as DescribeAddresses with the addition of
  7759. // the ability to pass a context and additional request options.
  7760. //
  7761. // See DescribeAddresses for details on how to use this API operation.
  7762. //
  7763. // The context must be non-nil and will be used for request cancellation. If
  7764. // the context is nil a panic will occur. In the future the SDK may create
  7765. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7766. // for more information on using Contexts.
  7767. func (c *EC2) DescribeAddressesWithContext(ctx aws.Context, input *DescribeAddressesInput, opts ...request.Option) (*DescribeAddressesOutput, error) {
  7768. req, out := c.DescribeAddressesRequest(input)
  7769. req.SetContext(ctx)
  7770. req.ApplyOptions(opts...)
  7771. return out, req.Send()
  7772. }
  7773. const opDescribeAvailabilityZones = "DescribeAvailabilityZones"
  7774. // DescribeAvailabilityZonesRequest generates a "aws/request.Request" representing the
  7775. // client's request for the DescribeAvailabilityZones operation. The "output" return
  7776. // value will be populated with the request's response once the request complets
  7777. // successfuly.
  7778. //
  7779. // Use "Send" method on the returned Request to send the API call to the service.
  7780. // the "output" return value is not valid until after Send returns without error.
  7781. //
  7782. // See DescribeAvailabilityZones for more information on using the DescribeAvailabilityZones
  7783. // API call, and error handling.
  7784. //
  7785. // This method is useful when you want to inject custom logic or configuration
  7786. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7787. //
  7788. //
  7789. // // Example sending a request using the DescribeAvailabilityZonesRequest method.
  7790. // req, resp := client.DescribeAvailabilityZonesRequest(params)
  7791. //
  7792. // err := req.Send()
  7793. // if err == nil { // resp is now filled
  7794. // fmt.Println(resp)
  7795. // }
  7796. //
  7797. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAvailabilityZones
  7798. func (c *EC2) DescribeAvailabilityZonesRequest(input *DescribeAvailabilityZonesInput) (req *request.Request, output *DescribeAvailabilityZonesOutput) {
  7799. op := &request.Operation{
  7800. Name: opDescribeAvailabilityZones,
  7801. HTTPMethod: "POST",
  7802. HTTPPath: "/",
  7803. }
  7804. if input == nil {
  7805. input = &DescribeAvailabilityZonesInput{}
  7806. }
  7807. output = &DescribeAvailabilityZonesOutput{}
  7808. req = c.newRequest(op, input, output)
  7809. return
  7810. }
  7811. // DescribeAvailabilityZones API operation for Amazon Elastic Compute Cloud.
  7812. //
  7813. // Describes one or more of the Availability Zones that are available to you.
  7814. // The results include zones only for the region you're currently using. If
  7815. // there is an event impacting an Availability Zone, you can use this request
  7816. // to view the state and any provided message for that Availability Zone.
  7817. //
  7818. // For more information, see Regions and Availability Zones (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html)
  7819. // in the Amazon Elastic Compute Cloud User Guide.
  7820. //
  7821. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7822. // with awserr.Error's Code and Message methods to get detailed information about
  7823. // the error.
  7824. //
  7825. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7826. // API operation DescribeAvailabilityZones for usage and error information.
  7827. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAvailabilityZones
  7828. func (c *EC2) DescribeAvailabilityZones(input *DescribeAvailabilityZonesInput) (*DescribeAvailabilityZonesOutput, error) {
  7829. req, out := c.DescribeAvailabilityZonesRequest(input)
  7830. return out, req.Send()
  7831. }
  7832. // DescribeAvailabilityZonesWithContext is the same as DescribeAvailabilityZones with the addition of
  7833. // the ability to pass a context and additional request options.
  7834. //
  7835. // See DescribeAvailabilityZones for details on how to use this API operation.
  7836. //
  7837. // The context must be non-nil and will be used for request cancellation. If
  7838. // the context is nil a panic will occur. In the future the SDK may create
  7839. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7840. // for more information on using Contexts.
  7841. func (c *EC2) DescribeAvailabilityZonesWithContext(ctx aws.Context, input *DescribeAvailabilityZonesInput, opts ...request.Option) (*DescribeAvailabilityZonesOutput, error) {
  7842. req, out := c.DescribeAvailabilityZonesRequest(input)
  7843. req.SetContext(ctx)
  7844. req.ApplyOptions(opts...)
  7845. return out, req.Send()
  7846. }
  7847. const opDescribeBundleTasks = "DescribeBundleTasks"
  7848. // DescribeBundleTasksRequest generates a "aws/request.Request" representing the
  7849. // client's request for the DescribeBundleTasks operation. The "output" return
  7850. // value will be populated with the request's response once the request complets
  7851. // successfuly.
  7852. //
  7853. // Use "Send" method on the returned Request to send the API call to the service.
  7854. // the "output" return value is not valid until after Send returns without error.
  7855. //
  7856. // See DescribeBundleTasks for more information on using the DescribeBundleTasks
  7857. // API call, and error handling.
  7858. //
  7859. // This method is useful when you want to inject custom logic or configuration
  7860. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7861. //
  7862. //
  7863. // // Example sending a request using the DescribeBundleTasksRequest method.
  7864. // req, resp := client.DescribeBundleTasksRequest(params)
  7865. //
  7866. // err := req.Send()
  7867. // if err == nil { // resp is now filled
  7868. // fmt.Println(resp)
  7869. // }
  7870. //
  7871. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeBundleTasks
  7872. func (c *EC2) DescribeBundleTasksRequest(input *DescribeBundleTasksInput) (req *request.Request, output *DescribeBundleTasksOutput) {
  7873. op := &request.Operation{
  7874. Name: opDescribeBundleTasks,
  7875. HTTPMethod: "POST",
  7876. HTTPPath: "/",
  7877. }
  7878. if input == nil {
  7879. input = &DescribeBundleTasksInput{}
  7880. }
  7881. output = &DescribeBundleTasksOutput{}
  7882. req = c.newRequest(op, input, output)
  7883. return
  7884. }
  7885. // DescribeBundleTasks API operation for Amazon Elastic Compute Cloud.
  7886. //
  7887. // Describes one or more of your bundling tasks.
  7888. //
  7889. // Completed bundle tasks are listed for only a limited time. If your bundle
  7890. // task is no longer in the list, you can still register an AMI from it. Just
  7891. // use RegisterImage with the Amazon S3 bucket name and image manifest name
  7892. // you provided to the bundle task.
  7893. //
  7894. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7895. // with awserr.Error's Code and Message methods to get detailed information about
  7896. // the error.
  7897. //
  7898. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7899. // API operation DescribeBundleTasks for usage and error information.
  7900. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeBundleTasks
  7901. func (c *EC2) DescribeBundleTasks(input *DescribeBundleTasksInput) (*DescribeBundleTasksOutput, error) {
  7902. req, out := c.DescribeBundleTasksRequest(input)
  7903. return out, req.Send()
  7904. }
  7905. // DescribeBundleTasksWithContext is the same as DescribeBundleTasks with the addition of
  7906. // the ability to pass a context and additional request options.
  7907. //
  7908. // See DescribeBundleTasks for details on how to use this API operation.
  7909. //
  7910. // The context must be non-nil and will be used for request cancellation. If
  7911. // the context is nil a panic will occur. In the future the SDK may create
  7912. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7913. // for more information on using Contexts.
  7914. func (c *EC2) DescribeBundleTasksWithContext(ctx aws.Context, input *DescribeBundleTasksInput, opts ...request.Option) (*DescribeBundleTasksOutput, error) {
  7915. req, out := c.DescribeBundleTasksRequest(input)
  7916. req.SetContext(ctx)
  7917. req.ApplyOptions(opts...)
  7918. return out, req.Send()
  7919. }
  7920. const opDescribeClassicLinkInstances = "DescribeClassicLinkInstances"
  7921. // DescribeClassicLinkInstancesRequest generates a "aws/request.Request" representing the
  7922. // client's request for the DescribeClassicLinkInstances operation. The "output" return
  7923. // value will be populated with the request's response once the request complets
  7924. // successfuly.
  7925. //
  7926. // Use "Send" method on the returned Request to send the API call to the service.
  7927. // the "output" return value is not valid until after Send returns without error.
  7928. //
  7929. // See DescribeClassicLinkInstances for more information on using the DescribeClassicLinkInstances
  7930. // API call, and error handling.
  7931. //
  7932. // This method is useful when you want to inject custom logic or configuration
  7933. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7934. //
  7935. //
  7936. // // Example sending a request using the DescribeClassicLinkInstancesRequest method.
  7937. // req, resp := client.DescribeClassicLinkInstancesRequest(params)
  7938. //
  7939. // err := req.Send()
  7940. // if err == nil { // resp is now filled
  7941. // fmt.Println(resp)
  7942. // }
  7943. //
  7944. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClassicLinkInstances
  7945. func (c *EC2) DescribeClassicLinkInstancesRequest(input *DescribeClassicLinkInstancesInput) (req *request.Request, output *DescribeClassicLinkInstancesOutput) {
  7946. op := &request.Operation{
  7947. Name: opDescribeClassicLinkInstances,
  7948. HTTPMethod: "POST",
  7949. HTTPPath: "/",
  7950. }
  7951. if input == nil {
  7952. input = &DescribeClassicLinkInstancesInput{}
  7953. }
  7954. output = &DescribeClassicLinkInstancesOutput{}
  7955. req = c.newRequest(op, input, output)
  7956. return
  7957. }
  7958. // DescribeClassicLinkInstances API operation for Amazon Elastic Compute Cloud.
  7959. //
  7960. // Describes one or more of your linked EC2-Classic instances. This request
  7961. // only returns information about EC2-Classic instances linked to a VPC through
  7962. // ClassicLink; you cannot use this request to return information about other
  7963. // instances.
  7964. //
  7965. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7966. // with awserr.Error's Code and Message methods to get detailed information about
  7967. // the error.
  7968. //
  7969. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7970. // API operation DescribeClassicLinkInstances for usage and error information.
  7971. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClassicLinkInstances
  7972. func (c *EC2) DescribeClassicLinkInstances(input *DescribeClassicLinkInstancesInput) (*DescribeClassicLinkInstancesOutput, error) {
  7973. req, out := c.DescribeClassicLinkInstancesRequest(input)
  7974. return out, req.Send()
  7975. }
  7976. // DescribeClassicLinkInstancesWithContext is the same as DescribeClassicLinkInstances with the addition of
  7977. // the ability to pass a context and additional request options.
  7978. //
  7979. // See DescribeClassicLinkInstances for details on how to use this API operation.
  7980. //
  7981. // The context must be non-nil and will be used for request cancellation. If
  7982. // the context is nil a panic will occur. In the future the SDK may create
  7983. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7984. // for more information on using Contexts.
  7985. func (c *EC2) DescribeClassicLinkInstancesWithContext(ctx aws.Context, input *DescribeClassicLinkInstancesInput, opts ...request.Option) (*DescribeClassicLinkInstancesOutput, error) {
  7986. req, out := c.DescribeClassicLinkInstancesRequest(input)
  7987. req.SetContext(ctx)
  7988. req.ApplyOptions(opts...)
  7989. return out, req.Send()
  7990. }
  7991. const opDescribeConversionTasks = "DescribeConversionTasks"
  7992. // DescribeConversionTasksRequest generates a "aws/request.Request" representing the
  7993. // client's request for the DescribeConversionTasks operation. The "output" return
  7994. // value will be populated with the request's response once the request complets
  7995. // successfuly.
  7996. //
  7997. // Use "Send" method on the returned Request to send the API call to the service.
  7998. // the "output" return value is not valid until after Send returns without error.
  7999. //
  8000. // See DescribeConversionTasks for more information on using the DescribeConversionTasks
  8001. // API call, and error handling.
  8002. //
  8003. // This method is useful when you want to inject custom logic or configuration
  8004. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8005. //
  8006. //
  8007. // // Example sending a request using the DescribeConversionTasksRequest method.
  8008. // req, resp := client.DescribeConversionTasksRequest(params)
  8009. //
  8010. // err := req.Send()
  8011. // if err == nil { // resp is now filled
  8012. // fmt.Println(resp)
  8013. // }
  8014. //
  8015. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeConversionTasks
  8016. func (c *EC2) DescribeConversionTasksRequest(input *DescribeConversionTasksInput) (req *request.Request, output *DescribeConversionTasksOutput) {
  8017. op := &request.Operation{
  8018. Name: opDescribeConversionTasks,
  8019. HTTPMethod: "POST",
  8020. HTTPPath: "/",
  8021. }
  8022. if input == nil {
  8023. input = &DescribeConversionTasksInput{}
  8024. }
  8025. output = &DescribeConversionTasksOutput{}
  8026. req = c.newRequest(op, input, output)
  8027. return
  8028. }
  8029. // DescribeConversionTasks API operation for Amazon Elastic Compute Cloud.
  8030. //
  8031. // Describes one or more of your conversion tasks. For more information, see
  8032. // the VM Import/Export User Guide (http://docs.aws.amazon.com/vm-import/latest/userguide/).
  8033. //
  8034. // For information about the import manifest referenced by this API action,
  8035. // see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  8036. //
  8037. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8038. // with awserr.Error's Code and Message methods to get detailed information about
  8039. // the error.
  8040. //
  8041. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8042. // API operation DescribeConversionTasks for usage and error information.
  8043. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeConversionTasks
  8044. func (c *EC2) DescribeConversionTasks(input *DescribeConversionTasksInput) (*DescribeConversionTasksOutput, error) {
  8045. req, out := c.DescribeConversionTasksRequest(input)
  8046. return out, req.Send()
  8047. }
  8048. // DescribeConversionTasksWithContext is the same as DescribeConversionTasks with the addition of
  8049. // the ability to pass a context and additional request options.
  8050. //
  8051. // See DescribeConversionTasks for details on how to use this API operation.
  8052. //
  8053. // The context must be non-nil and will be used for request cancellation. If
  8054. // the context is nil a panic will occur. In the future the SDK may create
  8055. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8056. // for more information on using Contexts.
  8057. func (c *EC2) DescribeConversionTasksWithContext(ctx aws.Context, input *DescribeConversionTasksInput, opts ...request.Option) (*DescribeConversionTasksOutput, error) {
  8058. req, out := c.DescribeConversionTasksRequest(input)
  8059. req.SetContext(ctx)
  8060. req.ApplyOptions(opts...)
  8061. return out, req.Send()
  8062. }
  8063. const opDescribeCustomerGateways = "DescribeCustomerGateways"
  8064. // DescribeCustomerGatewaysRequest generates a "aws/request.Request" representing the
  8065. // client's request for the DescribeCustomerGateways operation. The "output" return
  8066. // value will be populated with the request's response once the request complets
  8067. // successfuly.
  8068. //
  8069. // Use "Send" method on the returned Request to send the API call to the service.
  8070. // the "output" return value is not valid until after Send returns without error.
  8071. //
  8072. // See DescribeCustomerGateways for more information on using the DescribeCustomerGateways
  8073. // API call, and error handling.
  8074. //
  8075. // This method is useful when you want to inject custom logic or configuration
  8076. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8077. //
  8078. //
  8079. // // Example sending a request using the DescribeCustomerGatewaysRequest method.
  8080. // req, resp := client.DescribeCustomerGatewaysRequest(params)
  8081. //
  8082. // err := req.Send()
  8083. // if err == nil { // resp is now filled
  8084. // fmt.Println(resp)
  8085. // }
  8086. //
  8087. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCustomerGateways
  8088. func (c *EC2) DescribeCustomerGatewaysRequest(input *DescribeCustomerGatewaysInput) (req *request.Request, output *DescribeCustomerGatewaysOutput) {
  8089. op := &request.Operation{
  8090. Name: opDescribeCustomerGateways,
  8091. HTTPMethod: "POST",
  8092. HTTPPath: "/",
  8093. }
  8094. if input == nil {
  8095. input = &DescribeCustomerGatewaysInput{}
  8096. }
  8097. output = &DescribeCustomerGatewaysOutput{}
  8098. req = c.newRequest(op, input, output)
  8099. return
  8100. }
  8101. // DescribeCustomerGateways API operation for Amazon Elastic Compute Cloud.
  8102. //
  8103. // Describes one or more of your VPN customer gateways.
  8104. //
  8105. // For more information about VPN customer gateways, see AWS Managed VPN Connections
  8106. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html) in the
  8107. // Amazon Virtual Private Cloud User Guide.
  8108. //
  8109. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8110. // with awserr.Error's Code and Message methods to get detailed information about
  8111. // the error.
  8112. //
  8113. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8114. // API operation DescribeCustomerGateways for usage and error information.
  8115. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCustomerGateways
  8116. func (c *EC2) DescribeCustomerGateways(input *DescribeCustomerGatewaysInput) (*DescribeCustomerGatewaysOutput, error) {
  8117. req, out := c.DescribeCustomerGatewaysRequest(input)
  8118. return out, req.Send()
  8119. }
  8120. // DescribeCustomerGatewaysWithContext is the same as DescribeCustomerGateways with the addition of
  8121. // the ability to pass a context and additional request options.
  8122. //
  8123. // See DescribeCustomerGateways for details on how to use this API operation.
  8124. //
  8125. // The context must be non-nil and will be used for request cancellation. If
  8126. // the context is nil a panic will occur. In the future the SDK may create
  8127. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8128. // for more information on using Contexts.
  8129. func (c *EC2) DescribeCustomerGatewaysWithContext(ctx aws.Context, input *DescribeCustomerGatewaysInput, opts ...request.Option) (*DescribeCustomerGatewaysOutput, error) {
  8130. req, out := c.DescribeCustomerGatewaysRequest(input)
  8131. req.SetContext(ctx)
  8132. req.ApplyOptions(opts...)
  8133. return out, req.Send()
  8134. }
  8135. const opDescribeDhcpOptions = "DescribeDhcpOptions"
  8136. // DescribeDhcpOptionsRequest generates a "aws/request.Request" representing the
  8137. // client's request for the DescribeDhcpOptions operation. The "output" return
  8138. // value will be populated with the request's response once the request complets
  8139. // successfuly.
  8140. //
  8141. // Use "Send" method on the returned Request to send the API call to the service.
  8142. // the "output" return value is not valid until after Send returns without error.
  8143. //
  8144. // See DescribeDhcpOptions for more information on using the DescribeDhcpOptions
  8145. // API call, and error handling.
  8146. //
  8147. // This method is useful when you want to inject custom logic or configuration
  8148. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8149. //
  8150. //
  8151. // // Example sending a request using the DescribeDhcpOptionsRequest method.
  8152. // req, resp := client.DescribeDhcpOptionsRequest(params)
  8153. //
  8154. // err := req.Send()
  8155. // if err == nil { // resp is now filled
  8156. // fmt.Println(resp)
  8157. // }
  8158. //
  8159. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeDhcpOptions
  8160. func (c *EC2) DescribeDhcpOptionsRequest(input *DescribeDhcpOptionsInput) (req *request.Request, output *DescribeDhcpOptionsOutput) {
  8161. op := &request.Operation{
  8162. Name: opDescribeDhcpOptions,
  8163. HTTPMethod: "POST",
  8164. HTTPPath: "/",
  8165. }
  8166. if input == nil {
  8167. input = &DescribeDhcpOptionsInput{}
  8168. }
  8169. output = &DescribeDhcpOptionsOutput{}
  8170. req = c.newRequest(op, input, output)
  8171. return
  8172. }
  8173. // DescribeDhcpOptions API operation for Amazon Elastic Compute Cloud.
  8174. //
  8175. // Describes one or more of your DHCP options sets.
  8176. //
  8177. // For more information about DHCP options sets, see DHCP Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
  8178. // in the Amazon Virtual Private Cloud User Guide.
  8179. //
  8180. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8181. // with awserr.Error's Code and Message methods to get detailed information about
  8182. // the error.
  8183. //
  8184. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8185. // API operation DescribeDhcpOptions for usage and error information.
  8186. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeDhcpOptions
  8187. func (c *EC2) DescribeDhcpOptions(input *DescribeDhcpOptionsInput) (*DescribeDhcpOptionsOutput, error) {
  8188. req, out := c.DescribeDhcpOptionsRequest(input)
  8189. return out, req.Send()
  8190. }
  8191. // DescribeDhcpOptionsWithContext is the same as DescribeDhcpOptions with the addition of
  8192. // the ability to pass a context and additional request options.
  8193. //
  8194. // See DescribeDhcpOptions for details on how to use this API operation.
  8195. //
  8196. // The context must be non-nil and will be used for request cancellation. If
  8197. // the context is nil a panic will occur. In the future the SDK may create
  8198. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8199. // for more information on using Contexts.
  8200. func (c *EC2) DescribeDhcpOptionsWithContext(ctx aws.Context, input *DescribeDhcpOptionsInput, opts ...request.Option) (*DescribeDhcpOptionsOutput, error) {
  8201. req, out := c.DescribeDhcpOptionsRequest(input)
  8202. req.SetContext(ctx)
  8203. req.ApplyOptions(opts...)
  8204. return out, req.Send()
  8205. }
  8206. const opDescribeEgressOnlyInternetGateways = "DescribeEgressOnlyInternetGateways"
  8207. // DescribeEgressOnlyInternetGatewaysRequest generates a "aws/request.Request" representing the
  8208. // client's request for the DescribeEgressOnlyInternetGateways operation. The "output" return
  8209. // value will be populated with the request's response once the request complets
  8210. // successfuly.
  8211. //
  8212. // Use "Send" method on the returned Request to send the API call to the service.
  8213. // the "output" return value is not valid until after Send returns without error.
  8214. //
  8215. // See DescribeEgressOnlyInternetGateways for more information on using the DescribeEgressOnlyInternetGateways
  8216. // API call, and error handling.
  8217. //
  8218. // This method is useful when you want to inject custom logic or configuration
  8219. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8220. //
  8221. //
  8222. // // Example sending a request using the DescribeEgressOnlyInternetGatewaysRequest method.
  8223. // req, resp := client.DescribeEgressOnlyInternetGatewaysRequest(params)
  8224. //
  8225. // err := req.Send()
  8226. // if err == nil { // resp is now filled
  8227. // fmt.Println(resp)
  8228. // }
  8229. //
  8230. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeEgressOnlyInternetGateways
  8231. func (c *EC2) DescribeEgressOnlyInternetGatewaysRequest(input *DescribeEgressOnlyInternetGatewaysInput) (req *request.Request, output *DescribeEgressOnlyInternetGatewaysOutput) {
  8232. op := &request.Operation{
  8233. Name: opDescribeEgressOnlyInternetGateways,
  8234. HTTPMethod: "POST",
  8235. HTTPPath: "/",
  8236. }
  8237. if input == nil {
  8238. input = &DescribeEgressOnlyInternetGatewaysInput{}
  8239. }
  8240. output = &DescribeEgressOnlyInternetGatewaysOutput{}
  8241. req = c.newRequest(op, input, output)
  8242. return
  8243. }
  8244. // DescribeEgressOnlyInternetGateways API operation for Amazon Elastic Compute Cloud.
  8245. //
  8246. // Describes one or more of your egress-only Internet gateways.
  8247. //
  8248. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8249. // with awserr.Error's Code and Message methods to get detailed information about
  8250. // the error.
  8251. //
  8252. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8253. // API operation DescribeEgressOnlyInternetGateways for usage and error information.
  8254. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeEgressOnlyInternetGateways
  8255. func (c *EC2) DescribeEgressOnlyInternetGateways(input *DescribeEgressOnlyInternetGatewaysInput) (*DescribeEgressOnlyInternetGatewaysOutput, error) {
  8256. req, out := c.DescribeEgressOnlyInternetGatewaysRequest(input)
  8257. return out, req.Send()
  8258. }
  8259. // DescribeEgressOnlyInternetGatewaysWithContext is the same as DescribeEgressOnlyInternetGateways with the addition of
  8260. // the ability to pass a context and additional request options.
  8261. //
  8262. // See DescribeEgressOnlyInternetGateways for details on how to use this API operation.
  8263. //
  8264. // The context must be non-nil and will be used for request cancellation. If
  8265. // the context is nil a panic will occur. In the future the SDK may create
  8266. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8267. // for more information on using Contexts.
  8268. func (c *EC2) DescribeEgressOnlyInternetGatewaysWithContext(ctx aws.Context, input *DescribeEgressOnlyInternetGatewaysInput, opts ...request.Option) (*DescribeEgressOnlyInternetGatewaysOutput, error) {
  8269. req, out := c.DescribeEgressOnlyInternetGatewaysRequest(input)
  8270. req.SetContext(ctx)
  8271. req.ApplyOptions(opts...)
  8272. return out, req.Send()
  8273. }
  8274. const opDescribeElasticGpus = "DescribeElasticGpus"
  8275. // DescribeElasticGpusRequest generates a "aws/request.Request" representing the
  8276. // client's request for the DescribeElasticGpus operation. The "output" return
  8277. // value will be populated with the request's response once the request complets
  8278. // successfuly.
  8279. //
  8280. // Use "Send" method on the returned Request to send the API call to the service.
  8281. // the "output" return value is not valid until after Send returns without error.
  8282. //
  8283. // See DescribeElasticGpus for more information on using the DescribeElasticGpus
  8284. // API call, and error handling.
  8285. //
  8286. // This method is useful when you want to inject custom logic or configuration
  8287. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8288. //
  8289. //
  8290. // // Example sending a request using the DescribeElasticGpusRequest method.
  8291. // req, resp := client.DescribeElasticGpusRequest(params)
  8292. //
  8293. // err := req.Send()
  8294. // if err == nil { // resp is now filled
  8295. // fmt.Println(resp)
  8296. // }
  8297. //
  8298. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeElasticGpus
  8299. func (c *EC2) DescribeElasticGpusRequest(input *DescribeElasticGpusInput) (req *request.Request, output *DescribeElasticGpusOutput) {
  8300. op := &request.Operation{
  8301. Name: opDescribeElasticGpus,
  8302. HTTPMethod: "POST",
  8303. HTTPPath: "/",
  8304. }
  8305. if input == nil {
  8306. input = &DescribeElasticGpusInput{}
  8307. }
  8308. output = &DescribeElasticGpusOutput{}
  8309. req = c.newRequest(op, input, output)
  8310. return
  8311. }
  8312. // DescribeElasticGpus API operation for Amazon Elastic Compute Cloud.
  8313. //
  8314. // Describes the Elastic GPUs associated with your instances. For more information
  8315. // about Elastic GPUs, see Amazon EC2 Elastic GPUs (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-gpus.html).
  8316. //
  8317. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8318. // with awserr.Error's Code and Message methods to get detailed information about
  8319. // the error.
  8320. //
  8321. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8322. // API operation DescribeElasticGpus for usage and error information.
  8323. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeElasticGpus
  8324. func (c *EC2) DescribeElasticGpus(input *DescribeElasticGpusInput) (*DescribeElasticGpusOutput, error) {
  8325. req, out := c.DescribeElasticGpusRequest(input)
  8326. return out, req.Send()
  8327. }
  8328. // DescribeElasticGpusWithContext is the same as DescribeElasticGpus with the addition of
  8329. // the ability to pass a context and additional request options.
  8330. //
  8331. // See DescribeElasticGpus for details on how to use this API operation.
  8332. //
  8333. // The context must be non-nil and will be used for request cancellation. If
  8334. // the context is nil a panic will occur. In the future the SDK may create
  8335. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8336. // for more information on using Contexts.
  8337. func (c *EC2) DescribeElasticGpusWithContext(ctx aws.Context, input *DescribeElasticGpusInput, opts ...request.Option) (*DescribeElasticGpusOutput, error) {
  8338. req, out := c.DescribeElasticGpusRequest(input)
  8339. req.SetContext(ctx)
  8340. req.ApplyOptions(opts...)
  8341. return out, req.Send()
  8342. }
  8343. const opDescribeExportTasks = "DescribeExportTasks"
  8344. // DescribeExportTasksRequest generates a "aws/request.Request" representing the
  8345. // client's request for the DescribeExportTasks operation. The "output" return
  8346. // value will be populated with the request's response once the request complets
  8347. // successfuly.
  8348. //
  8349. // Use "Send" method on the returned Request to send the API call to the service.
  8350. // the "output" return value is not valid until after Send returns without error.
  8351. //
  8352. // See DescribeExportTasks for more information on using the DescribeExportTasks
  8353. // API call, and error handling.
  8354. //
  8355. // This method is useful when you want to inject custom logic or configuration
  8356. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8357. //
  8358. //
  8359. // // Example sending a request using the DescribeExportTasksRequest method.
  8360. // req, resp := client.DescribeExportTasksRequest(params)
  8361. //
  8362. // err := req.Send()
  8363. // if err == nil { // resp is now filled
  8364. // fmt.Println(resp)
  8365. // }
  8366. //
  8367. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportTasks
  8368. func (c *EC2) DescribeExportTasksRequest(input *DescribeExportTasksInput) (req *request.Request, output *DescribeExportTasksOutput) {
  8369. op := &request.Operation{
  8370. Name: opDescribeExportTasks,
  8371. HTTPMethod: "POST",
  8372. HTTPPath: "/",
  8373. }
  8374. if input == nil {
  8375. input = &DescribeExportTasksInput{}
  8376. }
  8377. output = &DescribeExportTasksOutput{}
  8378. req = c.newRequest(op, input, output)
  8379. return
  8380. }
  8381. // DescribeExportTasks API operation for Amazon Elastic Compute Cloud.
  8382. //
  8383. // Describes one or more of your export tasks.
  8384. //
  8385. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8386. // with awserr.Error's Code and Message methods to get detailed information about
  8387. // the error.
  8388. //
  8389. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8390. // API operation DescribeExportTasks for usage and error information.
  8391. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportTasks
  8392. func (c *EC2) DescribeExportTasks(input *DescribeExportTasksInput) (*DescribeExportTasksOutput, error) {
  8393. req, out := c.DescribeExportTasksRequest(input)
  8394. return out, req.Send()
  8395. }
  8396. // DescribeExportTasksWithContext is the same as DescribeExportTasks with the addition of
  8397. // the ability to pass a context and additional request options.
  8398. //
  8399. // See DescribeExportTasks for details on how to use this API operation.
  8400. //
  8401. // The context must be non-nil and will be used for request cancellation. If
  8402. // the context is nil a panic will occur. In the future the SDK may create
  8403. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8404. // for more information on using Contexts.
  8405. func (c *EC2) DescribeExportTasksWithContext(ctx aws.Context, input *DescribeExportTasksInput, opts ...request.Option) (*DescribeExportTasksOutput, error) {
  8406. req, out := c.DescribeExportTasksRequest(input)
  8407. req.SetContext(ctx)
  8408. req.ApplyOptions(opts...)
  8409. return out, req.Send()
  8410. }
  8411. const opDescribeFlowLogs = "DescribeFlowLogs"
  8412. // DescribeFlowLogsRequest generates a "aws/request.Request" representing the
  8413. // client's request for the DescribeFlowLogs operation. The "output" return
  8414. // value will be populated with the request's response once the request complets
  8415. // successfuly.
  8416. //
  8417. // Use "Send" method on the returned Request to send the API call to the service.
  8418. // the "output" return value is not valid until after Send returns without error.
  8419. //
  8420. // See DescribeFlowLogs for more information on using the DescribeFlowLogs
  8421. // API call, and error handling.
  8422. //
  8423. // This method is useful when you want to inject custom logic or configuration
  8424. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8425. //
  8426. //
  8427. // // Example sending a request using the DescribeFlowLogsRequest method.
  8428. // req, resp := client.DescribeFlowLogsRequest(params)
  8429. //
  8430. // err := req.Send()
  8431. // if err == nil { // resp is now filled
  8432. // fmt.Println(resp)
  8433. // }
  8434. //
  8435. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFlowLogs
  8436. func (c *EC2) DescribeFlowLogsRequest(input *DescribeFlowLogsInput) (req *request.Request, output *DescribeFlowLogsOutput) {
  8437. op := &request.Operation{
  8438. Name: opDescribeFlowLogs,
  8439. HTTPMethod: "POST",
  8440. HTTPPath: "/",
  8441. }
  8442. if input == nil {
  8443. input = &DescribeFlowLogsInput{}
  8444. }
  8445. output = &DescribeFlowLogsOutput{}
  8446. req = c.newRequest(op, input, output)
  8447. return
  8448. }
  8449. // DescribeFlowLogs API operation for Amazon Elastic Compute Cloud.
  8450. //
  8451. // Describes one or more flow logs. To view the information in your flow logs
  8452. // (the log streams for the network interfaces), you must use the CloudWatch
  8453. // Logs console or the CloudWatch Logs API.
  8454. //
  8455. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8456. // with awserr.Error's Code and Message methods to get detailed information about
  8457. // the error.
  8458. //
  8459. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8460. // API operation DescribeFlowLogs for usage and error information.
  8461. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFlowLogs
  8462. func (c *EC2) DescribeFlowLogs(input *DescribeFlowLogsInput) (*DescribeFlowLogsOutput, error) {
  8463. req, out := c.DescribeFlowLogsRequest(input)
  8464. return out, req.Send()
  8465. }
  8466. // DescribeFlowLogsWithContext is the same as DescribeFlowLogs with the addition of
  8467. // the ability to pass a context and additional request options.
  8468. //
  8469. // See DescribeFlowLogs for details on how to use this API operation.
  8470. //
  8471. // The context must be non-nil and will be used for request cancellation. If
  8472. // the context is nil a panic will occur. In the future the SDK may create
  8473. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8474. // for more information on using Contexts.
  8475. func (c *EC2) DescribeFlowLogsWithContext(ctx aws.Context, input *DescribeFlowLogsInput, opts ...request.Option) (*DescribeFlowLogsOutput, error) {
  8476. req, out := c.DescribeFlowLogsRequest(input)
  8477. req.SetContext(ctx)
  8478. req.ApplyOptions(opts...)
  8479. return out, req.Send()
  8480. }
  8481. const opDescribeFpgaImageAttribute = "DescribeFpgaImageAttribute"
  8482. // DescribeFpgaImageAttributeRequest generates a "aws/request.Request" representing the
  8483. // client's request for the DescribeFpgaImageAttribute operation. The "output" return
  8484. // value will be populated with the request's response once the request complets
  8485. // successfuly.
  8486. //
  8487. // Use "Send" method on the returned Request to send the API call to the service.
  8488. // the "output" return value is not valid until after Send returns without error.
  8489. //
  8490. // See DescribeFpgaImageAttribute for more information on using the DescribeFpgaImageAttribute
  8491. // API call, and error handling.
  8492. //
  8493. // This method is useful when you want to inject custom logic or configuration
  8494. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8495. //
  8496. //
  8497. // // Example sending a request using the DescribeFpgaImageAttributeRequest method.
  8498. // req, resp := client.DescribeFpgaImageAttributeRequest(params)
  8499. //
  8500. // err := req.Send()
  8501. // if err == nil { // resp is now filled
  8502. // fmt.Println(resp)
  8503. // }
  8504. //
  8505. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImageAttribute
  8506. func (c *EC2) DescribeFpgaImageAttributeRequest(input *DescribeFpgaImageAttributeInput) (req *request.Request, output *DescribeFpgaImageAttributeOutput) {
  8507. op := &request.Operation{
  8508. Name: opDescribeFpgaImageAttribute,
  8509. HTTPMethod: "POST",
  8510. HTTPPath: "/",
  8511. }
  8512. if input == nil {
  8513. input = &DescribeFpgaImageAttributeInput{}
  8514. }
  8515. output = &DescribeFpgaImageAttributeOutput{}
  8516. req = c.newRequest(op, input, output)
  8517. return
  8518. }
  8519. // DescribeFpgaImageAttribute API operation for Amazon Elastic Compute Cloud.
  8520. //
  8521. // Describes the specified attribute of the specified Amazon FPGA Image (AFI).
  8522. //
  8523. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8524. // with awserr.Error's Code and Message methods to get detailed information about
  8525. // the error.
  8526. //
  8527. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8528. // API operation DescribeFpgaImageAttribute for usage and error information.
  8529. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImageAttribute
  8530. func (c *EC2) DescribeFpgaImageAttribute(input *DescribeFpgaImageAttributeInput) (*DescribeFpgaImageAttributeOutput, error) {
  8531. req, out := c.DescribeFpgaImageAttributeRequest(input)
  8532. return out, req.Send()
  8533. }
  8534. // DescribeFpgaImageAttributeWithContext is the same as DescribeFpgaImageAttribute with the addition of
  8535. // the ability to pass a context and additional request options.
  8536. //
  8537. // See DescribeFpgaImageAttribute for details on how to use this API operation.
  8538. //
  8539. // The context must be non-nil and will be used for request cancellation. If
  8540. // the context is nil a panic will occur. In the future the SDK may create
  8541. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8542. // for more information on using Contexts.
  8543. func (c *EC2) DescribeFpgaImageAttributeWithContext(ctx aws.Context, input *DescribeFpgaImageAttributeInput, opts ...request.Option) (*DescribeFpgaImageAttributeOutput, error) {
  8544. req, out := c.DescribeFpgaImageAttributeRequest(input)
  8545. req.SetContext(ctx)
  8546. req.ApplyOptions(opts...)
  8547. return out, req.Send()
  8548. }
  8549. const opDescribeFpgaImages = "DescribeFpgaImages"
  8550. // DescribeFpgaImagesRequest generates a "aws/request.Request" representing the
  8551. // client's request for the DescribeFpgaImages operation. The "output" return
  8552. // value will be populated with the request's response once the request complets
  8553. // successfuly.
  8554. //
  8555. // Use "Send" method on the returned Request to send the API call to the service.
  8556. // the "output" return value is not valid until after Send returns without error.
  8557. //
  8558. // See DescribeFpgaImages for more information on using the DescribeFpgaImages
  8559. // API call, and error handling.
  8560. //
  8561. // This method is useful when you want to inject custom logic or configuration
  8562. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8563. //
  8564. //
  8565. // // Example sending a request using the DescribeFpgaImagesRequest method.
  8566. // req, resp := client.DescribeFpgaImagesRequest(params)
  8567. //
  8568. // err := req.Send()
  8569. // if err == nil { // resp is now filled
  8570. // fmt.Println(resp)
  8571. // }
  8572. //
  8573. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImages
  8574. func (c *EC2) DescribeFpgaImagesRequest(input *DescribeFpgaImagesInput) (req *request.Request, output *DescribeFpgaImagesOutput) {
  8575. op := &request.Operation{
  8576. Name: opDescribeFpgaImages,
  8577. HTTPMethod: "POST",
  8578. HTTPPath: "/",
  8579. }
  8580. if input == nil {
  8581. input = &DescribeFpgaImagesInput{}
  8582. }
  8583. output = &DescribeFpgaImagesOutput{}
  8584. req = c.newRequest(op, input, output)
  8585. return
  8586. }
  8587. // DescribeFpgaImages API operation for Amazon Elastic Compute Cloud.
  8588. //
  8589. // Describes one or more available Amazon FPGA Images (AFIs). These include
  8590. // public AFIs, private AFIs that you own, and AFIs owned by other AWS accounts
  8591. // for which you have load permissions.
  8592. //
  8593. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8594. // with awserr.Error's Code and Message methods to get detailed information about
  8595. // the error.
  8596. //
  8597. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8598. // API operation DescribeFpgaImages for usage and error information.
  8599. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImages
  8600. func (c *EC2) DescribeFpgaImages(input *DescribeFpgaImagesInput) (*DescribeFpgaImagesOutput, error) {
  8601. req, out := c.DescribeFpgaImagesRequest(input)
  8602. return out, req.Send()
  8603. }
  8604. // DescribeFpgaImagesWithContext is the same as DescribeFpgaImages with the addition of
  8605. // the ability to pass a context and additional request options.
  8606. //
  8607. // See DescribeFpgaImages for details on how to use this API operation.
  8608. //
  8609. // The context must be non-nil and will be used for request cancellation. If
  8610. // the context is nil a panic will occur. In the future the SDK may create
  8611. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8612. // for more information on using Contexts.
  8613. func (c *EC2) DescribeFpgaImagesWithContext(ctx aws.Context, input *DescribeFpgaImagesInput, opts ...request.Option) (*DescribeFpgaImagesOutput, error) {
  8614. req, out := c.DescribeFpgaImagesRequest(input)
  8615. req.SetContext(ctx)
  8616. req.ApplyOptions(opts...)
  8617. return out, req.Send()
  8618. }
  8619. const opDescribeHostReservationOfferings = "DescribeHostReservationOfferings"
  8620. // DescribeHostReservationOfferingsRequest generates a "aws/request.Request" representing the
  8621. // client's request for the DescribeHostReservationOfferings operation. The "output" return
  8622. // value will be populated with the request's response once the request complets
  8623. // successfuly.
  8624. //
  8625. // Use "Send" method on the returned Request to send the API call to the service.
  8626. // the "output" return value is not valid until after Send returns without error.
  8627. //
  8628. // See DescribeHostReservationOfferings for more information on using the DescribeHostReservationOfferings
  8629. // API call, and error handling.
  8630. //
  8631. // This method is useful when you want to inject custom logic or configuration
  8632. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8633. //
  8634. //
  8635. // // Example sending a request using the DescribeHostReservationOfferingsRequest method.
  8636. // req, resp := client.DescribeHostReservationOfferingsRequest(params)
  8637. //
  8638. // err := req.Send()
  8639. // if err == nil { // resp is now filled
  8640. // fmt.Println(resp)
  8641. // }
  8642. //
  8643. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationOfferings
  8644. func (c *EC2) DescribeHostReservationOfferingsRequest(input *DescribeHostReservationOfferingsInput) (req *request.Request, output *DescribeHostReservationOfferingsOutput) {
  8645. op := &request.Operation{
  8646. Name: opDescribeHostReservationOfferings,
  8647. HTTPMethod: "POST",
  8648. HTTPPath: "/",
  8649. }
  8650. if input == nil {
  8651. input = &DescribeHostReservationOfferingsInput{}
  8652. }
  8653. output = &DescribeHostReservationOfferingsOutput{}
  8654. req = c.newRequest(op, input, output)
  8655. return
  8656. }
  8657. // DescribeHostReservationOfferings API operation for Amazon Elastic Compute Cloud.
  8658. //
  8659. // Describes the Dedicated Host Reservations that are available to purchase.
  8660. //
  8661. // The results describe all the Dedicated Host Reservation offerings, including
  8662. // offerings that may not match the instance family and region of your Dedicated
  8663. // Hosts. When purchasing an offering, ensure that the the instance family and
  8664. // region of the offering matches that of the Dedicated Host/s it will be associated
  8665. // with. For an overview of supported instance types, see Dedicated Hosts Overview
  8666. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-overview.html)
  8667. // in the Amazon Elastic Compute Cloud User Guide.
  8668. //
  8669. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8670. // with awserr.Error's Code and Message methods to get detailed information about
  8671. // the error.
  8672. //
  8673. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8674. // API operation DescribeHostReservationOfferings for usage and error information.
  8675. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationOfferings
  8676. func (c *EC2) DescribeHostReservationOfferings(input *DescribeHostReservationOfferingsInput) (*DescribeHostReservationOfferingsOutput, error) {
  8677. req, out := c.DescribeHostReservationOfferingsRequest(input)
  8678. return out, req.Send()
  8679. }
  8680. // DescribeHostReservationOfferingsWithContext is the same as DescribeHostReservationOfferings with the addition of
  8681. // the ability to pass a context and additional request options.
  8682. //
  8683. // See DescribeHostReservationOfferings for details on how to use this API operation.
  8684. //
  8685. // The context must be non-nil and will be used for request cancellation. If
  8686. // the context is nil a panic will occur. In the future the SDK may create
  8687. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8688. // for more information on using Contexts.
  8689. func (c *EC2) DescribeHostReservationOfferingsWithContext(ctx aws.Context, input *DescribeHostReservationOfferingsInput, opts ...request.Option) (*DescribeHostReservationOfferingsOutput, error) {
  8690. req, out := c.DescribeHostReservationOfferingsRequest(input)
  8691. req.SetContext(ctx)
  8692. req.ApplyOptions(opts...)
  8693. return out, req.Send()
  8694. }
  8695. const opDescribeHostReservations = "DescribeHostReservations"
  8696. // DescribeHostReservationsRequest generates a "aws/request.Request" representing the
  8697. // client's request for the DescribeHostReservations operation. The "output" return
  8698. // value will be populated with the request's response once the request complets
  8699. // successfuly.
  8700. //
  8701. // Use "Send" method on the returned Request to send the API call to the service.
  8702. // the "output" return value is not valid until after Send returns without error.
  8703. //
  8704. // See DescribeHostReservations for more information on using the DescribeHostReservations
  8705. // API call, and error handling.
  8706. //
  8707. // This method is useful when you want to inject custom logic or configuration
  8708. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8709. //
  8710. //
  8711. // // Example sending a request using the DescribeHostReservationsRequest method.
  8712. // req, resp := client.DescribeHostReservationsRequest(params)
  8713. //
  8714. // err := req.Send()
  8715. // if err == nil { // resp is now filled
  8716. // fmt.Println(resp)
  8717. // }
  8718. //
  8719. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservations
  8720. func (c *EC2) DescribeHostReservationsRequest(input *DescribeHostReservationsInput) (req *request.Request, output *DescribeHostReservationsOutput) {
  8721. op := &request.Operation{
  8722. Name: opDescribeHostReservations,
  8723. HTTPMethod: "POST",
  8724. HTTPPath: "/",
  8725. }
  8726. if input == nil {
  8727. input = &DescribeHostReservationsInput{}
  8728. }
  8729. output = &DescribeHostReservationsOutput{}
  8730. req = c.newRequest(op, input, output)
  8731. return
  8732. }
  8733. // DescribeHostReservations API operation for Amazon Elastic Compute Cloud.
  8734. //
  8735. // Describes Dedicated Host Reservations which are associated with Dedicated
  8736. // Hosts in your account.
  8737. //
  8738. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8739. // with awserr.Error's Code and Message methods to get detailed information about
  8740. // the error.
  8741. //
  8742. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8743. // API operation DescribeHostReservations for usage and error information.
  8744. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservations
  8745. func (c *EC2) DescribeHostReservations(input *DescribeHostReservationsInput) (*DescribeHostReservationsOutput, error) {
  8746. req, out := c.DescribeHostReservationsRequest(input)
  8747. return out, req.Send()
  8748. }
  8749. // DescribeHostReservationsWithContext is the same as DescribeHostReservations with the addition of
  8750. // the ability to pass a context and additional request options.
  8751. //
  8752. // See DescribeHostReservations for details on how to use this API operation.
  8753. //
  8754. // The context must be non-nil and will be used for request cancellation. If
  8755. // the context is nil a panic will occur. In the future the SDK may create
  8756. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8757. // for more information on using Contexts.
  8758. func (c *EC2) DescribeHostReservationsWithContext(ctx aws.Context, input *DescribeHostReservationsInput, opts ...request.Option) (*DescribeHostReservationsOutput, error) {
  8759. req, out := c.DescribeHostReservationsRequest(input)
  8760. req.SetContext(ctx)
  8761. req.ApplyOptions(opts...)
  8762. return out, req.Send()
  8763. }
  8764. const opDescribeHosts = "DescribeHosts"
  8765. // DescribeHostsRequest generates a "aws/request.Request" representing the
  8766. // client's request for the DescribeHosts operation. The "output" return
  8767. // value will be populated with the request's response once the request complets
  8768. // successfuly.
  8769. //
  8770. // Use "Send" method on the returned Request to send the API call to the service.
  8771. // the "output" return value is not valid until after Send returns without error.
  8772. //
  8773. // See DescribeHosts for more information on using the DescribeHosts
  8774. // API call, and error handling.
  8775. //
  8776. // This method is useful when you want to inject custom logic or configuration
  8777. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8778. //
  8779. //
  8780. // // Example sending a request using the DescribeHostsRequest method.
  8781. // req, resp := client.DescribeHostsRequest(params)
  8782. //
  8783. // err := req.Send()
  8784. // if err == nil { // resp is now filled
  8785. // fmt.Println(resp)
  8786. // }
  8787. //
  8788. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHosts
  8789. func (c *EC2) DescribeHostsRequest(input *DescribeHostsInput) (req *request.Request, output *DescribeHostsOutput) {
  8790. op := &request.Operation{
  8791. Name: opDescribeHosts,
  8792. HTTPMethod: "POST",
  8793. HTTPPath: "/",
  8794. }
  8795. if input == nil {
  8796. input = &DescribeHostsInput{}
  8797. }
  8798. output = &DescribeHostsOutput{}
  8799. req = c.newRequest(op, input, output)
  8800. return
  8801. }
  8802. // DescribeHosts API operation for Amazon Elastic Compute Cloud.
  8803. //
  8804. // Describes one or more of your Dedicated Hosts.
  8805. //
  8806. // The results describe only the Dedicated Hosts in the region you're currently
  8807. // using. All listed instances consume capacity on your Dedicated Host. Dedicated
  8808. // Hosts that have recently been released will be listed with the state released.
  8809. //
  8810. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8811. // with awserr.Error's Code and Message methods to get detailed information about
  8812. // the error.
  8813. //
  8814. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8815. // API operation DescribeHosts for usage and error information.
  8816. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHosts
  8817. func (c *EC2) DescribeHosts(input *DescribeHostsInput) (*DescribeHostsOutput, error) {
  8818. req, out := c.DescribeHostsRequest(input)
  8819. return out, req.Send()
  8820. }
  8821. // DescribeHostsWithContext is the same as DescribeHosts with the addition of
  8822. // the ability to pass a context and additional request options.
  8823. //
  8824. // See DescribeHosts for details on how to use this API operation.
  8825. //
  8826. // The context must be non-nil and will be used for request cancellation. If
  8827. // the context is nil a panic will occur. In the future the SDK may create
  8828. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8829. // for more information on using Contexts.
  8830. func (c *EC2) DescribeHostsWithContext(ctx aws.Context, input *DescribeHostsInput, opts ...request.Option) (*DescribeHostsOutput, error) {
  8831. req, out := c.DescribeHostsRequest(input)
  8832. req.SetContext(ctx)
  8833. req.ApplyOptions(opts...)
  8834. return out, req.Send()
  8835. }
  8836. const opDescribeIamInstanceProfileAssociations = "DescribeIamInstanceProfileAssociations"
  8837. // DescribeIamInstanceProfileAssociationsRequest generates a "aws/request.Request" representing the
  8838. // client's request for the DescribeIamInstanceProfileAssociations operation. The "output" return
  8839. // value will be populated with the request's response once the request complets
  8840. // successfuly.
  8841. //
  8842. // Use "Send" method on the returned Request to send the API call to the service.
  8843. // the "output" return value is not valid until after Send returns without error.
  8844. //
  8845. // See DescribeIamInstanceProfileAssociations for more information on using the DescribeIamInstanceProfileAssociations
  8846. // API call, and error handling.
  8847. //
  8848. // This method is useful when you want to inject custom logic or configuration
  8849. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8850. //
  8851. //
  8852. // // Example sending a request using the DescribeIamInstanceProfileAssociationsRequest method.
  8853. // req, resp := client.DescribeIamInstanceProfileAssociationsRequest(params)
  8854. //
  8855. // err := req.Send()
  8856. // if err == nil { // resp is now filled
  8857. // fmt.Println(resp)
  8858. // }
  8859. //
  8860. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIamInstanceProfileAssociations
  8861. func (c *EC2) DescribeIamInstanceProfileAssociationsRequest(input *DescribeIamInstanceProfileAssociationsInput) (req *request.Request, output *DescribeIamInstanceProfileAssociationsOutput) {
  8862. op := &request.Operation{
  8863. Name: opDescribeIamInstanceProfileAssociations,
  8864. HTTPMethod: "POST",
  8865. HTTPPath: "/",
  8866. }
  8867. if input == nil {
  8868. input = &DescribeIamInstanceProfileAssociationsInput{}
  8869. }
  8870. output = &DescribeIamInstanceProfileAssociationsOutput{}
  8871. req = c.newRequest(op, input, output)
  8872. return
  8873. }
  8874. // DescribeIamInstanceProfileAssociations API operation for Amazon Elastic Compute Cloud.
  8875. //
  8876. // Describes your IAM instance profile associations.
  8877. //
  8878. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8879. // with awserr.Error's Code and Message methods to get detailed information about
  8880. // the error.
  8881. //
  8882. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8883. // API operation DescribeIamInstanceProfileAssociations for usage and error information.
  8884. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIamInstanceProfileAssociations
  8885. func (c *EC2) DescribeIamInstanceProfileAssociations(input *DescribeIamInstanceProfileAssociationsInput) (*DescribeIamInstanceProfileAssociationsOutput, error) {
  8886. req, out := c.DescribeIamInstanceProfileAssociationsRequest(input)
  8887. return out, req.Send()
  8888. }
  8889. // DescribeIamInstanceProfileAssociationsWithContext is the same as DescribeIamInstanceProfileAssociations with the addition of
  8890. // the ability to pass a context and additional request options.
  8891. //
  8892. // See DescribeIamInstanceProfileAssociations for details on how to use this API operation.
  8893. //
  8894. // The context must be non-nil and will be used for request cancellation. If
  8895. // the context is nil a panic will occur. In the future the SDK may create
  8896. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8897. // for more information on using Contexts.
  8898. func (c *EC2) DescribeIamInstanceProfileAssociationsWithContext(ctx aws.Context, input *DescribeIamInstanceProfileAssociationsInput, opts ...request.Option) (*DescribeIamInstanceProfileAssociationsOutput, error) {
  8899. req, out := c.DescribeIamInstanceProfileAssociationsRequest(input)
  8900. req.SetContext(ctx)
  8901. req.ApplyOptions(opts...)
  8902. return out, req.Send()
  8903. }
  8904. const opDescribeIdFormat = "DescribeIdFormat"
  8905. // DescribeIdFormatRequest generates a "aws/request.Request" representing the
  8906. // client's request for the DescribeIdFormat operation. The "output" return
  8907. // value will be populated with the request's response once the request complets
  8908. // successfuly.
  8909. //
  8910. // Use "Send" method on the returned Request to send the API call to the service.
  8911. // the "output" return value is not valid until after Send returns without error.
  8912. //
  8913. // See DescribeIdFormat for more information on using the DescribeIdFormat
  8914. // API call, and error handling.
  8915. //
  8916. // This method is useful when you want to inject custom logic or configuration
  8917. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8918. //
  8919. //
  8920. // // Example sending a request using the DescribeIdFormatRequest method.
  8921. // req, resp := client.DescribeIdFormatRequest(params)
  8922. //
  8923. // err := req.Send()
  8924. // if err == nil { // resp is now filled
  8925. // fmt.Println(resp)
  8926. // }
  8927. //
  8928. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdFormat
  8929. func (c *EC2) DescribeIdFormatRequest(input *DescribeIdFormatInput) (req *request.Request, output *DescribeIdFormatOutput) {
  8930. op := &request.Operation{
  8931. Name: opDescribeIdFormat,
  8932. HTTPMethod: "POST",
  8933. HTTPPath: "/",
  8934. }
  8935. if input == nil {
  8936. input = &DescribeIdFormatInput{}
  8937. }
  8938. output = &DescribeIdFormatOutput{}
  8939. req = c.newRequest(op, input, output)
  8940. return
  8941. }
  8942. // DescribeIdFormat API operation for Amazon Elastic Compute Cloud.
  8943. //
  8944. // Describes the ID format settings for your resources on a per-region basis,
  8945. // for example, to view which resource types are enabled for longer IDs. This
  8946. // request only returns information about resource types whose ID formats can
  8947. // be modified; it does not return information about other resource types.
  8948. //
  8949. // The following resource types support longer IDs: instance | reservation |
  8950. // snapshot | volume.
  8951. //
  8952. // These settings apply to the IAM user who makes the request; they do not apply
  8953. // to the entire AWS account. By default, an IAM user defaults to the same settings
  8954. // as the root user, unless they explicitly override the settings by running
  8955. // the ModifyIdFormat command. Resources created with longer IDs are visible
  8956. // to all IAM users, regardless of these settings and provided that they have
  8957. // permission to use the relevant Describe command for the resource type.
  8958. //
  8959. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8960. // with awserr.Error's Code and Message methods to get detailed information about
  8961. // the error.
  8962. //
  8963. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8964. // API operation DescribeIdFormat for usage and error information.
  8965. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdFormat
  8966. func (c *EC2) DescribeIdFormat(input *DescribeIdFormatInput) (*DescribeIdFormatOutput, error) {
  8967. req, out := c.DescribeIdFormatRequest(input)
  8968. return out, req.Send()
  8969. }
  8970. // DescribeIdFormatWithContext is the same as DescribeIdFormat with the addition of
  8971. // the ability to pass a context and additional request options.
  8972. //
  8973. // See DescribeIdFormat for details on how to use this API operation.
  8974. //
  8975. // The context must be non-nil and will be used for request cancellation. If
  8976. // the context is nil a panic will occur. In the future the SDK may create
  8977. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8978. // for more information on using Contexts.
  8979. func (c *EC2) DescribeIdFormatWithContext(ctx aws.Context, input *DescribeIdFormatInput, opts ...request.Option) (*DescribeIdFormatOutput, error) {
  8980. req, out := c.DescribeIdFormatRequest(input)
  8981. req.SetContext(ctx)
  8982. req.ApplyOptions(opts...)
  8983. return out, req.Send()
  8984. }
  8985. const opDescribeIdentityIdFormat = "DescribeIdentityIdFormat"
  8986. // DescribeIdentityIdFormatRequest generates a "aws/request.Request" representing the
  8987. // client's request for the DescribeIdentityIdFormat operation. The "output" return
  8988. // value will be populated with the request's response once the request complets
  8989. // successfuly.
  8990. //
  8991. // Use "Send" method on the returned Request to send the API call to the service.
  8992. // the "output" return value is not valid until after Send returns without error.
  8993. //
  8994. // See DescribeIdentityIdFormat for more information on using the DescribeIdentityIdFormat
  8995. // API call, and error handling.
  8996. //
  8997. // This method is useful when you want to inject custom logic or configuration
  8998. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8999. //
  9000. //
  9001. // // Example sending a request using the DescribeIdentityIdFormatRequest method.
  9002. // req, resp := client.DescribeIdentityIdFormatRequest(params)
  9003. //
  9004. // err := req.Send()
  9005. // if err == nil { // resp is now filled
  9006. // fmt.Println(resp)
  9007. // }
  9008. //
  9009. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdentityIdFormat
  9010. func (c *EC2) DescribeIdentityIdFormatRequest(input *DescribeIdentityIdFormatInput) (req *request.Request, output *DescribeIdentityIdFormatOutput) {
  9011. op := &request.Operation{
  9012. Name: opDescribeIdentityIdFormat,
  9013. HTTPMethod: "POST",
  9014. HTTPPath: "/",
  9015. }
  9016. if input == nil {
  9017. input = &DescribeIdentityIdFormatInput{}
  9018. }
  9019. output = &DescribeIdentityIdFormatOutput{}
  9020. req = c.newRequest(op, input, output)
  9021. return
  9022. }
  9023. // DescribeIdentityIdFormat API operation for Amazon Elastic Compute Cloud.
  9024. //
  9025. // Describes the ID format settings for resources for the specified IAM user,
  9026. // IAM role, or root user. For example, you can view the resource types that
  9027. // are enabled for longer IDs. This request only returns information about resource
  9028. // types whose ID formats can be modified; it does not return information about
  9029. // other resource types. For more information, see Resource IDs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html)
  9030. // in the Amazon Elastic Compute Cloud User Guide.
  9031. //
  9032. // The following resource types support longer IDs: instance | reservation |
  9033. // snapshot | volume.
  9034. //
  9035. // These settings apply to the principal specified in the request. They do not
  9036. // apply to the principal that makes the request.
  9037. //
  9038. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9039. // with awserr.Error's Code and Message methods to get detailed information about
  9040. // the error.
  9041. //
  9042. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9043. // API operation DescribeIdentityIdFormat for usage and error information.
  9044. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdentityIdFormat
  9045. func (c *EC2) DescribeIdentityIdFormat(input *DescribeIdentityIdFormatInput) (*DescribeIdentityIdFormatOutput, error) {
  9046. req, out := c.DescribeIdentityIdFormatRequest(input)
  9047. return out, req.Send()
  9048. }
  9049. // DescribeIdentityIdFormatWithContext is the same as DescribeIdentityIdFormat with the addition of
  9050. // the ability to pass a context and additional request options.
  9051. //
  9052. // See DescribeIdentityIdFormat for details on how to use this API operation.
  9053. //
  9054. // The context must be non-nil and will be used for request cancellation. If
  9055. // the context is nil a panic will occur. In the future the SDK may create
  9056. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9057. // for more information on using Contexts.
  9058. func (c *EC2) DescribeIdentityIdFormatWithContext(ctx aws.Context, input *DescribeIdentityIdFormatInput, opts ...request.Option) (*DescribeIdentityIdFormatOutput, error) {
  9059. req, out := c.DescribeIdentityIdFormatRequest(input)
  9060. req.SetContext(ctx)
  9061. req.ApplyOptions(opts...)
  9062. return out, req.Send()
  9063. }
  9064. const opDescribeImageAttribute = "DescribeImageAttribute"
  9065. // DescribeImageAttributeRequest generates a "aws/request.Request" representing the
  9066. // client's request for the DescribeImageAttribute operation. The "output" return
  9067. // value will be populated with the request's response once the request complets
  9068. // successfuly.
  9069. //
  9070. // Use "Send" method on the returned Request to send the API call to the service.
  9071. // the "output" return value is not valid until after Send returns without error.
  9072. //
  9073. // See DescribeImageAttribute for more information on using the DescribeImageAttribute
  9074. // API call, and error handling.
  9075. //
  9076. // This method is useful when you want to inject custom logic or configuration
  9077. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9078. //
  9079. //
  9080. // // Example sending a request using the DescribeImageAttributeRequest method.
  9081. // req, resp := client.DescribeImageAttributeRequest(params)
  9082. //
  9083. // err := req.Send()
  9084. // if err == nil { // resp is now filled
  9085. // fmt.Println(resp)
  9086. // }
  9087. //
  9088. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImageAttribute
  9089. func (c *EC2) DescribeImageAttributeRequest(input *DescribeImageAttributeInput) (req *request.Request, output *DescribeImageAttributeOutput) {
  9090. op := &request.Operation{
  9091. Name: opDescribeImageAttribute,
  9092. HTTPMethod: "POST",
  9093. HTTPPath: "/",
  9094. }
  9095. if input == nil {
  9096. input = &DescribeImageAttributeInput{}
  9097. }
  9098. output = &DescribeImageAttributeOutput{}
  9099. req = c.newRequest(op, input, output)
  9100. return
  9101. }
  9102. // DescribeImageAttribute API operation for Amazon Elastic Compute Cloud.
  9103. //
  9104. // Describes the specified attribute of the specified AMI. You can specify only
  9105. // one attribute at a time.
  9106. //
  9107. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9108. // with awserr.Error's Code and Message methods to get detailed information about
  9109. // the error.
  9110. //
  9111. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9112. // API operation DescribeImageAttribute for usage and error information.
  9113. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImageAttribute
  9114. func (c *EC2) DescribeImageAttribute(input *DescribeImageAttributeInput) (*DescribeImageAttributeOutput, error) {
  9115. req, out := c.DescribeImageAttributeRequest(input)
  9116. return out, req.Send()
  9117. }
  9118. // DescribeImageAttributeWithContext is the same as DescribeImageAttribute with the addition of
  9119. // the ability to pass a context and additional request options.
  9120. //
  9121. // See DescribeImageAttribute for details on how to use this API operation.
  9122. //
  9123. // The context must be non-nil and will be used for request cancellation. If
  9124. // the context is nil a panic will occur. In the future the SDK may create
  9125. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9126. // for more information on using Contexts.
  9127. func (c *EC2) DescribeImageAttributeWithContext(ctx aws.Context, input *DescribeImageAttributeInput, opts ...request.Option) (*DescribeImageAttributeOutput, error) {
  9128. req, out := c.DescribeImageAttributeRequest(input)
  9129. req.SetContext(ctx)
  9130. req.ApplyOptions(opts...)
  9131. return out, req.Send()
  9132. }
  9133. const opDescribeImages = "DescribeImages"
  9134. // DescribeImagesRequest generates a "aws/request.Request" representing the
  9135. // client's request for the DescribeImages operation. The "output" return
  9136. // value will be populated with the request's response once the request complets
  9137. // successfuly.
  9138. //
  9139. // Use "Send" method on the returned Request to send the API call to the service.
  9140. // the "output" return value is not valid until after Send returns without error.
  9141. //
  9142. // See DescribeImages for more information on using the DescribeImages
  9143. // API call, and error handling.
  9144. //
  9145. // This method is useful when you want to inject custom logic or configuration
  9146. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9147. //
  9148. //
  9149. // // Example sending a request using the DescribeImagesRequest method.
  9150. // req, resp := client.DescribeImagesRequest(params)
  9151. //
  9152. // err := req.Send()
  9153. // if err == nil { // resp is now filled
  9154. // fmt.Println(resp)
  9155. // }
  9156. //
  9157. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImages
  9158. func (c *EC2) DescribeImagesRequest(input *DescribeImagesInput) (req *request.Request, output *DescribeImagesOutput) {
  9159. op := &request.Operation{
  9160. Name: opDescribeImages,
  9161. HTTPMethod: "POST",
  9162. HTTPPath: "/",
  9163. }
  9164. if input == nil {
  9165. input = &DescribeImagesInput{}
  9166. }
  9167. output = &DescribeImagesOutput{}
  9168. req = c.newRequest(op, input, output)
  9169. return
  9170. }
  9171. // DescribeImages API operation for Amazon Elastic Compute Cloud.
  9172. //
  9173. // Describes one or more of the images (AMIs, AKIs, and ARIs) available to you.
  9174. // Images available to you include public images, private images that you own,
  9175. // and private images owned by other AWS accounts but for which you have explicit
  9176. // launch permissions.
  9177. //
  9178. // Deregistered images are included in the returned results for an unspecified
  9179. // interval after deregistration.
  9180. //
  9181. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9182. // with awserr.Error's Code and Message methods to get detailed information about
  9183. // the error.
  9184. //
  9185. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9186. // API operation DescribeImages for usage and error information.
  9187. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImages
  9188. func (c *EC2) DescribeImages(input *DescribeImagesInput) (*DescribeImagesOutput, error) {
  9189. req, out := c.DescribeImagesRequest(input)
  9190. return out, req.Send()
  9191. }
  9192. // DescribeImagesWithContext is the same as DescribeImages with the addition of
  9193. // the ability to pass a context and additional request options.
  9194. //
  9195. // See DescribeImages for details on how to use this API operation.
  9196. //
  9197. // The context must be non-nil and will be used for request cancellation. If
  9198. // the context is nil a panic will occur. In the future the SDK may create
  9199. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9200. // for more information on using Contexts.
  9201. func (c *EC2) DescribeImagesWithContext(ctx aws.Context, input *DescribeImagesInput, opts ...request.Option) (*DescribeImagesOutput, error) {
  9202. req, out := c.DescribeImagesRequest(input)
  9203. req.SetContext(ctx)
  9204. req.ApplyOptions(opts...)
  9205. return out, req.Send()
  9206. }
  9207. const opDescribeImportImageTasks = "DescribeImportImageTasks"
  9208. // DescribeImportImageTasksRequest generates a "aws/request.Request" representing the
  9209. // client's request for the DescribeImportImageTasks operation. The "output" return
  9210. // value will be populated with the request's response once the request complets
  9211. // successfuly.
  9212. //
  9213. // Use "Send" method on the returned Request to send the API call to the service.
  9214. // the "output" return value is not valid until after Send returns without error.
  9215. //
  9216. // See DescribeImportImageTasks for more information on using the DescribeImportImageTasks
  9217. // API call, and error handling.
  9218. //
  9219. // This method is useful when you want to inject custom logic or configuration
  9220. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9221. //
  9222. //
  9223. // // Example sending a request using the DescribeImportImageTasksRequest method.
  9224. // req, resp := client.DescribeImportImageTasksRequest(params)
  9225. //
  9226. // err := req.Send()
  9227. // if err == nil { // resp is now filled
  9228. // fmt.Println(resp)
  9229. // }
  9230. //
  9231. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportImageTasks
  9232. func (c *EC2) DescribeImportImageTasksRequest(input *DescribeImportImageTasksInput) (req *request.Request, output *DescribeImportImageTasksOutput) {
  9233. op := &request.Operation{
  9234. Name: opDescribeImportImageTasks,
  9235. HTTPMethod: "POST",
  9236. HTTPPath: "/",
  9237. }
  9238. if input == nil {
  9239. input = &DescribeImportImageTasksInput{}
  9240. }
  9241. output = &DescribeImportImageTasksOutput{}
  9242. req = c.newRequest(op, input, output)
  9243. return
  9244. }
  9245. // DescribeImportImageTasks API operation for Amazon Elastic Compute Cloud.
  9246. //
  9247. // Displays details about an import virtual machine or import snapshot tasks
  9248. // that are already created.
  9249. //
  9250. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9251. // with awserr.Error's Code and Message methods to get detailed information about
  9252. // the error.
  9253. //
  9254. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9255. // API operation DescribeImportImageTasks for usage and error information.
  9256. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportImageTasks
  9257. func (c *EC2) DescribeImportImageTasks(input *DescribeImportImageTasksInput) (*DescribeImportImageTasksOutput, error) {
  9258. req, out := c.DescribeImportImageTasksRequest(input)
  9259. return out, req.Send()
  9260. }
  9261. // DescribeImportImageTasksWithContext is the same as DescribeImportImageTasks with the addition of
  9262. // the ability to pass a context and additional request options.
  9263. //
  9264. // See DescribeImportImageTasks for details on how to use this API operation.
  9265. //
  9266. // The context must be non-nil and will be used for request cancellation. If
  9267. // the context is nil a panic will occur. In the future the SDK may create
  9268. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9269. // for more information on using Contexts.
  9270. func (c *EC2) DescribeImportImageTasksWithContext(ctx aws.Context, input *DescribeImportImageTasksInput, opts ...request.Option) (*DescribeImportImageTasksOutput, error) {
  9271. req, out := c.DescribeImportImageTasksRequest(input)
  9272. req.SetContext(ctx)
  9273. req.ApplyOptions(opts...)
  9274. return out, req.Send()
  9275. }
  9276. const opDescribeImportSnapshotTasks = "DescribeImportSnapshotTasks"
  9277. // DescribeImportSnapshotTasksRequest generates a "aws/request.Request" representing the
  9278. // client's request for the DescribeImportSnapshotTasks operation. The "output" return
  9279. // value will be populated with the request's response once the request complets
  9280. // successfuly.
  9281. //
  9282. // Use "Send" method on the returned Request to send the API call to the service.
  9283. // the "output" return value is not valid until after Send returns without error.
  9284. //
  9285. // See DescribeImportSnapshotTasks for more information on using the DescribeImportSnapshotTasks
  9286. // API call, and error handling.
  9287. //
  9288. // This method is useful when you want to inject custom logic or configuration
  9289. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9290. //
  9291. //
  9292. // // Example sending a request using the DescribeImportSnapshotTasksRequest method.
  9293. // req, resp := client.DescribeImportSnapshotTasksRequest(params)
  9294. //
  9295. // err := req.Send()
  9296. // if err == nil { // resp is now filled
  9297. // fmt.Println(resp)
  9298. // }
  9299. //
  9300. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportSnapshotTasks
  9301. func (c *EC2) DescribeImportSnapshotTasksRequest(input *DescribeImportSnapshotTasksInput) (req *request.Request, output *DescribeImportSnapshotTasksOutput) {
  9302. op := &request.Operation{
  9303. Name: opDescribeImportSnapshotTasks,
  9304. HTTPMethod: "POST",
  9305. HTTPPath: "/",
  9306. }
  9307. if input == nil {
  9308. input = &DescribeImportSnapshotTasksInput{}
  9309. }
  9310. output = &DescribeImportSnapshotTasksOutput{}
  9311. req = c.newRequest(op, input, output)
  9312. return
  9313. }
  9314. // DescribeImportSnapshotTasks API operation for Amazon Elastic Compute Cloud.
  9315. //
  9316. // Describes your import snapshot tasks.
  9317. //
  9318. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9319. // with awserr.Error's Code and Message methods to get detailed information about
  9320. // the error.
  9321. //
  9322. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9323. // API operation DescribeImportSnapshotTasks for usage and error information.
  9324. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportSnapshotTasks
  9325. func (c *EC2) DescribeImportSnapshotTasks(input *DescribeImportSnapshotTasksInput) (*DescribeImportSnapshotTasksOutput, error) {
  9326. req, out := c.DescribeImportSnapshotTasksRequest(input)
  9327. return out, req.Send()
  9328. }
  9329. // DescribeImportSnapshotTasksWithContext is the same as DescribeImportSnapshotTasks with the addition of
  9330. // the ability to pass a context and additional request options.
  9331. //
  9332. // See DescribeImportSnapshotTasks for details on how to use this API operation.
  9333. //
  9334. // The context must be non-nil and will be used for request cancellation. If
  9335. // the context is nil a panic will occur. In the future the SDK may create
  9336. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9337. // for more information on using Contexts.
  9338. func (c *EC2) DescribeImportSnapshotTasksWithContext(ctx aws.Context, input *DescribeImportSnapshotTasksInput, opts ...request.Option) (*DescribeImportSnapshotTasksOutput, error) {
  9339. req, out := c.DescribeImportSnapshotTasksRequest(input)
  9340. req.SetContext(ctx)
  9341. req.ApplyOptions(opts...)
  9342. return out, req.Send()
  9343. }
  9344. const opDescribeInstanceAttribute = "DescribeInstanceAttribute"
  9345. // DescribeInstanceAttributeRequest generates a "aws/request.Request" representing the
  9346. // client's request for the DescribeInstanceAttribute operation. The "output" return
  9347. // value will be populated with the request's response once the request complets
  9348. // successfuly.
  9349. //
  9350. // Use "Send" method on the returned Request to send the API call to the service.
  9351. // the "output" return value is not valid until after Send returns without error.
  9352. //
  9353. // See DescribeInstanceAttribute for more information on using the DescribeInstanceAttribute
  9354. // API call, and error handling.
  9355. //
  9356. // This method is useful when you want to inject custom logic or configuration
  9357. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9358. //
  9359. //
  9360. // // Example sending a request using the DescribeInstanceAttributeRequest method.
  9361. // req, resp := client.DescribeInstanceAttributeRequest(params)
  9362. //
  9363. // err := req.Send()
  9364. // if err == nil { // resp is now filled
  9365. // fmt.Println(resp)
  9366. // }
  9367. //
  9368. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceAttribute
  9369. func (c *EC2) DescribeInstanceAttributeRequest(input *DescribeInstanceAttributeInput) (req *request.Request, output *DescribeInstanceAttributeOutput) {
  9370. op := &request.Operation{
  9371. Name: opDescribeInstanceAttribute,
  9372. HTTPMethod: "POST",
  9373. HTTPPath: "/",
  9374. }
  9375. if input == nil {
  9376. input = &DescribeInstanceAttributeInput{}
  9377. }
  9378. output = &DescribeInstanceAttributeOutput{}
  9379. req = c.newRequest(op, input, output)
  9380. return
  9381. }
  9382. // DescribeInstanceAttribute API operation for Amazon Elastic Compute Cloud.
  9383. //
  9384. // Describes the specified attribute of the specified instance. You can specify
  9385. // only one attribute at a time. Valid attribute values are: instanceType |
  9386. // kernel | ramdisk | userData | disableApiTermination | instanceInitiatedShutdownBehavior
  9387. // | rootDeviceName | blockDeviceMapping | productCodes | sourceDestCheck |
  9388. // groupSet | ebsOptimized | sriovNetSupport
  9389. //
  9390. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9391. // with awserr.Error's Code and Message methods to get detailed information about
  9392. // the error.
  9393. //
  9394. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9395. // API operation DescribeInstanceAttribute for usage and error information.
  9396. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceAttribute
  9397. func (c *EC2) DescribeInstanceAttribute(input *DescribeInstanceAttributeInput) (*DescribeInstanceAttributeOutput, error) {
  9398. req, out := c.DescribeInstanceAttributeRequest(input)
  9399. return out, req.Send()
  9400. }
  9401. // DescribeInstanceAttributeWithContext is the same as DescribeInstanceAttribute with the addition of
  9402. // the ability to pass a context and additional request options.
  9403. //
  9404. // See DescribeInstanceAttribute for details on how to use this API operation.
  9405. //
  9406. // The context must be non-nil and will be used for request cancellation. If
  9407. // the context is nil a panic will occur. In the future the SDK may create
  9408. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9409. // for more information on using Contexts.
  9410. func (c *EC2) DescribeInstanceAttributeWithContext(ctx aws.Context, input *DescribeInstanceAttributeInput, opts ...request.Option) (*DescribeInstanceAttributeOutput, error) {
  9411. req, out := c.DescribeInstanceAttributeRequest(input)
  9412. req.SetContext(ctx)
  9413. req.ApplyOptions(opts...)
  9414. return out, req.Send()
  9415. }
  9416. const opDescribeInstanceCreditSpecifications = "DescribeInstanceCreditSpecifications"
  9417. // DescribeInstanceCreditSpecificationsRequest generates a "aws/request.Request" representing the
  9418. // client's request for the DescribeInstanceCreditSpecifications operation. The "output" return
  9419. // value will be populated with the request's response once the request complets
  9420. // successfuly.
  9421. //
  9422. // Use "Send" method on the returned Request to send the API call to the service.
  9423. // the "output" return value is not valid until after Send returns without error.
  9424. //
  9425. // See DescribeInstanceCreditSpecifications for more information on using the DescribeInstanceCreditSpecifications
  9426. // API call, and error handling.
  9427. //
  9428. // This method is useful when you want to inject custom logic or configuration
  9429. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9430. //
  9431. //
  9432. // // Example sending a request using the DescribeInstanceCreditSpecificationsRequest method.
  9433. // req, resp := client.DescribeInstanceCreditSpecificationsRequest(params)
  9434. //
  9435. // err := req.Send()
  9436. // if err == nil { // resp is now filled
  9437. // fmt.Println(resp)
  9438. // }
  9439. //
  9440. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceCreditSpecifications
  9441. func (c *EC2) DescribeInstanceCreditSpecificationsRequest(input *DescribeInstanceCreditSpecificationsInput) (req *request.Request, output *DescribeInstanceCreditSpecificationsOutput) {
  9442. op := &request.Operation{
  9443. Name: opDescribeInstanceCreditSpecifications,
  9444. HTTPMethod: "POST",
  9445. HTTPPath: "/",
  9446. }
  9447. if input == nil {
  9448. input = &DescribeInstanceCreditSpecificationsInput{}
  9449. }
  9450. output = &DescribeInstanceCreditSpecificationsOutput{}
  9451. req = c.newRequest(op, input, output)
  9452. return
  9453. }
  9454. // DescribeInstanceCreditSpecifications API operation for Amazon Elastic Compute Cloud.
  9455. //
  9456. // Describes the credit option for CPU usage of one or more of your T2 instances.
  9457. // The credit options are standard and unlimited.
  9458. //
  9459. // If you do not specify an instance ID, Amazon EC2 returns only the T2 instances
  9460. // with the unlimited credit option. If you specify one or more instance IDs,
  9461. // Amazon EC2 returns the credit option (standard or unlimited) of those instances.
  9462. // If you specify an instance ID that is not valid, such as an instance that
  9463. // is not a T2 instance, an error is returned.
  9464. //
  9465. // Recently terminated instances might appear in the returned results. This
  9466. // interval is usually less than one hour.
  9467. //
  9468. // If an Availability Zone is experiencing a service disruption and you specify
  9469. // instance IDs in the affected zone, or do not specify any instance IDs at
  9470. // all, the call fails. If you specify only instance IDs in an unaffected zone,
  9471. // the call works normally.
  9472. //
  9473. // For more information, see T2 Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/t2-instances.html)
  9474. // in the Amazon Elastic Compute Cloud User Guide.
  9475. //
  9476. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9477. // with awserr.Error's Code and Message methods to get detailed information about
  9478. // the error.
  9479. //
  9480. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9481. // API operation DescribeInstanceCreditSpecifications for usage and error information.
  9482. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceCreditSpecifications
  9483. func (c *EC2) DescribeInstanceCreditSpecifications(input *DescribeInstanceCreditSpecificationsInput) (*DescribeInstanceCreditSpecificationsOutput, error) {
  9484. req, out := c.DescribeInstanceCreditSpecificationsRequest(input)
  9485. return out, req.Send()
  9486. }
  9487. // DescribeInstanceCreditSpecificationsWithContext is the same as DescribeInstanceCreditSpecifications with the addition of
  9488. // the ability to pass a context and additional request options.
  9489. //
  9490. // See DescribeInstanceCreditSpecifications for details on how to use this API operation.
  9491. //
  9492. // The context must be non-nil and will be used for request cancellation. If
  9493. // the context is nil a panic will occur. In the future the SDK may create
  9494. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9495. // for more information on using Contexts.
  9496. func (c *EC2) DescribeInstanceCreditSpecificationsWithContext(ctx aws.Context, input *DescribeInstanceCreditSpecificationsInput, opts ...request.Option) (*DescribeInstanceCreditSpecificationsOutput, error) {
  9497. req, out := c.DescribeInstanceCreditSpecificationsRequest(input)
  9498. req.SetContext(ctx)
  9499. req.ApplyOptions(opts...)
  9500. return out, req.Send()
  9501. }
  9502. const opDescribeInstanceStatus = "DescribeInstanceStatus"
  9503. // DescribeInstanceStatusRequest generates a "aws/request.Request" representing the
  9504. // client's request for the DescribeInstanceStatus operation. The "output" return
  9505. // value will be populated with the request's response once the request complets
  9506. // successfuly.
  9507. //
  9508. // Use "Send" method on the returned Request to send the API call to the service.
  9509. // the "output" return value is not valid until after Send returns without error.
  9510. //
  9511. // See DescribeInstanceStatus for more information on using the DescribeInstanceStatus
  9512. // API call, and error handling.
  9513. //
  9514. // This method is useful when you want to inject custom logic or configuration
  9515. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9516. //
  9517. //
  9518. // // Example sending a request using the DescribeInstanceStatusRequest method.
  9519. // req, resp := client.DescribeInstanceStatusRequest(params)
  9520. //
  9521. // err := req.Send()
  9522. // if err == nil { // resp is now filled
  9523. // fmt.Println(resp)
  9524. // }
  9525. //
  9526. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceStatus
  9527. func (c *EC2) DescribeInstanceStatusRequest(input *DescribeInstanceStatusInput) (req *request.Request, output *DescribeInstanceStatusOutput) {
  9528. op := &request.Operation{
  9529. Name: opDescribeInstanceStatus,
  9530. HTTPMethod: "POST",
  9531. HTTPPath: "/",
  9532. Paginator: &request.Paginator{
  9533. InputTokens: []string{"NextToken"},
  9534. OutputTokens: []string{"NextToken"},
  9535. LimitToken: "MaxResults",
  9536. TruncationToken: "",
  9537. },
  9538. }
  9539. if input == nil {
  9540. input = &DescribeInstanceStatusInput{}
  9541. }
  9542. output = &DescribeInstanceStatusOutput{}
  9543. req = c.newRequest(op, input, output)
  9544. return
  9545. }
  9546. // DescribeInstanceStatus API operation for Amazon Elastic Compute Cloud.
  9547. //
  9548. // Describes the status of one or more instances. By default, only running instances
  9549. // are described, unless you specifically indicate to return the status of all
  9550. // instances.
  9551. //
  9552. // Instance status includes the following components:
  9553. //
  9554. // * Status checks - Amazon EC2 performs status checks on running EC2 instances
  9555. // to identify hardware and software issues. For more information, see Status
  9556. // Checks for Your Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-system-instance-status-check.html)
  9557. // and Troubleshooting Instances with Failed Status Checks (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstances.html)
  9558. // in the Amazon Elastic Compute Cloud User Guide.
  9559. //
  9560. // * Scheduled events - Amazon EC2 can schedule events (such as reboot, stop,
  9561. // or terminate) for your instances related to hardware issues, software
  9562. // updates, or system maintenance. For more information, see Scheduled Events
  9563. // for Your Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-instances-status-check_sched.html)
  9564. // in the Amazon Elastic Compute Cloud User Guide.
  9565. //
  9566. // * Instance state - You can manage your instances from the moment you launch
  9567. // them through their termination. For more information, see Instance Lifecycle
  9568. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
  9569. // in the Amazon Elastic Compute Cloud User Guide.
  9570. //
  9571. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9572. // with awserr.Error's Code and Message methods to get detailed information about
  9573. // the error.
  9574. //
  9575. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9576. // API operation DescribeInstanceStatus for usage and error information.
  9577. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceStatus
  9578. func (c *EC2) DescribeInstanceStatus(input *DescribeInstanceStatusInput) (*DescribeInstanceStatusOutput, error) {
  9579. req, out := c.DescribeInstanceStatusRequest(input)
  9580. return out, req.Send()
  9581. }
  9582. // DescribeInstanceStatusWithContext is the same as DescribeInstanceStatus with the addition of
  9583. // the ability to pass a context and additional request options.
  9584. //
  9585. // See DescribeInstanceStatus for details on how to use this API operation.
  9586. //
  9587. // The context must be non-nil and will be used for request cancellation. If
  9588. // the context is nil a panic will occur. In the future the SDK may create
  9589. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9590. // for more information on using Contexts.
  9591. func (c *EC2) DescribeInstanceStatusWithContext(ctx aws.Context, input *DescribeInstanceStatusInput, opts ...request.Option) (*DescribeInstanceStatusOutput, error) {
  9592. req, out := c.DescribeInstanceStatusRequest(input)
  9593. req.SetContext(ctx)
  9594. req.ApplyOptions(opts...)
  9595. return out, req.Send()
  9596. }
  9597. // DescribeInstanceStatusPages iterates over the pages of a DescribeInstanceStatus operation,
  9598. // calling the "fn" function with the response data for each page. To stop
  9599. // iterating, return false from the fn function.
  9600. //
  9601. // See DescribeInstanceStatus method for more information on how to use this operation.
  9602. //
  9603. // Note: This operation can generate multiple requests to a service.
  9604. //
  9605. // // Example iterating over at most 3 pages of a DescribeInstanceStatus operation.
  9606. // pageNum := 0
  9607. // err := client.DescribeInstanceStatusPages(params,
  9608. // func(page *DescribeInstanceStatusOutput, lastPage bool) bool {
  9609. // pageNum++
  9610. // fmt.Println(page)
  9611. // return pageNum <= 3
  9612. // })
  9613. //
  9614. func (c *EC2) DescribeInstanceStatusPages(input *DescribeInstanceStatusInput, fn func(*DescribeInstanceStatusOutput, bool) bool) error {
  9615. return c.DescribeInstanceStatusPagesWithContext(aws.BackgroundContext(), input, fn)
  9616. }
  9617. // DescribeInstanceStatusPagesWithContext same as DescribeInstanceStatusPages except
  9618. // it takes a Context and allows setting request options on the pages.
  9619. //
  9620. // The context must be non-nil and will be used for request cancellation. If
  9621. // the context is nil a panic will occur. In the future the SDK may create
  9622. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9623. // for more information on using Contexts.
  9624. func (c *EC2) DescribeInstanceStatusPagesWithContext(ctx aws.Context, input *DescribeInstanceStatusInput, fn func(*DescribeInstanceStatusOutput, bool) bool, opts ...request.Option) error {
  9625. p := request.Pagination{
  9626. NewRequest: func() (*request.Request, error) {
  9627. var inCpy *DescribeInstanceStatusInput
  9628. if input != nil {
  9629. tmp := *input
  9630. inCpy = &tmp
  9631. }
  9632. req, _ := c.DescribeInstanceStatusRequest(inCpy)
  9633. req.SetContext(ctx)
  9634. req.ApplyOptions(opts...)
  9635. return req, nil
  9636. },
  9637. }
  9638. cont := true
  9639. for p.Next() && cont {
  9640. cont = fn(p.Page().(*DescribeInstanceStatusOutput), !p.HasNextPage())
  9641. }
  9642. return p.Err()
  9643. }
  9644. const opDescribeInstances = "DescribeInstances"
  9645. // DescribeInstancesRequest generates a "aws/request.Request" representing the
  9646. // client's request for the DescribeInstances operation. The "output" return
  9647. // value will be populated with the request's response once the request complets
  9648. // successfuly.
  9649. //
  9650. // Use "Send" method on the returned Request to send the API call to the service.
  9651. // the "output" return value is not valid until after Send returns without error.
  9652. //
  9653. // See DescribeInstances for more information on using the DescribeInstances
  9654. // API call, and error handling.
  9655. //
  9656. // This method is useful when you want to inject custom logic or configuration
  9657. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9658. //
  9659. //
  9660. // // Example sending a request using the DescribeInstancesRequest method.
  9661. // req, resp := client.DescribeInstancesRequest(params)
  9662. //
  9663. // err := req.Send()
  9664. // if err == nil { // resp is now filled
  9665. // fmt.Println(resp)
  9666. // }
  9667. //
  9668. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstances
  9669. func (c *EC2) DescribeInstancesRequest(input *DescribeInstancesInput) (req *request.Request, output *DescribeInstancesOutput) {
  9670. op := &request.Operation{
  9671. Name: opDescribeInstances,
  9672. HTTPMethod: "POST",
  9673. HTTPPath: "/",
  9674. Paginator: &request.Paginator{
  9675. InputTokens: []string{"NextToken"},
  9676. OutputTokens: []string{"NextToken"},
  9677. LimitToken: "MaxResults",
  9678. TruncationToken: "",
  9679. },
  9680. }
  9681. if input == nil {
  9682. input = &DescribeInstancesInput{}
  9683. }
  9684. output = &DescribeInstancesOutput{}
  9685. req = c.newRequest(op, input, output)
  9686. return
  9687. }
  9688. // DescribeInstances API operation for Amazon Elastic Compute Cloud.
  9689. //
  9690. // Describes one or more of your instances.
  9691. //
  9692. // If you specify one or more instance IDs, Amazon EC2 returns information for
  9693. // those instances. If you do not specify instance IDs, Amazon EC2 returns information
  9694. // for all relevant instances. If you specify an instance ID that is not valid,
  9695. // an error is returned. If you specify an instance that you do not own, it
  9696. // is not included in the returned results.
  9697. //
  9698. // Recently terminated instances might appear in the returned results. This
  9699. // interval is usually less than one hour.
  9700. //
  9701. // If you describe instances in the rare case where an Availability Zone is
  9702. // experiencing a service disruption and you specify instance IDs that are in
  9703. // the affected zone, or do not specify any instance IDs at all, the call fails.
  9704. // If you describe instances and specify only instance IDs that are in an unaffected
  9705. // zone, the call works normally.
  9706. //
  9707. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9708. // with awserr.Error's Code and Message methods to get detailed information about
  9709. // the error.
  9710. //
  9711. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9712. // API operation DescribeInstances for usage and error information.
  9713. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstances
  9714. func (c *EC2) DescribeInstances(input *DescribeInstancesInput) (*DescribeInstancesOutput, error) {
  9715. req, out := c.DescribeInstancesRequest(input)
  9716. return out, req.Send()
  9717. }
  9718. // DescribeInstancesWithContext is the same as DescribeInstances with the addition of
  9719. // the ability to pass a context and additional request options.
  9720. //
  9721. // See DescribeInstances for details on how to use this API operation.
  9722. //
  9723. // The context must be non-nil and will be used for request cancellation. If
  9724. // the context is nil a panic will occur. In the future the SDK may create
  9725. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9726. // for more information on using Contexts.
  9727. func (c *EC2) DescribeInstancesWithContext(ctx aws.Context, input *DescribeInstancesInput, opts ...request.Option) (*DescribeInstancesOutput, error) {
  9728. req, out := c.DescribeInstancesRequest(input)
  9729. req.SetContext(ctx)
  9730. req.ApplyOptions(opts...)
  9731. return out, req.Send()
  9732. }
  9733. // DescribeInstancesPages iterates over the pages of a DescribeInstances operation,
  9734. // calling the "fn" function with the response data for each page. To stop
  9735. // iterating, return false from the fn function.
  9736. //
  9737. // See DescribeInstances method for more information on how to use this operation.
  9738. //
  9739. // Note: This operation can generate multiple requests to a service.
  9740. //
  9741. // // Example iterating over at most 3 pages of a DescribeInstances operation.
  9742. // pageNum := 0
  9743. // err := client.DescribeInstancesPages(params,
  9744. // func(page *DescribeInstancesOutput, lastPage bool) bool {
  9745. // pageNum++
  9746. // fmt.Println(page)
  9747. // return pageNum <= 3
  9748. // })
  9749. //
  9750. func (c *EC2) DescribeInstancesPages(input *DescribeInstancesInput, fn func(*DescribeInstancesOutput, bool) bool) error {
  9751. return c.DescribeInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
  9752. }
  9753. // DescribeInstancesPagesWithContext same as DescribeInstancesPages except
  9754. // it takes a Context and allows setting request options on the pages.
  9755. //
  9756. // The context must be non-nil and will be used for request cancellation. If
  9757. // the context is nil a panic will occur. In the future the SDK may create
  9758. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9759. // for more information on using Contexts.
  9760. func (c *EC2) DescribeInstancesPagesWithContext(ctx aws.Context, input *DescribeInstancesInput, fn func(*DescribeInstancesOutput, bool) bool, opts ...request.Option) error {
  9761. p := request.Pagination{
  9762. NewRequest: func() (*request.Request, error) {
  9763. var inCpy *DescribeInstancesInput
  9764. if input != nil {
  9765. tmp := *input
  9766. inCpy = &tmp
  9767. }
  9768. req, _ := c.DescribeInstancesRequest(inCpy)
  9769. req.SetContext(ctx)
  9770. req.ApplyOptions(opts...)
  9771. return req, nil
  9772. },
  9773. }
  9774. cont := true
  9775. for p.Next() && cont {
  9776. cont = fn(p.Page().(*DescribeInstancesOutput), !p.HasNextPage())
  9777. }
  9778. return p.Err()
  9779. }
  9780. const opDescribeInternetGateways = "DescribeInternetGateways"
  9781. // DescribeInternetGatewaysRequest generates a "aws/request.Request" representing the
  9782. // client's request for the DescribeInternetGateways operation. The "output" return
  9783. // value will be populated with the request's response once the request complets
  9784. // successfuly.
  9785. //
  9786. // Use "Send" method on the returned Request to send the API call to the service.
  9787. // the "output" return value is not valid until after Send returns without error.
  9788. //
  9789. // See DescribeInternetGateways for more information on using the DescribeInternetGateways
  9790. // API call, and error handling.
  9791. //
  9792. // This method is useful when you want to inject custom logic or configuration
  9793. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9794. //
  9795. //
  9796. // // Example sending a request using the DescribeInternetGatewaysRequest method.
  9797. // req, resp := client.DescribeInternetGatewaysRequest(params)
  9798. //
  9799. // err := req.Send()
  9800. // if err == nil { // resp is now filled
  9801. // fmt.Println(resp)
  9802. // }
  9803. //
  9804. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInternetGateways
  9805. func (c *EC2) DescribeInternetGatewaysRequest(input *DescribeInternetGatewaysInput) (req *request.Request, output *DescribeInternetGatewaysOutput) {
  9806. op := &request.Operation{
  9807. Name: opDescribeInternetGateways,
  9808. HTTPMethod: "POST",
  9809. HTTPPath: "/",
  9810. }
  9811. if input == nil {
  9812. input = &DescribeInternetGatewaysInput{}
  9813. }
  9814. output = &DescribeInternetGatewaysOutput{}
  9815. req = c.newRequest(op, input, output)
  9816. return
  9817. }
  9818. // DescribeInternetGateways API operation for Amazon Elastic Compute Cloud.
  9819. //
  9820. // Describes one or more of your Internet gateways.
  9821. //
  9822. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9823. // with awserr.Error's Code and Message methods to get detailed information about
  9824. // the error.
  9825. //
  9826. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9827. // API operation DescribeInternetGateways for usage and error information.
  9828. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInternetGateways
  9829. func (c *EC2) DescribeInternetGateways(input *DescribeInternetGatewaysInput) (*DescribeInternetGatewaysOutput, error) {
  9830. req, out := c.DescribeInternetGatewaysRequest(input)
  9831. return out, req.Send()
  9832. }
  9833. // DescribeInternetGatewaysWithContext is the same as DescribeInternetGateways with the addition of
  9834. // the ability to pass a context and additional request options.
  9835. //
  9836. // See DescribeInternetGateways for details on how to use this API operation.
  9837. //
  9838. // The context must be non-nil and will be used for request cancellation. If
  9839. // the context is nil a panic will occur. In the future the SDK may create
  9840. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9841. // for more information on using Contexts.
  9842. func (c *EC2) DescribeInternetGatewaysWithContext(ctx aws.Context, input *DescribeInternetGatewaysInput, opts ...request.Option) (*DescribeInternetGatewaysOutput, error) {
  9843. req, out := c.DescribeInternetGatewaysRequest(input)
  9844. req.SetContext(ctx)
  9845. req.ApplyOptions(opts...)
  9846. return out, req.Send()
  9847. }
  9848. const opDescribeKeyPairs = "DescribeKeyPairs"
  9849. // DescribeKeyPairsRequest generates a "aws/request.Request" representing the
  9850. // client's request for the DescribeKeyPairs operation. The "output" return
  9851. // value will be populated with the request's response once the request complets
  9852. // successfuly.
  9853. //
  9854. // Use "Send" method on the returned Request to send the API call to the service.
  9855. // the "output" return value is not valid until after Send returns without error.
  9856. //
  9857. // See DescribeKeyPairs for more information on using the DescribeKeyPairs
  9858. // API call, and error handling.
  9859. //
  9860. // This method is useful when you want to inject custom logic or configuration
  9861. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9862. //
  9863. //
  9864. // // Example sending a request using the DescribeKeyPairsRequest method.
  9865. // req, resp := client.DescribeKeyPairsRequest(params)
  9866. //
  9867. // err := req.Send()
  9868. // if err == nil { // resp is now filled
  9869. // fmt.Println(resp)
  9870. // }
  9871. //
  9872. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeKeyPairs
  9873. func (c *EC2) DescribeKeyPairsRequest(input *DescribeKeyPairsInput) (req *request.Request, output *DescribeKeyPairsOutput) {
  9874. op := &request.Operation{
  9875. Name: opDescribeKeyPairs,
  9876. HTTPMethod: "POST",
  9877. HTTPPath: "/",
  9878. }
  9879. if input == nil {
  9880. input = &DescribeKeyPairsInput{}
  9881. }
  9882. output = &DescribeKeyPairsOutput{}
  9883. req = c.newRequest(op, input, output)
  9884. return
  9885. }
  9886. // DescribeKeyPairs API operation for Amazon Elastic Compute Cloud.
  9887. //
  9888. // Describes one or more of your key pairs.
  9889. //
  9890. // For more information about key pairs, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
  9891. // in the Amazon Elastic Compute Cloud User Guide.
  9892. //
  9893. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9894. // with awserr.Error's Code and Message methods to get detailed information about
  9895. // the error.
  9896. //
  9897. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9898. // API operation DescribeKeyPairs for usage and error information.
  9899. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeKeyPairs
  9900. func (c *EC2) DescribeKeyPairs(input *DescribeKeyPairsInput) (*DescribeKeyPairsOutput, error) {
  9901. req, out := c.DescribeKeyPairsRequest(input)
  9902. return out, req.Send()
  9903. }
  9904. // DescribeKeyPairsWithContext is the same as DescribeKeyPairs with the addition of
  9905. // the ability to pass a context and additional request options.
  9906. //
  9907. // See DescribeKeyPairs for details on how to use this API operation.
  9908. //
  9909. // The context must be non-nil and will be used for request cancellation. If
  9910. // the context is nil a panic will occur. In the future the SDK may create
  9911. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9912. // for more information on using Contexts.
  9913. func (c *EC2) DescribeKeyPairsWithContext(ctx aws.Context, input *DescribeKeyPairsInput, opts ...request.Option) (*DescribeKeyPairsOutput, error) {
  9914. req, out := c.DescribeKeyPairsRequest(input)
  9915. req.SetContext(ctx)
  9916. req.ApplyOptions(opts...)
  9917. return out, req.Send()
  9918. }
  9919. const opDescribeLaunchTemplateVersions = "DescribeLaunchTemplateVersions"
  9920. // DescribeLaunchTemplateVersionsRequest generates a "aws/request.Request" representing the
  9921. // client's request for the DescribeLaunchTemplateVersions operation. The "output" return
  9922. // value will be populated with the request's response once the request complets
  9923. // successfuly.
  9924. //
  9925. // Use "Send" method on the returned Request to send the API call to the service.
  9926. // the "output" return value is not valid until after Send returns without error.
  9927. //
  9928. // See DescribeLaunchTemplateVersions for more information on using the DescribeLaunchTemplateVersions
  9929. // API call, and error handling.
  9930. //
  9931. // This method is useful when you want to inject custom logic or configuration
  9932. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9933. //
  9934. //
  9935. // // Example sending a request using the DescribeLaunchTemplateVersionsRequest method.
  9936. // req, resp := client.DescribeLaunchTemplateVersionsRequest(params)
  9937. //
  9938. // err := req.Send()
  9939. // if err == nil { // resp is now filled
  9940. // fmt.Println(resp)
  9941. // }
  9942. //
  9943. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplateVersions
  9944. func (c *EC2) DescribeLaunchTemplateVersionsRequest(input *DescribeLaunchTemplateVersionsInput) (req *request.Request, output *DescribeLaunchTemplateVersionsOutput) {
  9945. op := &request.Operation{
  9946. Name: opDescribeLaunchTemplateVersions,
  9947. HTTPMethod: "POST",
  9948. HTTPPath: "/",
  9949. }
  9950. if input == nil {
  9951. input = &DescribeLaunchTemplateVersionsInput{}
  9952. }
  9953. output = &DescribeLaunchTemplateVersionsOutput{}
  9954. req = c.newRequest(op, input, output)
  9955. return
  9956. }
  9957. // DescribeLaunchTemplateVersions API operation for Amazon Elastic Compute Cloud.
  9958. //
  9959. // Describes one or more versions of a specified launch template. You can describe
  9960. // all versions, individual versions, or a range of versions.
  9961. //
  9962. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9963. // with awserr.Error's Code and Message methods to get detailed information about
  9964. // the error.
  9965. //
  9966. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9967. // API operation DescribeLaunchTemplateVersions for usage and error information.
  9968. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplateVersions
  9969. func (c *EC2) DescribeLaunchTemplateVersions(input *DescribeLaunchTemplateVersionsInput) (*DescribeLaunchTemplateVersionsOutput, error) {
  9970. req, out := c.DescribeLaunchTemplateVersionsRequest(input)
  9971. return out, req.Send()
  9972. }
  9973. // DescribeLaunchTemplateVersionsWithContext is the same as DescribeLaunchTemplateVersions with the addition of
  9974. // the ability to pass a context and additional request options.
  9975. //
  9976. // See DescribeLaunchTemplateVersions for details on how to use this API operation.
  9977. //
  9978. // The context must be non-nil and will be used for request cancellation. If
  9979. // the context is nil a panic will occur. In the future the SDK may create
  9980. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9981. // for more information on using Contexts.
  9982. func (c *EC2) DescribeLaunchTemplateVersionsWithContext(ctx aws.Context, input *DescribeLaunchTemplateVersionsInput, opts ...request.Option) (*DescribeLaunchTemplateVersionsOutput, error) {
  9983. req, out := c.DescribeLaunchTemplateVersionsRequest(input)
  9984. req.SetContext(ctx)
  9985. req.ApplyOptions(opts...)
  9986. return out, req.Send()
  9987. }
  9988. const opDescribeLaunchTemplates = "DescribeLaunchTemplates"
  9989. // DescribeLaunchTemplatesRequest generates a "aws/request.Request" representing the
  9990. // client's request for the DescribeLaunchTemplates operation. The "output" return
  9991. // value will be populated with the request's response once the request complets
  9992. // successfuly.
  9993. //
  9994. // Use "Send" method on the returned Request to send the API call to the service.
  9995. // the "output" return value is not valid until after Send returns without error.
  9996. //
  9997. // See DescribeLaunchTemplates for more information on using the DescribeLaunchTemplates
  9998. // API call, and error handling.
  9999. //
  10000. // This method is useful when you want to inject custom logic or configuration
  10001. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10002. //
  10003. //
  10004. // // Example sending a request using the DescribeLaunchTemplatesRequest method.
  10005. // req, resp := client.DescribeLaunchTemplatesRequest(params)
  10006. //
  10007. // err := req.Send()
  10008. // if err == nil { // resp is now filled
  10009. // fmt.Println(resp)
  10010. // }
  10011. //
  10012. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplates
  10013. func (c *EC2) DescribeLaunchTemplatesRequest(input *DescribeLaunchTemplatesInput) (req *request.Request, output *DescribeLaunchTemplatesOutput) {
  10014. op := &request.Operation{
  10015. Name: opDescribeLaunchTemplates,
  10016. HTTPMethod: "POST",
  10017. HTTPPath: "/",
  10018. }
  10019. if input == nil {
  10020. input = &DescribeLaunchTemplatesInput{}
  10021. }
  10022. output = &DescribeLaunchTemplatesOutput{}
  10023. req = c.newRequest(op, input, output)
  10024. return
  10025. }
  10026. // DescribeLaunchTemplates API operation for Amazon Elastic Compute Cloud.
  10027. //
  10028. // Describes one or more launch templates.
  10029. //
  10030. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10031. // with awserr.Error's Code and Message methods to get detailed information about
  10032. // the error.
  10033. //
  10034. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10035. // API operation DescribeLaunchTemplates for usage and error information.
  10036. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplates
  10037. func (c *EC2) DescribeLaunchTemplates(input *DescribeLaunchTemplatesInput) (*DescribeLaunchTemplatesOutput, error) {
  10038. req, out := c.DescribeLaunchTemplatesRequest(input)
  10039. return out, req.Send()
  10040. }
  10041. // DescribeLaunchTemplatesWithContext is the same as DescribeLaunchTemplates with the addition of
  10042. // the ability to pass a context and additional request options.
  10043. //
  10044. // See DescribeLaunchTemplates for details on how to use this API operation.
  10045. //
  10046. // The context must be non-nil and will be used for request cancellation. If
  10047. // the context is nil a panic will occur. In the future the SDK may create
  10048. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10049. // for more information on using Contexts.
  10050. func (c *EC2) DescribeLaunchTemplatesWithContext(ctx aws.Context, input *DescribeLaunchTemplatesInput, opts ...request.Option) (*DescribeLaunchTemplatesOutput, error) {
  10051. req, out := c.DescribeLaunchTemplatesRequest(input)
  10052. req.SetContext(ctx)
  10053. req.ApplyOptions(opts...)
  10054. return out, req.Send()
  10055. }
  10056. const opDescribeMovingAddresses = "DescribeMovingAddresses"
  10057. // DescribeMovingAddressesRequest generates a "aws/request.Request" representing the
  10058. // client's request for the DescribeMovingAddresses operation. The "output" return
  10059. // value will be populated with the request's response once the request complets
  10060. // successfuly.
  10061. //
  10062. // Use "Send" method on the returned Request to send the API call to the service.
  10063. // the "output" return value is not valid until after Send returns without error.
  10064. //
  10065. // See DescribeMovingAddresses for more information on using the DescribeMovingAddresses
  10066. // API call, and error handling.
  10067. //
  10068. // This method is useful when you want to inject custom logic or configuration
  10069. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10070. //
  10071. //
  10072. // // Example sending a request using the DescribeMovingAddressesRequest method.
  10073. // req, resp := client.DescribeMovingAddressesRequest(params)
  10074. //
  10075. // err := req.Send()
  10076. // if err == nil { // resp is now filled
  10077. // fmt.Println(resp)
  10078. // }
  10079. //
  10080. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeMovingAddresses
  10081. func (c *EC2) DescribeMovingAddressesRequest(input *DescribeMovingAddressesInput) (req *request.Request, output *DescribeMovingAddressesOutput) {
  10082. op := &request.Operation{
  10083. Name: opDescribeMovingAddresses,
  10084. HTTPMethod: "POST",
  10085. HTTPPath: "/",
  10086. }
  10087. if input == nil {
  10088. input = &DescribeMovingAddressesInput{}
  10089. }
  10090. output = &DescribeMovingAddressesOutput{}
  10091. req = c.newRequest(op, input, output)
  10092. return
  10093. }
  10094. // DescribeMovingAddresses API operation for Amazon Elastic Compute Cloud.
  10095. //
  10096. // Describes your Elastic IP addresses that are being moved to the EC2-VPC platform,
  10097. // or that are being restored to the EC2-Classic platform. This request does
  10098. // not return information about any other Elastic IP addresses in your account.
  10099. //
  10100. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10101. // with awserr.Error's Code and Message methods to get detailed information about
  10102. // the error.
  10103. //
  10104. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10105. // API operation DescribeMovingAddresses for usage and error information.
  10106. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeMovingAddresses
  10107. func (c *EC2) DescribeMovingAddresses(input *DescribeMovingAddressesInput) (*DescribeMovingAddressesOutput, error) {
  10108. req, out := c.DescribeMovingAddressesRequest(input)
  10109. return out, req.Send()
  10110. }
  10111. // DescribeMovingAddressesWithContext is the same as DescribeMovingAddresses with the addition of
  10112. // the ability to pass a context and additional request options.
  10113. //
  10114. // See DescribeMovingAddresses for details on how to use this API operation.
  10115. //
  10116. // The context must be non-nil and will be used for request cancellation. If
  10117. // the context is nil a panic will occur. In the future the SDK may create
  10118. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10119. // for more information on using Contexts.
  10120. func (c *EC2) DescribeMovingAddressesWithContext(ctx aws.Context, input *DescribeMovingAddressesInput, opts ...request.Option) (*DescribeMovingAddressesOutput, error) {
  10121. req, out := c.DescribeMovingAddressesRequest(input)
  10122. req.SetContext(ctx)
  10123. req.ApplyOptions(opts...)
  10124. return out, req.Send()
  10125. }
  10126. const opDescribeNatGateways = "DescribeNatGateways"
  10127. // DescribeNatGatewaysRequest generates a "aws/request.Request" representing the
  10128. // client's request for the DescribeNatGateways operation. The "output" return
  10129. // value will be populated with the request's response once the request complets
  10130. // successfuly.
  10131. //
  10132. // Use "Send" method on the returned Request to send the API call to the service.
  10133. // the "output" return value is not valid until after Send returns without error.
  10134. //
  10135. // See DescribeNatGateways for more information on using the DescribeNatGateways
  10136. // API call, and error handling.
  10137. //
  10138. // This method is useful when you want to inject custom logic or configuration
  10139. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10140. //
  10141. //
  10142. // // Example sending a request using the DescribeNatGatewaysRequest method.
  10143. // req, resp := client.DescribeNatGatewaysRequest(params)
  10144. //
  10145. // err := req.Send()
  10146. // if err == nil { // resp is now filled
  10147. // fmt.Println(resp)
  10148. // }
  10149. //
  10150. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNatGateways
  10151. func (c *EC2) DescribeNatGatewaysRequest(input *DescribeNatGatewaysInput) (req *request.Request, output *DescribeNatGatewaysOutput) {
  10152. op := &request.Operation{
  10153. Name: opDescribeNatGateways,
  10154. HTTPMethod: "POST",
  10155. HTTPPath: "/",
  10156. Paginator: &request.Paginator{
  10157. InputTokens: []string{"NextToken"},
  10158. OutputTokens: []string{"NextToken"},
  10159. LimitToken: "MaxResults",
  10160. TruncationToken: "",
  10161. },
  10162. }
  10163. if input == nil {
  10164. input = &DescribeNatGatewaysInput{}
  10165. }
  10166. output = &DescribeNatGatewaysOutput{}
  10167. req = c.newRequest(op, input, output)
  10168. return
  10169. }
  10170. // DescribeNatGateways API operation for Amazon Elastic Compute Cloud.
  10171. //
  10172. // Describes one or more of the your NAT gateways.
  10173. //
  10174. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10175. // with awserr.Error's Code and Message methods to get detailed information about
  10176. // the error.
  10177. //
  10178. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10179. // API operation DescribeNatGateways for usage and error information.
  10180. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNatGateways
  10181. func (c *EC2) DescribeNatGateways(input *DescribeNatGatewaysInput) (*DescribeNatGatewaysOutput, error) {
  10182. req, out := c.DescribeNatGatewaysRequest(input)
  10183. return out, req.Send()
  10184. }
  10185. // DescribeNatGatewaysWithContext is the same as DescribeNatGateways with the addition of
  10186. // the ability to pass a context and additional request options.
  10187. //
  10188. // See DescribeNatGateways for details on how to use this API operation.
  10189. //
  10190. // The context must be non-nil and will be used for request cancellation. If
  10191. // the context is nil a panic will occur. In the future the SDK may create
  10192. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10193. // for more information on using Contexts.
  10194. func (c *EC2) DescribeNatGatewaysWithContext(ctx aws.Context, input *DescribeNatGatewaysInput, opts ...request.Option) (*DescribeNatGatewaysOutput, error) {
  10195. req, out := c.DescribeNatGatewaysRequest(input)
  10196. req.SetContext(ctx)
  10197. req.ApplyOptions(opts...)
  10198. return out, req.Send()
  10199. }
  10200. // DescribeNatGatewaysPages iterates over the pages of a DescribeNatGateways operation,
  10201. // calling the "fn" function with the response data for each page. To stop
  10202. // iterating, return false from the fn function.
  10203. //
  10204. // See DescribeNatGateways method for more information on how to use this operation.
  10205. //
  10206. // Note: This operation can generate multiple requests to a service.
  10207. //
  10208. // // Example iterating over at most 3 pages of a DescribeNatGateways operation.
  10209. // pageNum := 0
  10210. // err := client.DescribeNatGatewaysPages(params,
  10211. // func(page *DescribeNatGatewaysOutput, lastPage bool) bool {
  10212. // pageNum++
  10213. // fmt.Println(page)
  10214. // return pageNum <= 3
  10215. // })
  10216. //
  10217. func (c *EC2) DescribeNatGatewaysPages(input *DescribeNatGatewaysInput, fn func(*DescribeNatGatewaysOutput, bool) bool) error {
  10218. return c.DescribeNatGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
  10219. }
  10220. // DescribeNatGatewaysPagesWithContext same as DescribeNatGatewaysPages except
  10221. // it takes a Context and allows setting request options on the pages.
  10222. //
  10223. // The context must be non-nil and will be used for request cancellation. If
  10224. // the context is nil a panic will occur. In the future the SDK may create
  10225. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10226. // for more information on using Contexts.
  10227. func (c *EC2) DescribeNatGatewaysPagesWithContext(ctx aws.Context, input *DescribeNatGatewaysInput, fn func(*DescribeNatGatewaysOutput, bool) bool, opts ...request.Option) error {
  10228. p := request.Pagination{
  10229. NewRequest: func() (*request.Request, error) {
  10230. var inCpy *DescribeNatGatewaysInput
  10231. if input != nil {
  10232. tmp := *input
  10233. inCpy = &tmp
  10234. }
  10235. req, _ := c.DescribeNatGatewaysRequest(inCpy)
  10236. req.SetContext(ctx)
  10237. req.ApplyOptions(opts...)
  10238. return req, nil
  10239. },
  10240. }
  10241. cont := true
  10242. for p.Next() && cont {
  10243. cont = fn(p.Page().(*DescribeNatGatewaysOutput), !p.HasNextPage())
  10244. }
  10245. return p.Err()
  10246. }
  10247. const opDescribeNetworkAcls = "DescribeNetworkAcls"
  10248. // DescribeNetworkAclsRequest generates a "aws/request.Request" representing the
  10249. // client's request for the DescribeNetworkAcls operation. The "output" return
  10250. // value will be populated with the request's response once the request complets
  10251. // successfuly.
  10252. //
  10253. // Use "Send" method on the returned Request to send the API call to the service.
  10254. // the "output" return value is not valid until after Send returns without error.
  10255. //
  10256. // See DescribeNetworkAcls for more information on using the DescribeNetworkAcls
  10257. // API call, and error handling.
  10258. //
  10259. // This method is useful when you want to inject custom logic or configuration
  10260. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10261. //
  10262. //
  10263. // // Example sending a request using the DescribeNetworkAclsRequest method.
  10264. // req, resp := client.DescribeNetworkAclsRequest(params)
  10265. //
  10266. // err := req.Send()
  10267. // if err == nil { // resp is now filled
  10268. // fmt.Println(resp)
  10269. // }
  10270. //
  10271. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkAcls
  10272. func (c *EC2) DescribeNetworkAclsRequest(input *DescribeNetworkAclsInput) (req *request.Request, output *DescribeNetworkAclsOutput) {
  10273. op := &request.Operation{
  10274. Name: opDescribeNetworkAcls,
  10275. HTTPMethod: "POST",
  10276. HTTPPath: "/",
  10277. }
  10278. if input == nil {
  10279. input = &DescribeNetworkAclsInput{}
  10280. }
  10281. output = &DescribeNetworkAclsOutput{}
  10282. req = c.newRequest(op, input, output)
  10283. return
  10284. }
  10285. // DescribeNetworkAcls API operation for Amazon Elastic Compute Cloud.
  10286. //
  10287. // Describes one or more of your network ACLs.
  10288. //
  10289. // For more information about network ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  10290. // in the Amazon Virtual Private Cloud User Guide.
  10291. //
  10292. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10293. // with awserr.Error's Code and Message methods to get detailed information about
  10294. // the error.
  10295. //
  10296. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10297. // API operation DescribeNetworkAcls for usage and error information.
  10298. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkAcls
  10299. func (c *EC2) DescribeNetworkAcls(input *DescribeNetworkAclsInput) (*DescribeNetworkAclsOutput, error) {
  10300. req, out := c.DescribeNetworkAclsRequest(input)
  10301. return out, req.Send()
  10302. }
  10303. // DescribeNetworkAclsWithContext is the same as DescribeNetworkAcls with the addition of
  10304. // the ability to pass a context and additional request options.
  10305. //
  10306. // See DescribeNetworkAcls for details on how to use this API operation.
  10307. //
  10308. // The context must be non-nil and will be used for request cancellation. If
  10309. // the context is nil a panic will occur. In the future the SDK may create
  10310. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10311. // for more information on using Contexts.
  10312. func (c *EC2) DescribeNetworkAclsWithContext(ctx aws.Context, input *DescribeNetworkAclsInput, opts ...request.Option) (*DescribeNetworkAclsOutput, error) {
  10313. req, out := c.DescribeNetworkAclsRequest(input)
  10314. req.SetContext(ctx)
  10315. req.ApplyOptions(opts...)
  10316. return out, req.Send()
  10317. }
  10318. const opDescribeNetworkInterfaceAttribute = "DescribeNetworkInterfaceAttribute"
  10319. // DescribeNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
  10320. // client's request for the DescribeNetworkInterfaceAttribute operation. The "output" return
  10321. // value will be populated with the request's response once the request complets
  10322. // successfuly.
  10323. //
  10324. // Use "Send" method on the returned Request to send the API call to the service.
  10325. // the "output" return value is not valid until after Send returns without error.
  10326. //
  10327. // See DescribeNetworkInterfaceAttribute for more information on using the DescribeNetworkInterfaceAttribute
  10328. // API call, and error handling.
  10329. //
  10330. // This method is useful when you want to inject custom logic or configuration
  10331. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10332. //
  10333. //
  10334. // // Example sending a request using the DescribeNetworkInterfaceAttributeRequest method.
  10335. // req, resp := client.DescribeNetworkInterfaceAttributeRequest(params)
  10336. //
  10337. // err := req.Send()
  10338. // if err == nil { // resp is now filled
  10339. // fmt.Println(resp)
  10340. // }
  10341. //
  10342. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaceAttribute
  10343. func (c *EC2) DescribeNetworkInterfaceAttributeRequest(input *DescribeNetworkInterfaceAttributeInput) (req *request.Request, output *DescribeNetworkInterfaceAttributeOutput) {
  10344. op := &request.Operation{
  10345. Name: opDescribeNetworkInterfaceAttribute,
  10346. HTTPMethod: "POST",
  10347. HTTPPath: "/",
  10348. }
  10349. if input == nil {
  10350. input = &DescribeNetworkInterfaceAttributeInput{}
  10351. }
  10352. output = &DescribeNetworkInterfaceAttributeOutput{}
  10353. req = c.newRequest(op, input, output)
  10354. return
  10355. }
  10356. // DescribeNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
  10357. //
  10358. // Describes a network interface attribute. You can specify only one attribute
  10359. // at a time.
  10360. //
  10361. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10362. // with awserr.Error's Code and Message methods to get detailed information about
  10363. // the error.
  10364. //
  10365. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10366. // API operation DescribeNetworkInterfaceAttribute for usage and error information.
  10367. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaceAttribute
  10368. func (c *EC2) DescribeNetworkInterfaceAttribute(input *DescribeNetworkInterfaceAttributeInput) (*DescribeNetworkInterfaceAttributeOutput, error) {
  10369. req, out := c.DescribeNetworkInterfaceAttributeRequest(input)
  10370. return out, req.Send()
  10371. }
  10372. // DescribeNetworkInterfaceAttributeWithContext is the same as DescribeNetworkInterfaceAttribute with the addition of
  10373. // the ability to pass a context and additional request options.
  10374. //
  10375. // See DescribeNetworkInterfaceAttribute for details on how to use this API operation.
  10376. //
  10377. // The context must be non-nil and will be used for request cancellation. If
  10378. // the context is nil a panic will occur. In the future the SDK may create
  10379. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10380. // for more information on using Contexts.
  10381. func (c *EC2) DescribeNetworkInterfaceAttributeWithContext(ctx aws.Context, input *DescribeNetworkInterfaceAttributeInput, opts ...request.Option) (*DescribeNetworkInterfaceAttributeOutput, error) {
  10382. req, out := c.DescribeNetworkInterfaceAttributeRequest(input)
  10383. req.SetContext(ctx)
  10384. req.ApplyOptions(opts...)
  10385. return out, req.Send()
  10386. }
  10387. const opDescribeNetworkInterfacePermissions = "DescribeNetworkInterfacePermissions"
  10388. // DescribeNetworkInterfacePermissionsRequest generates a "aws/request.Request" representing the
  10389. // client's request for the DescribeNetworkInterfacePermissions operation. The "output" return
  10390. // value will be populated with the request's response once the request complets
  10391. // successfuly.
  10392. //
  10393. // Use "Send" method on the returned Request to send the API call to the service.
  10394. // the "output" return value is not valid until after Send returns without error.
  10395. //
  10396. // See DescribeNetworkInterfacePermissions for more information on using the DescribeNetworkInterfacePermissions
  10397. // API call, and error handling.
  10398. //
  10399. // This method is useful when you want to inject custom logic or configuration
  10400. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10401. //
  10402. //
  10403. // // Example sending a request using the DescribeNetworkInterfacePermissionsRequest method.
  10404. // req, resp := client.DescribeNetworkInterfacePermissionsRequest(params)
  10405. //
  10406. // err := req.Send()
  10407. // if err == nil { // resp is now filled
  10408. // fmt.Println(resp)
  10409. // }
  10410. //
  10411. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacePermissions
  10412. func (c *EC2) DescribeNetworkInterfacePermissionsRequest(input *DescribeNetworkInterfacePermissionsInput) (req *request.Request, output *DescribeNetworkInterfacePermissionsOutput) {
  10413. op := &request.Operation{
  10414. Name: opDescribeNetworkInterfacePermissions,
  10415. HTTPMethod: "POST",
  10416. HTTPPath: "/",
  10417. }
  10418. if input == nil {
  10419. input = &DescribeNetworkInterfacePermissionsInput{}
  10420. }
  10421. output = &DescribeNetworkInterfacePermissionsOutput{}
  10422. req = c.newRequest(op, input, output)
  10423. return
  10424. }
  10425. // DescribeNetworkInterfacePermissions API operation for Amazon Elastic Compute Cloud.
  10426. //
  10427. // Describes the permissions for your network interfaces.
  10428. //
  10429. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10430. // with awserr.Error's Code and Message methods to get detailed information about
  10431. // the error.
  10432. //
  10433. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10434. // API operation DescribeNetworkInterfacePermissions for usage and error information.
  10435. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacePermissions
  10436. func (c *EC2) DescribeNetworkInterfacePermissions(input *DescribeNetworkInterfacePermissionsInput) (*DescribeNetworkInterfacePermissionsOutput, error) {
  10437. req, out := c.DescribeNetworkInterfacePermissionsRequest(input)
  10438. return out, req.Send()
  10439. }
  10440. // DescribeNetworkInterfacePermissionsWithContext is the same as DescribeNetworkInterfacePermissions with the addition of
  10441. // the ability to pass a context and additional request options.
  10442. //
  10443. // See DescribeNetworkInterfacePermissions for details on how to use this API operation.
  10444. //
  10445. // The context must be non-nil and will be used for request cancellation. If
  10446. // the context is nil a panic will occur. In the future the SDK may create
  10447. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10448. // for more information on using Contexts.
  10449. func (c *EC2) DescribeNetworkInterfacePermissionsWithContext(ctx aws.Context, input *DescribeNetworkInterfacePermissionsInput, opts ...request.Option) (*DescribeNetworkInterfacePermissionsOutput, error) {
  10450. req, out := c.DescribeNetworkInterfacePermissionsRequest(input)
  10451. req.SetContext(ctx)
  10452. req.ApplyOptions(opts...)
  10453. return out, req.Send()
  10454. }
  10455. const opDescribeNetworkInterfaces = "DescribeNetworkInterfaces"
  10456. // DescribeNetworkInterfacesRequest generates a "aws/request.Request" representing the
  10457. // client's request for the DescribeNetworkInterfaces operation. The "output" return
  10458. // value will be populated with the request's response once the request complets
  10459. // successfuly.
  10460. //
  10461. // Use "Send" method on the returned Request to send the API call to the service.
  10462. // the "output" return value is not valid until after Send returns without error.
  10463. //
  10464. // See DescribeNetworkInterfaces for more information on using the DescribeNetworkInterfaces
  10465. // API call, and error handling.
  10466. //
  10467. // This method is useful when you want to inject custom logic or configuration
  10468. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10469. //
  10470. //
  10471. // // Example sending a request using the DescribeNetworkInterfacesRequest method.
  10472. // req, resp := client.DescribeNetworkInterfacesRequest(params)
  10473. //
  10474. // err := req.Send()
  10475. // if err == nil { // resp is now filled
  10476. // fmt.Println(resp)
  10477. // }
  10478. //
  10479. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaces
  10480. func (c *EC2) DescribeNetworkInterfacesRequest(input *DescribeNetworkInterfacesInput) (req *request.Request, output *DescribeNetworkInterfacesOutput) {
  10481. op := &request.Operation{
  10482. Name: opDescribeNetworkInterfaces,
  10483. HTTPMethod: "POST",
  10484. HTTPPath: "/",
  10485. }
  10486. if input == nil {
  10487. input = &DescribeNetworkInterfacesInput{}
  10488. }
  10489. output = &DescribeNetworkInterfacesOutput{}
  10490. req = c.newRequest(op, input, output)
  10491. return
  10492. }
  10493. // DescribeNetworkInterfaces API operation for Amazon Elastic Compute Cloud.
  10494. //
  10495. // Describes one or more of your network interfaces.
  10496. //
  10497. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10498. // with awserr.Error's Code and Message methods to get detailed information about
  10499. // the error.
  10500. //
  10501. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10502. // API operation DescribeNetworkInterfaces for usage and error information.
  10503. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaces
  10504. func (c *EC2) DescribeNetworkInterfaces(input *DescribeNetworkInterfacesInput) (*DescribeNetworkInterfacesOutput, error) {
  10505. req, out := c.DescribeNetworkInterfacesRequest(input)
  10506. return out, req.Send()
  10507. }
  10508. // DescribeNetworkInterfacesWithContext is the same as DescribeNetworkInterfaces with the addition of
  10509. // the ability to pass a context and additional request options.
  10510. //
  10511. // See DescribeNetworkInterfaces for details on how to use this API operation.
  10512. //
  10513. // The context must be non-nil and will be used for request cancellation. If
  10514. // the context is nil a panic will occur. In the future the SDK may create
  10515. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10516. // for more information on using Contexts.
  10517. func (c *EC2) DescribeNetworkInterfacesWithContext(ctx aws.Context, input *DescribeNetworkInterfacesInput, opts ...request.Option) (*DescribeNetworkInterfacesOutput, error) {
  10518. req, out := c.DescribeNetworkInterfacesRequest(input)
  10519. req.SetContext(ctx)
  10520. req.ApplyOptions(opts...)
  10521. return out, req.Send()
  10522. }
  10523. const opDescribePlacementGroups = "DescribePlacementGroups"
  10524. // DescribePlacementGroupsRequest generates a "aws/request.Request" representing the
  10525. // client's request for the DescribePlacementGroups operation. The "output" return
  10526. // value will be populated with the request's response once the request complets
  10527. // successfuly.
  10528. //
  10529. // Use "Send" method on the returned Request to send the API call to the service.
  10530. // the "output" return value is not valid until after Send returns without error.
  10531. //
  10532. // See DescribePlacementGroups for more information on using the DescribePlacementGroups
  10533. // API call, and error handling.
  10534. //
  10535. // This method is useful when you want to inject custom logic or configuration
  10536. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10537. //
  10538. //
  10539. // // Example sending a request using the DescribePlacementGroupsRequest method.
  10540. // req, resp := client.DescribePlacementGroupsRequest(params)
  10541. //
  10542. // err := req.Send()
  10543. // if err == nil { // resp is now filled
  10544. // fmt.Println(resp)
  10545. // }
  10546. //
  10547. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePlacementGroups
  10548. func (c *EC2) DescribePlacementGroupsRequest(input *DescribePlacementGroupsInput) (req *request.Request, output *DescribePlacementGroupsOutput) {
  10549. op := &request.Operation{
  10550. Name: opDescribePlacementGroups,
  10551. HTTPMethod: "POST",
  10552. HTTPPath: "/",
  10553. }
  10554. if input == nil {
  10555. input = &DescribePlacementGroupsInput{}
  10556. }
  10557. output = &DescribePlacementGroupsOutput{}
  10558. req = c.newRequest(op, input, output)
  10559. return
  10560. }
  10561. // DescribePlacementGroups API operation for Amazon Elastic Compute Cloud.
  10562. //
  10563. // Describes one or more of your placement groups. For more information, see
  10564. // Placement Groups (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html)
  10565. // in the Amazon Elastic Compute Cloud User Guide.
  10566. //
  10567. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10568. // with awserr.Error's Code and Message methods to get detailed information about
  10569. // the error.
  10570. //
  10571. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10572. // API operation DescribePlacementGroups for usage and error information.
  10573. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePlacementGroups
  10574. func (c *EC2) DescribePlacementGroups(input *DescribePlacementGroupsInput) (*DescribePlacementGroupsOutput, error) {
  10575. req, out := c.DescribePlacementGroupsRequest(input)
  10576. return out, req.Send()
  10577. }
  10578. // DescribePlacementGroupsWithContext is the same as DescribePlacementGroups with the addition of
  10579. // the ability to pass a context and additional request options.
  10580. //
  10581. // See DescribePlacementGroups for details on how to use this API operation.
  10582. //
  10583. // The context must be non-nil and will be used for request cancellation. If
  10584. // the context is nil a panic will occur. In the future the SDK may create
  10585. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10586. // for more information on using Contexts.
  10587. func (c *EC2) DescribePlacementGroupsWithContext(ctx aws.Context, input *DescribePlacementGroupsInput, opts ...request.Option) (*DescribePlacementGroupsOutput, error) {
  10588. req, out := c.DescribePlacementGroupsRequest(input)
  10589. req.SetContext(ctx)
  10590. req.ApplyOptions(opts...)
  10591. return out, req.Send()
  10592. }
  10593. const opDescribePrefixLists = "DescribePrefixLists"
  10594. // DescribePrefixListsRequest generates a "aws/request.Request" representing the
  10595. // client's request for the DescribePrefixLists operation. The "output" return
  10596. // value will be populated with the request's response once the request complets
  10597. // successfuly.
  10598. //
  10599. // Use "Send" method on the returned Request to send the API call to the service.
  10600. // the "output" return value is not valid until after Send returns without error.
  10601. //
  10602. // See DescribePrefixLists for more information on using the DescribePrefixLists
  10603. // API call, and error handling.
  10604. //
  10605. // This method is useful when you want to inject custom logic or configuration
  10606. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10607. //
  10608. //
  10609. // // Example sending a request using the DescribePrefixListsRequest method.
  10610. // req, resp := client.DescribePrefixListsRequest(params)
  10611. //
  10612. // err := req.Send()
  10613. // if err == nil { // resp is now filled
  10614. // fmt.Println(resp)
  10615. // }
  10616. //
  10617. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrefixLists
  10618. func (c *EC2) DescribePrefixListsRequest(input *DescribePrefixListsInput) (req *request.Request, output *DescribePrefixListsOutput) {
  10619. op := &request.Operation{
  10620. Name: opDescribePrefixLists,
  10621. HTTPMethod: "POST",
  10622. HTTPPath: "/",
  10623. }
  10624. if input == nil {
  10625. input = &DescribePrefixListsInput{}
  10626. }
  10627. output = &DescribePrefixListsOutput{}
  10628. req = c.newRequest(op, input, output)
  10629. return
  10630. }
  10631. // DescribePrefixLists API operation for Amazon Elastic Compute Cloud.
  10632. //
  10633. // Describes available AWS services in a prefix list format, which includes
  10634. // the prefix list name and prefix list ID of the service and the IP address
  10635. // range for the service. A prefix list ID is required for creating an outbound
  10636. // security group rule that allows traffic from a VPC to access an AWS service
  10637. // through a gateway VPC endpoint.
  10638. //
  10639. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10640. // with awserr.Error's Code and Message methods to get detailed information about
  10641. // the error.
  10642. //
  10643. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10644. // API operation DescribePrefixLists for usage and error information.
  10645. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrefixLists
  10646. func (c *EC2) DescribePrefixLists(input *DescribePrefixListsInput) (*DescribePrefixListsOutput, error) {
  10647. req, out := c.DescribePrefixListsRequest(input)
  10648. return out, req.Send()
  10649. }
  10650. // DescribePrefixListsWithContext is the same as DescribePrefixLists with the addition of
  10651. // the ability to pass a context and additional request options.
  10652. //
  10653. // See DescribePrefixLists for details on how to use this API operation.
  10654. //
  10655. // The context must be non-nil and will be used for request cancellation. If
  10656. // the context is nil a panic will occur. In the future the SDK may create
  10657. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10658. // for more information on using Contexts.
  10659. func (c *EC2) DescribePrefixListsWithContext(ctx aws.Context, input *DescribePrefixListsInput, opts ...request.Option) (*DescribePrefixListsOutput, error) {
  10660. req, out := c.DescribePrefixListsRequest(input)
  10661. req.SetContext(ctx)
  10662. req.ApplyOptions(opts...)
  10663. return out, req.Send()
  10664. }
  10665. const opDescribeRegions = "DescribeRegions"
  10666. // DescribeRegionsRequest generates a "aws/request.Request" representing the
  10667. // client's request for the DescribeRegions operation. The "output" return
  10668. // value will be populated with the request's response once the request complets
  10669. // successfuly.
  10670. //
  10671. // Use "Send" method on the returned Request to send the API call to the service.
  10672. // the "output" return value is not valid until after Send returns without error.
  10673. //
  10674. // See DescribeRegions for more information on using the DescribeRegions
  10675. // API call, and error handling.
  10676. //
  10677. // This method is useful when you want to inject custom logic or configuration
  10678. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10679. //
  10680. //
  10681. // // Example sending a request using the DescribeRegionsRequest method.
  10682. // req, resp := client.DescribeRegionsRequest(params)
  10683. //
  10684. // err := req.Send()
  10685. // if err == nil { // resp is now filled
  10686. // fmt.Println(resp)
  10687. // }
  10688. //
  10689. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRegions
  10690. func (c *EC2) DescribeRegionsRequest(input *DescribeRegionsInput) (req *request.Request, output *DescribeRegionsOutput) {
  10691. op := &request.Operation{
  10692. Name: opDescribeRegions,
  10693. HTTPMethod: "POST",
  10694. HTTPPath: "/",
  10695. }
  10696. if input == nil {
  10697. input = &DescribeRegionsInput{}
  10698. }
  10699. output = &DescribeRegionsOutput{}
  10700. req = c.newRequest(op, input, output)
  10701. return
  10702. }
  10703. // DescribeRegions API operation for Amazon Elastic Compute Cloud.
  10704. //
  10705. // Describes one or more regions that are currently available to you.
  10706. //
  10707. // For a list of the regions supported by Amazon EC2, see Regions and Endpoints
  10708. // (http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region).
  10709. //
  10710. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10711. // with awserr.Error's Code and Message methods to get detailed information about
  10712. // the error.
  10713. //
  10714. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10715. // API operation DescribeRegions for usage and error information.
  10716. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRegions
  10717. func (c *EC2) DescribeRegions(input *DescribeRegionsInput) (*DescribeRegionsOutput, error) {
  10718. req, out := c.DescribeRegionsRequest(input)
  10719. return out, req.Send()
  10720. }
  10721. // DescribeRegionsWithContext is the same as DescribeRegions with the addition of
  10722. // the ability to pass a context and additional request options.
  10723. //
  10724. // See DescribeRegions for details on how to use this API operation.
  10725. //
  10726. // The context must be non-nil and will be used for request cancellation. If
  10727. // the context is nil a panic will occur. In the future the SDK may create
  10728. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10729. // for more information on using Contexts.
  10730. func (c *EC2) DescribeRegionsWithContext(ctx aws.Context, input *DescribeRegionsInput, opts ...request.Option) (*DescribeRegionsOutput, error) {
  10731. req, out := c.DescribeRegionsRequest(input)
  10732. req.SetContext(ctx)
  10733. req.ApplyOptions(opts...)
  10734. return out, req.Send()
  10735. }
  10736. const opDescribeReservedInstances = "DescribeReservedInstances"
  10737. // DescribeReservedInstancesRequest generates a "aws/request.Request" representing the
  10738. // client's request for the DescribeReservedInstances operation. The "output" return
  10739. // value will be populated with the request's response once the request complets
  10740. // successfuly.
  10741. //
  10742. // Use "Send" method on the returned Request to send the API call to the service.
  10743. // the "output" return value is not valid until after Send returns without error.
  10744. //
  10745. // See DescribeReservedInstances for more information on using the DescribeReservedInstances
  10746. // API call, and error handling.
  10747. //
  10748. // This method is useful when you want to inject custom logic or configuration
  10749. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10750. //
  10751. //
  10752. // // Example sending a request using the DescribeReservedInstancesRequest method.
  10753. // req, resp := client.DescribeReservedInstancesRequest(params)
  10754. //
  10755. // err := req.Send()
  10756. // if err == nil { // resp is now filled
  10757. // fmt.Println(resp)
  10758. // }
  10759. //
  10760. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstances
  10761. func (c *EC2) DescribeReservedInstancesRequest(input *DescribeReservedInstancesInput) (req *request.Request, output *DescribeReservedInstancesOutput) {
  10762. op := &request.Operation{
  10763. Name: opDescribeReservedInstances,
  10764. HTTPMethod: "POST",
  10765. HTTPPath: "/",
  10766. }
  10767. if input == nil {
  10768. input = &DescribeReservedInstancesInput{}
  10769. }
  10770. output = &DescribeReservedInstancesOutput{}
  10771. req = c.newRequest(op, input, output)
  10772. return
  10773. }
  10774. // DescribeReservedInstances API operation for Amazon Elastic Compute Cloud.
  10775. //
  10776. // Describes one or more of the Reserved Instances that you purchased.
  10777. //
  10778. // For more information about Reserved Instances, see Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html)
  10779. // in the Amazon Elastic Compute Cloud User Guide.
  10780. //
  10781. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10782. // with awserr.Error's Code and Message methods to get detailed information about
  10783. // the error.
  10784. //
  10785. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10786. // API operation DescribeReservedInstances for usage and error information.
  10787. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstances
  10788. func (c *EC2) DescribeReservedInstances(input *DescribeReservedInstancesInput) (*DescribeReservedInstancesOutput, error) {
  10789. req, out := c.DescribeReservedInstancesRequest(input)
  10790. return out, req.Send()
  10791. }
  10792. // DescribeReservedInstancesWithContext is the same as DescribeReservedInstances with the addition of
  10793. // the ability to pass a context and additional request options.
  10794. //
  10795. // See DescribeReservedInstances for details on how to use this API operation.
  10796. //
  10797. // The context must be non-nil and will be used for request cancellation. If
  10798. // the context is nil a panic will occur. In the future the SDK may create
  10799. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10800. // for more information on using Contexts.
  10801. func (c *EC2) DescribeReservedInstancesWithContext(ctx aws.Context, input *DescribeReservedInstancesInput, opts ...request.Option) (*DescribeReservedInstancesOutput, error) {
  10802. req, out := c.DescribeReservedInstancesRequest(input)
  10803. req.SetContext(ctx)
  10804. req.ApplyOptions(opts...)
  10805. return out, req.Send()
  10806. }
  10807. const opDescribeReservedInstancesListings = "DescribeReservedInstancesListings"
  10808. // DescribeReservedInstancesListingsRequest generates a "aws/request.Request" representing the
  10809. // client's request for the DescribeReservedInstancesListings operation. The "output" return
  10810. // value will be populated with the request's response once the request complets
  10811. // successfuly.
  10812. //
  10813. // Use "Send" method on the returned Request to send the API call to the service.
  10814. // the "output" return value is not valid until after Send returns without error.
  10815. //
  10816. // See DescribeReservedInstancesListings for more information on using the DescribeReservedInstancesListings
  10817. // API call, and error handling.
  10818. //
  10819. // This method is useful when you want to inject custom logic or configuration
  10820. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10821. //
  10822. //
  10823. // // Example sending a request using the DescribeReservedInstancesListingsRequest method.
  10824. // req, resp := client.DescribeReservedInstancesListingsRequest(params)
  10825. //
  10826. // err := req.Send()
  10827. // if err == nil { // resp is now filled
  10828. // fmt.Println(resp)
  10829. // }
  10830. //
  10831. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesListings
  10832. func (c *EC2) DescribeReservedInstancesListingsRequest(input *DescribeReservedInstancesListingsInput) (req *request.Request, output *DescribeReservedInstancesListingsOutput) {
  10833. op := &request.Operation{
  10834. Name: opDescribeReservedInstancesListings,
  10835. HTTPMethod: "POST",
  10836. HTTPPath: "/",
  10837. }
  10838. if input == nil {
  10839. input = &DescribeReservedInstancesListingsInput{}
  10840. }
  10841. output = &DescribeReservedInstancesListingsOutput{}
  10842. req = c.newRequest(op, input, output)
  10843. return
  10844. }
  10845. // DescribeReservedInstancesListings API operation for Amazon Elastic Compute Cloud.
  10846. //
  10847. // Describes your account's Reserved Instance listings in the Reserved Instance
  10848. // Marketplace.
  10849. //
  10850. // The Reserved Instance Marketplace matches sellers who want to resell Reserved
  10851. // Instance capacity that they no longer need with buyers who want to purchase
  10852. // additional capacity. Reserved Instances bought and sold through the Reserved
  10853. // Instance Marketplace work like any other Reserved Instances.
  10854. //
  10855. // As a seller, you choose to list some or all of your Reserved Instances, and
  10856. // you specify the upfront price to receive for them. Your Reserved Instances
  10857. // are then listed in the Reserved Instance Marketplace and are available for
  10858. // purchase.
  10859. //
  10860. // As a buyer, you specify the configuration of the Reserved Instance to purchase,
  10861. // and the Marketplace matches what you're searching for with what's available.
  10862. // The Marketplace first sells the lowest priced Reserved Instances to you,
  10863. // and continues to sell available Reserved Instance listings to you until your
  10864. // demand is met. You are charged based on the total price of all of the listings
  10865. // that you purchase.
  10866. //
  10867. // For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  10868. // in the Amazon Elastic Compute Cloud User Guide.
  10869. //
  10870. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10871. // with awserr.Error's Code and Message methods to get detailed information about
  10872. // the error.
  10873. //
  10874. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10875. // API operation DescribeReservedInstancesListings for usage and error information.
  10876. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesListings
  10877. func (c *EC2) DescribeReservedInstancesListings(input *DescribeReservedInstancesListingsInput) (*DescribeReservedInstancesListingsOutput, error) {
  10878. req, out := c.DescribeReservedInstancesListingsRequest(input)
  10879. return out, req.Send()
  10880. }
  10881. // DescribeReservedInstancesListingsWithContext is the same as DescribeReservedInstancesListings with the addition of
  10882. // the ability to pass a context and additional request options.
  10883. //
  10884. // See DescribeReservedInstancesListings for details on how to use this API operation.
  10885. //
  10886. // The context must be non-nil and will be used for request cancellation. If
  10887. // the context is nil a panic will occur. In the future the SDK may create
  10888. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10889. // for more information on using Contexts.
  10890. func (c *EC2) DescribeReservedInstancesListingsWithContext(ctx aws.Context, input *DescribeReservedInstancesListingsInput, opts ...request.Option) (*DescribeReservedInstancesListingsOutput, error) {
  10891. req, out := c.DescribeReservedInstancesListingsRequest(input)
  10892. req.SetContext(ctx)
  10893. req.ApplyOptions(opts...)
  10894. return out, req.Send()
  10895. }
  10896. const opDescribeReservedInstancesModifications = "DescribeReservedInstancesModifications"
  10897. // DescribeReservedInstancesModificationsRequest generates a "aws/request.Request" representing the
  10898. // client's request for the DescribeReservedInstancesModifications operation. The "output" return
  10899. // value will be populated with the request's response once the request complets
  10900. // successfuly.
  10901. //
  10902. // Use "Send" method on the returned Request to send the API call to the service.
  10903. // the "output" return value is not valid until after Send returns without error.
  10904. //
  10905. // See DescribeReservedInstancesModifications for more information on using the DescribeReservedInstancesModifications
  10906. // API call, and error handling.
  10907. //
  10908. // This method is useful when you want to inject custom logic or configuration
  10909. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10910. //
  10911. //
  10912. // // Example sending a request using the DescribeReservedInstancesModificationsRequest method.
  10913. // req, resp := client.DescribeReservedInstancesModificationsRequest(params)
  10914. //
  10915. // err := req.Send()
  10916. // if err == nil { // resp is now filled
  10917. // fmt.Println(resp)
  10918. // }
  10919. //
  10920. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesModifications
  10921. func (c *EC2) DescribeReservedInstancesModificationsRequest(input *DescribeReservedInstancesModificationsInput) (req *request.Request, output *DescribeReservedInstancesModificationsOutput) {
  10922. op := &request.Operation{
  10923. Name: opDescribeReservedInstancesModifications,
  10924. HTTPMethod: "POST",
  10925. HTTPPath: "/",
  10926. Paginator: &request.Paginator{
  10927. InputTokens: []string{"NextToken"},
  10928. OutputTokens: []string{"NextToken"},
  10929. LimitToken: "",
  10930. TruncationToken: "",
  10931. },
  10932. }
  10933. if input == nil {
  10934. input = &DescribeReservedInstancesModificationsInput{}
  10935. }
  10936. output = &DescribeReservedInstancesModificationsOutput{}
  10937. req = c.newRequest(op, input, output)
  10938. return
  10939. }
  10940. // DescribeReservedInstancesModifications API operation for Amazon Elastic Compute Cloud.
  10941. //
  10942. // Describes the modifications made to your Reserved Instances. If no parameter
  10943. // is specified, information about all your Reserved Instances modification
  10944. // requests is returned. If a modification ID is specified, only information
  10945. // about the specific modification is returned.
  10946. //
  10947. // For more information, see Modifying Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html)
  10948. // in the Amazon Elastic Compute Cloud User Guide.
  10949. //
  10950. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10951. // with awserr.Error's Code and Message methods to get detailed information about
  10952. // the error.
  10953. //
  10954. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10955. // API operation DescribeReservedInstancesModifications for usage and error information.
  10956. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesModifications
  10957. func (c *EC2) DescribeReservedInstancesModifications(input *DescribeReservedInstancesModificationsInput) (*DescribeReservedInstancesModificationsOutput, error) {
  10958. req, out := c.DescribeReservedInstancesModificationsRequest(input)
  10959. return out, req.Send()
  10960. }
  10961. // DescribeReservedInstancesModificationsWithContext is the same as DescribeReservedInstancesModifications with the addition of
  10962. // the ability to pass a context and additional request options.
  10963. //
  10964. // See DescribeReservedInstancesModifications for details on how to use this API operation.
  10965. //
  10966. // The context must be non-nil and will be used for request cancellation. If
  10967. // the context is nil a panic will occur. In the future the SDK may create
  10968. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10969. // for more information on using Contexts.
  10970. func (c *EC2) DescribeReservedInstancesModificationsWithContext(ctx aws.Context, input *DescribeReservedInstancesModificationsInput, opts ...request.Option) (*DescribeReservedInstancesModificationsOutput, error) {
  10971. req, out := c.DescribeReservedInstancesModificationsRequest(input)
  10972. req.SetContext(ctx)
  10973. req.ApplyOptions(opts...)
  10974. return out, req.Send()
  10975. }
  10976. // DescribeReservedInstancesModificationsPages iterates over the pages of a DescribeReservedInstancesModifications operation,
  10977. // calling the "fn" function with the response data for each page. To stop
  10978. // iterating, return false from the fn function.
  10979. //
  10980. // See DescribeReservedInstancesModifications method for more information on how to use this operation.
  10981. //
  10982. // Note: This operation can generate multiple requests to a service.
  10983. //
  10984. // // Example iterating over at most 3 pages of a DescribeReservedInstancesModifications operation.
  10985. // pageNum := 0
  10986. // err := client.DescribeReservedInstancesModificationsPages(params,
  10987. // func(page *DescribeReservedInstancesModificationsOutput, lastPage bool) bool {
  10988. // pageNum++
  10989. // fmt.Println(page)
  10990. // return pageNum <= 3
  10991. // })
  10992. //
  10993. func (c *EC2) DescribeReservedInstancesModificationsPages(input *DescribeReservedInstancesModificationsInput, fn func(*DescribeReservedInstancesModificationsOutput, bool) bool) error {
  10994. return c.DescribeReservedInstancesModificationsPagesWithContext(aws.BackgroundContext(), input, fn)
  10995. }
  10996. // DescribeReservedInstancesModificationsPagesWithContext same as DescribeReservedInstancesModificationsPages except
  10997. // it takes a Context and allows setting request options on the pages.
  10998. //
  10999. // The context must be non-nil and will be used for request cancellation. If
  11000. // the context is nil a panic will occur. In the future the SDK may create
  11001. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11002. // for more information on using Contexts.
  11003. func (c *EC2) DescribeReservedInstancesModificationsPagesWithContext(ctx aws.Context, input *DescribeReservedInstancesModificationsInput, fn func(*DescribeReservedInstancesModificationsOutput, bool) bool, opts ...request.Option) error {
  11004. p := request.Pagination{
  11005. NewRequest: func() (*request.Request, error) {
  11006. var inCpy *DescribeReservedInstancesModificationsInput
  11007. if input != nil {
  11008. tmp := *input
  11009. inCpy = &tmp
  11010. }
  11011. req, _ := c.DescribeReservedInstancesModificationsRequest(inCpy)
  11012. req.SetContext(ctx)
  11013. req.ApplyOptions(opts...)
  11014. return req, nil
  11015. },
  11016. }
  11017. cont := true
  11018. for p.Next() && cont {
  11019. cont = fn(p.Page().(*DescribeReservedInstancesModificationsOutput), !p.HasNextPage())
  11020. }
  11021. return p.Err()
  11022. }
  11023. const opDescribeReservedInstancesOfferings = "DescribeReservedInstancesOfferings"
  11024. // DescribeReservedInstancesOfferingsRequest generates a "aws/request.Request" representing the
  11025. // client's request for the DescribeReservedInstancesOfferings operation. The "output" return
  11026. // value will be populated with the request's response once the request complets
  11027. // successfuly.
  11028. //
  11029. // Use "Send" method on the returned Request to send the API call to the service.
  11030. // the "output" return value is not valid until after Send returns without error.
  11031. //
  11032. // See DescribeReservedInstancesOfferings for more information on using the DescribeReservedInstancesOfferings
  11033. // API call, and error handling.
  11034. //
  11035. // This method is useful when you want to inject custom logic or configuration
  11036. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11037. //
  11038. //
  11039. // // Example sending a request using the DescribeReservedInstancesOfferingsRequest method.
  11040. // req, resp := client.DescribeReservedInstancesOfferingsRequest(params)
  11041. //
  11042. // err := req.Send()
  11043. // if err == nil { // resp is now filled
  11044. // fmt.Println(resp)
  11045. // }
  11046. //
  11047. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesOfferings
  11048. func (c *EC2) DescribeReservedInstancesOfferingsRequest(input *DescribeReservedInstancesOfferingsInput) (req *request.Request, output *DescribeReservedInstancesOfferingsOutput) {
  11049. op := &request.Operation{
  11050. Name: opDescribeReservedInstancesOfferings,
  11051. HTTPMethod: "POST",
  11052. HTTPPath: "/",
  11053. Paginator: &request.Paginator{
  11054. InputTokens: []string{"NextToken"},
  11055. OutputTokens: []string{"NextToken"},
  11056. LimitToken: "MaxResults",
  11057. TruncationToken: "",
  11058. },
  11059. }
  11060. if input == nil {
  11061. input = &DescribeReservedInstancesOfferingsInput{}
  11062. }
  11063. output = &DescribeReservedInstancesOfferingsOutput{}
  11064. req = c.newRequest(op, input, output)
  11065. return
  11066. }
  11067. // DescribeReservedInstancesOfferings API operation for Amazon Elastic Compute Cloud.
  11068. //
  11069. // Describes Reserved Instance offerings that are available for purchase. With
  11070. // Reserved Instances, you purchase the right to launch instances for a period
  11071. // of time. During that time period, you do not receive insufficient capacity
  11072. // errors, and you pay a lower usage rate than the rate charged for On-Demand
  11073. // instances for the actual time used.
  11074. //
  11075. // If you have listed your own Reserved Instances for sale in the Reserved Instance
  11076. // Marketplace, they will be excluded from these results. This is to ensure
  11077. // that you do not purchase your own Reserved Instances.
  11078. //
  11079. // For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  11080. // in the Amazon Elastic Compute Cloud User Guide.
  11081. //
  11082. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11083. // with awserr.Error's Code and Message methods to get detailed information about
  11084. // the error.
  11085. //
  11086. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11087. // API operation DescribeReservedInstancesOfferings for usage and error information.
  11088. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesOfferings
  11089. func (c *EC2) DescribeReservedInstancesOfferings(input *DescribeReservedInstancesOfferingsInput) (*DescribeReservedInstancesOfferingsOutput, error) {
  11090. req, out := c.DescribeReservedInstancesOfferingsRequest(input)
  11091. return out, req.Send()
  11092. }
  11093. // DescribeReservedInstancesOfferingsWithContext is the same as DescribeReservedInstancesOfferings with the addition of
  11094. // the ability to pass a context and additional request options.
  11095. //
  11096. // See DescribeReservedInstancesOfferings for details on how to use this API operation.
  11097. //
  11098. // The context must be non-nil and will be used for request cancellation. If
  11099. // the context is nil a panic will occur. In the future the SDK may create
  11100. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11101. // for more information on using Contexts.
  11102. func (c *EC2) DescribeReservedInstancesOfferingsWithContext(ctx aws.Context, input *DescribeReservedInstancesOfferingsInput, opts ...request.Option) (*DescribeReservedInstancesOfferingsOutput, error) {
  11103. req, out := c.DescribeReservedInstancesOfferingsRequest(input)
  11104. req.SetContext(ctx)
  11105. req.ApplyOptions(opts...)
  11106. return out, req.Send()
  11107. }
  11108. // DescribeReservedInstancesOfferingsPages iterates over the pages of a DescribeReservedInstancesOfferings operation,
  11109. // calling the "fn" function with the response data for each page. To stop
  11110. // iterating, return false from the fn function.
  11111. //
  11112. // See DescribeReservedInstancesOfferings method for more information on how to use this operation.
  11113. //
  11114. // Note: This operation can generate multiple requests to a service.
  11115. //
  11116. // // Example iterating over at most 3 pages of a DescribeReservedInstancesOfferings operation.
  11117. // pageNum := 0
  11118. // err := client.DescribeReservedInstancesOfferingsPages(params,
  11119. // func(page *DescribeReservedInstancesOfferingsOutput, lastPage bool) bool {
  11120. // pageNum++
  11121. // fmt.Println(page)
  11122. // return pageNum <= 3
  11123. // })
  11124. //
  11125. func (c *EC2) DescribeReservedInstancesOfferingsPages(input *DescribeReservedInstancesOfferingsInput, fn func(*DescribeReservedInstancesOfferingsOutput, bool) bool) error {
  11126. return c.DescribeReservedInstancesOfferingsPagesWithContext(aws.BackgroundContext(), input, fn)
  11127. }
  11128. // DescribeReservedInstancesOfferingsPagesWithContext same as DescribeReservedInstancesOfferingsPages except
  11129. // it takes a Context and allows setting request options on the pages.
  11130. //
  11131. // The context must be non-nil and will be used for request cancellation. If
  11132. // the context is nil a panic will occur. In the future the SDK may create
  11133. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11134. // for more information on using Contexts.
  11135. func (c *EC2) DescribeReservedInstancesOfferingsPagesWithContext(ctx aws.Context, input *DescribeReservedInstancesOfferingsInput, fn func(*DescribeReservedInstancesOfferingsOutput, bool) bool, opts ...request.Option) error {
  11136. p := request.Pagination{
  11137. NewRequest: func() (*request.Request, error) {
  11138. var inCpy *DescribeReservedInstancesOfferingsInput
  11139. if input != nil {
  11140. tmp := *input
  11141. inCpy = &tmp
  11142. }
  11143. req, _ := c.DescribeReservedInstancesOfferingsRequest(inCpy)
  11144. req.SetContext(ctx)
  11145. req.ApplyOptions(opts...)
  11146. return req, nil
  11147. },
  11148. }
  11149. cont := true
  11150. for p.Next() && cont {
  11151. cont = fn(p.Page().(*DescribeReservedInstancesOfferingsOutput), !p.HasNextPage())
  11152. }
  11153. return p.Err()
  11154. }
  11155. const opDescribeRouteTables = "DescribeRouteTables"
  11156. // DescribeRouteTablesRequest generates a "aws/request.Request" representing the
  11157. // client's request for the DescribeRouteTables operation. The "output" return
  11158. // value will be populated with the request's response once the request complets
  11159. // successfuly.
  11160. //
  11161. // Use "Send" method on the returned Request to send the API call to the service.
  11162. // the "output" return value is not valid until after Send returns without error.
  11163. //
  11164. // See DescribeRouteTables for more information on using the DescribeRouteTables
  11165. // API call, and error handling.
  11166. //
  11167. // This method is useful when you want to inject custom logic or configuration
  11168. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11169. //
  11170. //
  11171. // // Example sending a request using the DescribeRouteTablesRequest method.
  11172. // req, resp := client.DescribeRouteTablesRequest(params)
  11173. //
  11174. // err := req.Send()
  11175. // if err == nil { // resp is now filled
  11176. // fmt.Println(resp)
  11177. // }
  11178. //
  11179. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRouteTables
  11180. func (c *EC2) DescribeRouteTablesRequest(input *DescribeRouteTablesInput) (req *request.Request, output *DescribeRouteTablesOutput) {
  11181. op := &request.Operation{
  11182. Name: opDescribeRouteTables,
  11183. HTTPMethod: "POST",
  11184. HTTPPath: "/",
  11185. }
  11186. if input == nil {
  11187. input = &DescribeRouteTablesInput{}
  11188. }
  11189. output = &DescribeRouteTablesOutput{}
  11190. req = c.newRequest(op, input, output)
  11191. return
  11192. }
  11193. // DescribeRouteTables API operation for Amazon Elastic Compute Cloud.
  11194. //
  11195. // Describes one or more of your route tables.
  11196. //
  11197. // Each subnet in your VPC must be associated with a route table. If a subnet
  11198. // is not explicitly associated with any route table, it is implicitly associated
  11199. // with the main route table. This command does not return the subnet ID for
  11200. // implicit associations.
  11201. //
  11202. // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  11203. // in the Amazon Virtual Private Cloud User Guide.
  11204. //
  11205. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11206. // with awserr.Error's Code and Message methods to get detailed information about
  11207. // the error.
  11208. //
  11209. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11210. // API operation DescribeRouteTables for usage and error information.
  11211. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRouteTables
  11212. func (c *EC2) DescribeRouteTables(input *DescribeRouteTablesInput) (*DescribeRouteTablesOutput, error) {
  11213. req, out := c.DescribeRouteTablesRequest(input)
  11214. return out, req.Send()
  11215. }
  11216. // DescribeRouteTablesWithContext is the same as DescribeRouteTables with the addition of
  11217. // the ability to pass a context and additional request options.
  11218. //
  11219. // See DescribeRouteTables for details on how to use this API operation.
  11220. //
  11221. // The context must be non-nil and will be used for request cancellation. If
  11222. // the context is nil a panic will occur. In the future the SDK may create
  11223. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11224. // for more information on using Contexts.
  11225. func (c *EC2) DescribeRouteTablesWithContext(ctx aws.Context, input *DescribeRouteTablesInput, opts ...request.Option) (*DescribeRouteTablesOutput, error) {
  11226. req, out := c.DescribeRouteTablesRequest(input)
  11227. req.SetContext(ctx)
  11228. req.ApplyOptions(opts...)
  11229. return out, req.Send()
  11230. }
  11231. const opDescribeScheduledInstanceAvailability = "DescribeScheduledInstanceAvailability"
  11232. // DescribeScheduledInstanceAvailabilityRequest generates a "aws/request.Request" representing the
  11233. // client's request for the DescribeScheduledInstanceAvailability operation. The "output" return
  11234. // value will be populated with the request's response once the request complets
  11235. // successfuly.
  11236. //
  11237. // Use "Send" method on the returned Request to send the API call to the service.
  11238. // the "output" return value is not valid until after Send returns without error.
  11239. //
  11240. // See DescribeScheduledInstanceAvailability for more information on using the DescribeScheduledInstanceAvailability
  11241. // API call, and error handling.
  11242. //
  11243. // This method is useful when you want to inject custom logic or configuration
  11244. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11245. //
  11246. //
  11247. // // Example sending a request using the DescribeScheduledInstanceAvailabilityRequest method.
  11248. // req, resp := client.DescribeScheduledInstanceAvailabilityRequest(params)
  11249. //
  11250. // err := req.Send()
  11251. // if err == nil { // resp is now filled
  11252. // fmt.Println(resp)
  11253. // }
  11254. //
  11255. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstanceAvailability
  11256. func (c *EC2) DescribeScheduledInstanceAvailabilityRequest(input *DescribeScheduledInstanceAvailabilityInput) (req *request.Request, output *DescribeScheduledInstanceAvailabilityOutput) {
  11257. op := &request.Operation{
  11258. Name: opDescribeScheduledInstanceAvailability,
  11259. HTTPMethod: "POST",
  11260. HTTPPath: "/",
  11261. }
  11262. if input == nil {
  11263. input = &DescribeScheduledInstanceAvailabilityInput{}
  11264. }
  11265. output = &DescribeScheduledInstanceAvailabilityOutput{}
  11266. req = c.newRequest(op, input, output)
  11267. return
  11268. }
  11269. // DescribeScheduledInstanceAvailability API operation for Amazon Elastic Compute Cloud.
  11270. //
  11271. // Finds available schedules that meet the specified criteria.
  11272. //
  11273. // You can search for an available schedule no more than 3 months in advance.
  11274. // You must meet the minimum required duration of 1,200 hours per year. For
  11275. // example, the minimum daily schedule is 4 hours, the minimum weekly schedule
  11276. // is 24 hours, and the minimum monthly schedule is 100 hours.
  11277. //
  11278. // After you find a schedule that meets your needs, call PurchaseScheduledInstances
  11279. // to purchase Scheduled Instances with that schedule.
  11280. //
  11281. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11282. // with awserr.Error's Code and Message methods to get detailed information about
  11283. // the error.
  11284. //
  11285. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11286. // API operation DescribeScheduledInstanceAvailability for usage and error information.
  11287. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstanceAvailability
  11288. func (c *EC2) DescribeScheduledInstanceAvailability(input *DescribeScheduledInstanceAvailabilityInput) (*DescribeScheduledInstanceAvailabilityOutput, error) {
  11289. req, out := c.DescribeScheduledInstanceAvailabilityRequest(input)
  11290. return out, req.Send()
  11291. }
  11292. // DescribeScheduledInstanceAvailabilityWithContext is the same as DescribeScheduledInstanceAvailability with the addition of
  11293. // the ability to pass a context and additional request options.
  11294. //
  11295. // See DescribeScheduledInstanceAvailability for details on how to use this API operation.
  11296. //
  11297. // The context must be non-nil and will be used for request cancellation. If
  11298. // the context is nil a panic will occur. In the future the SDK may create
  11299. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11300. // for more information on using Contexts.
  11301. func (c *EC2) DescribeScheduledInstanceAvailabilityWithContext(ctx aws.Context, input *DescribeScheduledInstanceAvailabilityInput, opts ...request.Option) (*DescribeScheduledInstanceAvailabilityOutput, error) {
  11302. req, out := c.DescribeScheduledInstanceAvailabilityRequest(input)
  11303. req.SetContext(ctx)
  11304. req.ApplyOptions(opts...)
  11305. return out, req.Send()
  11306. }
  11307. const opDescribeScheduledInstances = "DescribeScheduledInstances"
  11308. // DescribeScheduledInstancesRequest generates a "aws/request.Request" representing the
  11309. // client's request for the DescribeScheduledInstances operation. The "output" return
  11310. // value will be populated with the request's response once the request complets
  11311. // successfuly.
  11312. //
  11313. // Use "Send" method on the returned Request to send the API call to the service.
  11314. // the "output" return value is not valid until after Send returns without error.
  11315. //
  11316. // See DescribeScheduledInstances for more information on using the DescribeScheduledInstances
  11317. // API call, and error handling.
  11318. //
  11319. // This method is useful when you want to inject custom logic or configuration
  11320. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11321. //
  11322. //
  11323. // // Example sending a request using the DescribeScheduledInstancesRequest method.
  11324. // req, resp := client.DescribeScheduledInstancesRequest(params)
  11325. //
  11326. // err := req.Send()
  11327. // if err == nil { // resp is now filled
  11328. // fmt.Println(resp)
  11329. // }
  11330. //
  11331. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstances
  11332. func (c *EC2) DescribeScheduledInstancesRequest(input *DescribeScheduledInstancesInput) (req *request.Request, output *DescribeScheduledInstancesOutput) {
  11333. op := &request.Operation{
  11334. Name: opDescribeScheduledInstances,
  11335. HTTPMethod: "POST",
  11336. HTTPPath: "/",
  11337. }
  11338. if input == nil {
  11339. input = &DescribeScheduledInstancesInput{}
  11340. }
  11341. output = &DescribeScheduledInstancesOutput{}
  11342. req = c.newRequest(op, input, output)
  11343. return
  11344. }
  11345. // DescribeScheduledInstances API operation for Amazon Elastic Compute Cloud.
  11346. //
  11347. // Describes one or more of your Scheduled Instances.
  11348. //
  11349. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11350. // with awserr.Error's Code and Message methods to get detailed information about
  11351. // the error.
  11352. //
  11353. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11354. // API operation DescribeScheduledInstances for usage and error information.
  11355. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstances
  11356. func (c *EC2) DescribeScheduledInstances(input *DescribeScheduledInstancesInput) (*DescribeScheduledInstancesOutput, error) {
  11357. req, out := c.DescribeScheduledInstancesRequest(input)
  11358. return out, req.Send()
  11359. }
  11360. // DescribeScheduledInstancesWithContext is the same as DescribeScheduledInstances with the addition of
  11361. // the ability to pass a context and additional request options.
  11362. //
  11363. // See DescribeScheduledInstances for details on how to use this API operation.
  11364. //
  11365. // The context must be non-nil and will be used for request cancellation. If
  11366. // the context is nil a panic will occur. In the future the SDK may create
  11367. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11368. // for more information on using Contexts.
  11369. func (c *EC2) DescribeScheduledInstancesWithContext(ctx aws.Context, input *DescribeScheduledInstancesInput, opts ...request.Option) (*DescribeScheduledInstancesOutput, error) {
  11370. req, out := c.DescribeScheduledInstancesRequest(input)
  11371. req.SetContext(ctx)
  11372. req.ApplyOptions(opts...)
  11373. return out, req.Send()
  11374. }
  11375. const opDescribeSecurityGroupReferences = "DescribeSecurityGroupReferences"
  11376. // DescribeSecurityGroupReferencesRequest generates a "aws/request.Request" representing the
  11377. // client's request for the DescribeSecurityGroupReferences operation. The "output" return
  11378. // value will be populated with the request's response once the request complets
  11379. // successfuly.
  11380. //
  11381. // Use "Send" method on the returned Request to send the API call to the service.
  11382. // the "output" return value is not valid until after Send returns without error.
  11383. //
  11384. // See DescribeSecurityGroupReferences for more information on using the DescribeSecurityGroupReferences
  11385. // API call, and error handling.
  11386. //
  11387. // This method is useful when you want to inject custom logic or configuration
  11388. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11389. //
  11390. //
  11391. // // Example sending a request using the DescribeSecurityGroupReferencesRequest method.
  11392. // req, resp := client.DescribeSecurityGroupReferencesRequest(params)
  11393. //
  11394. // err := req.Send()
  11395. // if err == nil { // resp is now filled
  11396. // fmt.Println(resp)
  11397. // }
  11398. //
  11399. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupReferences
  11400. func (c *EC2) DescribeSecurityGroupReferencesRequest(input *DescribeSecurityGroupReferencesInput) (req *request.Request, output *DescribeSecurityGroupReferencesOutput) {
  11401. op := &request.Operation{
  11402. Name: opDescribeSecurityGroupReferences,
  11403. HTTPMethod: "POST",
  11404. HTTPPath: "/",
  11405. }
  11406. if input == nil {
  11407. input = &DescribeSecurityGroupReferencesInput{}
  11408. }
  11409. output = &DescribeSecurityGroupReferencesOutput{}
  11410. req = c.newRequest(op, input, output)
  11411. return
  11412. }
  11413. // DescribeSecurityGroupReferences API operation for Amazon Elastic Compute Cloud.
  11414. //
  11415. // [EC2-VPC only] Describes the VPCs on the other side of a VPC peering connection
  11416. // that are referencing the security groups you've specified in this request.
  11417. //
  11418. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11419. // with awserr.Error's Code and Message methods to get detailed information about
  11420. // the error.
  11421. //
  11422. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11423. // API operation DescribeSecurityGroupReferences for usage and error information.
  11424. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupReferences
  11425. func (c *EC2) DescribeSecurityGroupReferences(input *DescribeSecurityGroupReferencesInput) (*DescribeSecurityGroupReferencesOutput, error) {
  11426. req, out := c.DescribeSecurityGroupReferencesRequest(input)
  11427. return out, req.Send()
  11428. }
  11429. // DescribeSecurityGroupReferencesWithContext is the same as DescribeSecurityGroupReferences with the addition of
  11430. // the ability to pass a context and additional request options.
  11431. //
  11432. // See DescribeSecurityGroupReferences for details on how to use this API operation.
  11433. //
  11434. // The context must be non-nil and will be used for request cancellation. If
  11435. // the context is nil a panic will occur. In the future the SDK may create
  11436. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11437. // for more information on using Contexts.
  11438. func (c *EC2) DescribeSecurityGroupReferencesWithContext(ctx aws.Context, input *DescribeSecurityGroupReferencesInput, opts ...request.Option) (*DescribeSecurityGroupReferencesOutput, error) {
  11439. req, out := c.DescribeSecurityGroupReferencesRequest(input)
  11440. req.SetContext(ctx)
  11441. req.ApplyOptions(opts...)
  11442. return out, req.Send()
  11443. }
  11444. const opDescribeSecurityGroups = "DescribeSecurityGroups"
  11445. // DescribeSecurityGroupsRequest generates a "aws/request.Request" representing the
  11446. // client's request for the DescribeSecurityGroups operation. The "output" return
  11447. // value will be populated with the request's response once the request complets
  11448. // successfuly.
  11449. //
  11450. // Use "Send" method on the returned Request to send the API call to the service.
  11451. // the "output" return value is not valid until after Send returns without error.
  11452. //
  11453. // See DescribeSecurityGroups for more information on using the DescribeSecurityGroups
  11454. // API call, and error handling.
  11455. //
  11456. // This method is useful when you want to inject custom logic or configuration
  11457. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11458. //
  11459. //
  11460. // // Example sending a request using the DescribeSecurityGroupsRequest method.
  11461. // req, resp := client.DescribeSecurityGroupsRequest(params)
  11462. //
  11463. // err := req.Send()
  11464. // if err == nil { // resp is now filled
  11465. // fmt.Println(resp)
  11466. // }
  11467. //
  11468. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroups
  11469. func (c *EC2) DescribeSecurityGroupsRequest(input *DescribeSecurityGroupsInput) (req *request.Request, output *DescribeSecurityGroupsOutput) {
  11470. op := &request.Operation{
  11471. Name: opDescribeSecurityGroups,
  11472. HTTPMethod: "POST",
  11473. HTTPPath: "/",
  11474. }
  11475. if input == nil {
  11476. input = &DescribeSecurityGroupsInput{}
  11477. }
  11478. output = &DescribeSecurityGroupsOutput{}
  11479. req = c.newRequest(op, input, output)
  11480. return
  11481. }
  11482. // DescribeSecurityGroups API operation for Amazon Elastic Compute Cloud.
  11483. //
  11484. // Describes one or more of your security groups.
  11485. //
  11486. // A security group is for use with instances either in the EC2-Classic platform
  11487. // or in a specific VPC. For more information, see Amazon EC2 Security Groups
  11488. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)
  11489. // in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your
  11490. // VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
  11491. // in the Amazon Virtual Private Cloud User Guide.
  11492. //
  11493. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11494. // with awserr.Error's Code and Message methods to get detailed information about
  11495. // the error.
  11496. //
  11497. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11498. // API operation DescribeSecurityGroups for usage and error information.
  11499. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroups
  11500. func (c *EC2) DescribeSecurityGroups(input *DescribeSecurityGroupsInput) (*DescribeSecurityGroupsOutput, error) {
  11501. req, out := c.DescribeSecurityGroupsRequest(input)
  11502. return out, req.Send()
  11503. }
  11504. // DescribeSecurityGroupsWithContext is the same as DescribeSecurityGroups with the addition of
  11505. // the ability to pass a context and additional request options.
  11506. //
  11507. // See DescribeSecurityGroups for details on how to use this API operation.
  11508. //
  11509. // The context must be non-nil and will be used for request cancellation. If
  11510. // the context is nil a panic will occur. In the future the SDK may create
  11511. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11512. // for more information on using Contexts.
  11513. func (c *EC2) DescribeSecurityGroupsWithContext(ctx aws.Context, input *DescribeSecurityGroupsInput, opts ...request.Option) (*DescribeSecurityGroupsOutput, error) {
  11514. req, out := c.DescribeSecurityGroupsRequest(input)
  11515. req.SetContext(ctx)
  11516. req.ApplyOptions(opts...)
  11517. return out, req.Send()
  11518. }
  11519. const opDescribeSnapshotAttribute = "DescribeSnapshotAttribute"
  11520. // DescribeSnapshotAttributeRequest generates a "aws/request.Request" representing the
  11521. // client's request for the DescribeSnapshotAttribute operation. The "output" return
  11522. // value will be populated with the request's response once the request complets
  11523. // successfuly.
  11524. //
  11525. // Use "Send" method on the returned Request to send the API call to the service.
  11526. // the "output" return value is not valid until after Send returns without error.
  11527. //
  11528. // See DescribeSnapshotAttribute for more information on using the DescribeSnapshotAttribute
  11529. // API call, and error handling.
  11530. //
  11531. // This method is useful when you want to inject custom logic or configuration
  11532. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11533. //
  11534. //
  11535. // // Example sending a request using the DescribeSnapshotAttributeRequest method.
  11536. // req, resp := client.DescribeSnapshotAttributeRequest(params)
  11537. //
  11538. // err := req.Send()
  11539. // if err == nil { // resp is now filled
  11540. // fmt.Println(resp)
  11541. // }
  11542. //
  11543. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotAttribute
  11544. func (c *EC2) DescribeSnapshotAttributeRequest(input *DescribeSnapshotAttributeInput) (req *request.Request, output *DescribeSnapshotAttributeOutput) {
  11545. op := &request.Operation{
  11546. Name: opDescribeSnapshotAttribute,
  11547. HTTPMethod: "POST",
  11548. HTTPPath: "/",
  11549. }
  11550. if input == nil {
  11551. input = &DescribeSnapshotAttributeInput{}
  11552. }
  11553. output = &DescribeSnapshotAttributeOutput{}
  11554. req = c.newRequest(op, input, output)
  11555. return
  11556. }
  11557. // DescribeSnapshotAttribute API operation for Amazon Elastic Compute Cloud.
  11558. //
  11559. // Describes the specified attribute of the specified snapshot. You can specify
  11560. // only one attribute at a time.
  11561. //
  11562. // For more information about EBS snapshots, see Amazon EBS Snapshots (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html)
  11563. // in the Amazon Elastic Compute Cloud User Guide.
  11564. //
  11565. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11566. // with awserr.Error's Code and Message methods to get detailed information about
  11567. // the error.
  11568. //
  11569. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11570. // API operation DescribeSnapshotAttribute for usage and error information.
  11571. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotAttribute
  11572. func (c *EC2) DescribeSnapshotAttribute(input *DescribeSnapshotAttributeInput) (*DescribeSnapshotAttributeOutput, error) {
  11573. req, out := c.DescribeSnapshotAttributeRequest(input)
  11574. return out, req.Send()
  11575. }
  11576. // DescribeSnapshotAttributeWithContext is the same as DescribeSnapshotAttribute with the addition of
  11577. // the ability to pass a context and additional request options.
  11578. //
  11579. // See DescribeSnapshotAttribute for details on how to use this API operation.
  11580. //
  11581. // The context must be non-nil and will be used for request cancellation. If
  11582. // the context is nil a panic will occur. In the future the SDK may create
  11583. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11584. // for more information on using Contexts.
  11585. func (c *EC2) DescribeSnapshotAttributeWithContext(ctx aws.Context, input *DescribeSnapshotAttributeInput, opts ...request.Option) (*DescribeSnapshotAttributeOutput, error) {
  11586. req, out := c.DescribeSnapshotAttributeRequest(input)
  11587. req.SetContext(ctx)
  11588. req.ApplyOptions(opts...)
  11589. return out, req.Send()
  11590. }
  11591. const opDescribeSnapshots = "DescribeSnapshots"
  11592. // DescribeSnapshotsRequest generates a "aws/request.Request" representing the
  11593. // client's request for the DescribeSnapshots operation. The "output" return
  11594. // value will be populated with the request's response once the request complets
  11595. // successfuly.
  11596. //
  11597. // Use "Send" method on the returned Request to send the API call to the service.
  11598. // the "output" return value is not valid until after Send returns without error.
  11599. //
  11600. // See DescribeSnapshots for more information on using the DescribeSnapshots
  11601. // API call, and error handling.
  11602. //
  11603. // This method is useful when you want to inject custom logic or configuration
  11604. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11605. //
  11606. //
  11607. // // Example sending a request using the DescribeSnapshotsRequest method.
  11608. // req, resp := client.DescribeSnapshotsRequest(params)
  11609. //
  11610. // err := req.Send()
  11611. // if err == nil { // resp is now filled
  11612. // fmt.Println(resp)
  11613. // }
  11614. //
  11615. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshots
  11616. func (c *EC2) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *request.Request, output *DescribeSnapshotsOutput) {
  11617. op := &request.Operation{
  11618. Name: opDescribeSnapshots,
  11619. HTTPMethod: "POST",
  11620. HTTPPath: "/",
  11621. Paginator: &request.Paginator{
  11622. InputTokens: []string{"NextToken"},
  11623. OutputTokens: []string{"NextToken"},
  11624. LimitToken: "MaxResults",
  11625. TruncationToken: "",
  11626. },
  11627. }
  11628. if input == nil {
  11629. input = &DescribeSnapshotsInput{}
  11630. }
  11631. output = &DescribeSnapshotsOutput{}
  11632. req = c.newRequest(op, input, output)
  11633. return
  11634. }
  11635. // DescribeSnapshots API operation for Amazon Elastic Compute Cloud.
  11636. //
  11637. // Describes one or more of the EBS snapshots available to you. Available snapshots
  11638. // include public snapshots available for any AWS account to launch, private
  11639. // snapshots that you own, and private snapshots owned by another AWS account
  11640. // but for which you've been given explicit create volume permissions.
  11641. //
  11642. // The create volume permissions fall into the following categories:
  11643. //
  11644. // * public: The owner of the snapshot granted create volume permissions
  11645. // for the snapshot to the all group. All AWS accounts have create volume
  11646. // permissions for these snapshots.
  11647. //
  11648. // * explicit: The owner of the snapshot granted create volume permissions
  11649. // to a specific AWS account.
  11650. //
  11651. // * implicit: An AWS account has implicit create volume permissions for
  11652. // all snapshots it owns.
  11653. //
  11654. // The list of snapshots returned can be modified by specifying snapshot IDs,
  11655. // snapshot owners, or AWS accounts with create volume permissions. If no options
  11656. // are specified, Amazon EC2 returns all snapshots for which you have create
  11657. // volume permissions.
  11658. //
  11659. // If you specify one or more snapshot IDs, only snapshots that have the specified
  11660. // IDs are returned. If you specify an invalid snapshot ID, an error is returned.
  11661. // If you specify a snapshot ID for which you do not have access, it is not
  11662. // included in the returned results.
  11663. //
  11664. // If you specify one or more snapshot owners using the OwnerIds option, only
  11665. // snapshots from the specified owners and for which you have access are returned.
  11666. // The results can include the AWS account IDs of the specified owners, amazon
  11667. // for snapshots owned by Amazon, or self for snapshots that you own.
  11668. //
  11669. // If you specify a list of restorable users, only snapshots with create snapshot
  11670. // permissions for those users are returned. You can specify AWS account IDs
  11671. // (if you own the snapshots), self for snapshots for which you own or have
  11672. // explicit permissions, or all for public snapshots.
  11673. //
  11674. // If you are describing a long list of snapshots, you can paginate the output
  11675. // to make the list more manageable. The MaxResults parameter sets the maximum
  11676. // number of results returned in a single page. If the list of results exceeds
  11677. // your MaxResults value, then that number of results is returned along with
  11678. // a NextToken value that can be passed to a subsequent DescribeSnapshots request
  11679. // to retrieve the remaining results.
  11680. //
  11681. // For more information about EBS snapshots, see Amazon EBS Snapshots (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html)
  11682. // in the Amazon Elastic Compute Cloud User Guide.
  11683. //
  11684. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11685. // with awserr.Error's Code and Message methods to get detailed information about
  11686. // the error.
  11687. //
  11688. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11689. // API operation DescribeSnapshots for usage and error information.
  11690. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshots
  11691. func (c *EC2) DescribeSnapshots(input *DescribeSnapshotsInput) (*DescribeSnapshotsOutput, error) {
  11692. req, out := c.DescribeSnapshotsRequest(input)
  11693. return out, req.Send()
  11694. }
  11695. // DescribeSnapshotsWithContext is the same as DescribeSnapshots with the addition of
  11696. // the ability to pass a context and additional request options.
  11697. //
  11698. // See DescribeSnapshots for details on how to use this API operation.
  11699. //
  11700. // The context must be non-nil and will be used for request cancellation. If
  11701. // the context is nil a panic will occur. In the future the SDK may create
  11702. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11703. // for more information on using Contexts.
  11704. func (c *EC2) DescribeSnapshotsWithContext(ctx aws.Context, input *DescribeSnapshotsInput, opts ...request.Option) (*DescribeSnapshotsOutput, error) {
  11705. req, out := c.DescribeSnapshotsRequest(input)
  11706. req.SetContext(ctx)
  11707. req.ApplyOptions(opts...)
  11708. return out, req.Send()
  11709. }
  11710. // DescribeSnapshotsPages iterates over the pages of a DescribeSnapshots operation,
  11711. // calling the "fn" function with the response data for each page. To stop
  11712. // iterating, return false from the fn function.
  11713. //
  11714. // See DescribeSnapshots method for more information on how to use this operation.
  11715. //
  11716. // Note: This operation can generate multiple requests to a service.
  11717. //
  11718. // // Example iterating over at most 3 pages of a DescribeSnapshots operation.
  11719. // pageNum := 0
  11720. // err := client.DescribeSnapshotsPages(params,
  11721. // func(page *DescribeSnapshotsOutput, lastPage bool) bool {
  11722. // pageNum++
  11723. // fmt.Println(page)
  11724. // return pageNum <= 3
  11725. // })
  11726. //
  11727. func (c *EC2) DescribeSnapshotsPages(input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool) error {
  11728. return c.DescribeSnapshotsPagesWithContext(aws.BackgroundContext(), input, fn)
  11729. }
  11730. // DescribeSnapshotsPagesWithContext same as DescribeSnapshotsPages except
  11731. // it takes a Context and allows setting request options on the pages.
  11732. //
  11733. // The context must be non-nil and will be used for request cancellation. If
  11734. // the context is nil a panic will occur. In the future the SDK may create
  11735. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11736. // for more information on using Contexts.
  11737. func (c *EC2) DescribeSnapshotsPagesWithContext(ctx aws.Context, input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool, opts ...request.Option) error {
  11738. p := request.Pagination{
  11739. NewRequest: func() (*request.Request, error) {
  11740. var inCpy *DescribeSnapshotsInput
  11741. if input != nil {
  11742. tmp := *input
  11743. inCpy = &tmp
  11744. }
  11745. req, _ := c.DescribeSnapshotsRequest(inCpy)
  11746. req.SetContext(ctx)
  11747. req.ApplyOptions(opts...)
  11748. return req, nil
  11749. },
  11750. }
  11751. cont := true
  11752. for p.Next() && cont {
  11753. cont = fn(p.Page().(*DescribeSnapshotsOutput), !p.HasNextPage())
  11754. }
  11755. return p.Err()
  11756. }
  11757. const opDescribeSpotDatafeedSubscription = "DescribeSpotDatafeedSubscription"
  11758. // DescribeSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
  11759. // client's request for the DescribeSpotDatafeedSubscription operation. The "output" return
  11760. // value will be populated with the request's response once the request complets
  11761. // successfuly.
  11762. //
  11763. // Use "Send" method on the returned Request to send the API call to the service.
  11764. // the "output" return value is not valid until after Send returns without error.
  11765. //
  11766. // See DescribeSpotDatafeedSubscription for more information on using the DescribeSpotDatafeedSubscription
  11767. // API call, and error handling.
  11768. //
  11769. // This method is useful when you want to inject custom logic or configuration
  11770. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11771. //
  11772. //
  11773. // // Example sending a request using the DescribeSpotDatafeedSubscriptionRequest method.
  11774. // req, resp := client.DescribeSpotDatafeedSubscriptionRequest(params)
  11775. //
  11776. // err := req.Send()
  11777. // if err == nil { // resp is now filled
  11778. // fmt.Println(resp)
  11779. // }
  11780. //
  11781. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotDatafeedSubscription
  11782. func (c *EC2) DescribeSpotDatafeedSubscriptionRequest(input *DescribeSpotDatafeedSubscriptionInput) (req *request.Request, output *DescribeSpotDatafeedSubscriptionOutput) {
  11783. op := &request.Operation{
  11784. Name: opDescribeSpotDatafeedSubscription,
  11785. HTTPMethod: "POST",
  11786. HTTPPath: "/",
  11787. }
  11788. if input == nil {
  11789. input = &DescribeSpotDatafeedSubscriptionInput{}
  11790. }
  11791. output = &DescribeSpotDatafeedSubscriptionOutput{}
  11792. req = c.newRequest(op, input, output)
  11793. return
  11794. }
  11795. // DescribeSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
  11796. //
  11797. // Describes the data feed for Spot Instances. For more information, see Spot
  11798. // Instance Data Feed (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html)
  11799. // in the Amazon Elastic Compute Cloud User Guide.
  11800. //
  11801. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11802. // with awserr.Error's Code and Message methods to get detailed information about
  11803. // the error.
  11804. //
  11805. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11806. // API operation DescribeSpotDatafeedSubscription for usage and error information.
  11807. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotDatafeedSubscription
  11808. func (c *EC2) DescribeSpotDatafeedSubscription(input *DescribeSpotDatafeedSubscriptionInput) (*DescribeSpotDatafeedSubscriptionOutput, error) {
  11809. req, out := c.DescribeSpotDatafeedSubscriptionRequest(input)
  11810. return out, req.Send()
  11811. }
  11812. // DescribeSpotDatafeedSubscriptionWithContext is the same as DescribeSpotDatafeedSubscription with the addition of
  11813. // the ability to pass a context and additional request options.
  11814. //
  11815. // See DescribeSpotDatafeedSubscription for details on how to use this API operation.
  11816. //
  11817. // The context must be non-nil and will be used for request cancellation. If
  11818. // the context is nil a panic will occur. In the future the SDK may create
  11819. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11820. // for more information on using Contexts.
  11821. func (c *EC2) DescribeSpotDatafeedSubscriptionWithContext(ctx aws.Context, input *DescribeSpotDatafeedSubscriptionInput, opts ...request.Option) (*DescribeSpotDatafeedSubscriptionOutput, error) {
  11822. req, out := c.DescribeSpotDatafeedSubscriptionRequest(input)
  11823. req.SetContext(ctx)
  11824. req.ApplyOptions(opts...)
  11825. return out, req.Send()
  11826. }
  11827. const opDescribeSpotFleetInstances = "DescribeSpotFleetInstances"
  11828. // DescribeSpotFleetInstancesRequest generates a "aws/request.Request" representing the
  11829. // client's request for the DescribeSpotFleetInstances operation. The "output" return
  11830. // value will be populated with the request's response once the request complets
  11831. // successfuly.
  11832. //
  11833. // Use "Send" method on the returned Request to send the API call to the service.
  11834. // the "output" return value is not valid until after Send returns without error.
  11835. //
  11836. // See DescribeSpotFleetInstances for more information on using the DescribeSpotFleetInstances
  11837. // API call, and error handling.
  11838. //
  11839. // This method is useful when you want to inject custom logic or configuration
  11840. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11841. //
  11842. //
  11843. // // Example sending a request using the DescribeSpotFleetInstancesRequest method.
  11844. // req, resp := client.DescribeSpotFleetInstancesRequest(params)
  11845. //
  11846. // err := req.Send()
  11847. // if err == nil { // resp is now filled
  11848. // fmt.Println(resp)
  11849. // }
  11850. //
  11851. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetInstances
  11852. func (c *EC2) DescribeSpotFleetInstancesRequest(input *DescribeSpotFleetInstancesInput) (req *request.Request, output *DescribeSpotFleetInstancesOutput) {
  11853. op := &request.Operation{
  11854. Name: opDescribeSpotFleetInstances,
  11855. HTTPMethod: "POST",
  11856. HTTPPath: "/",
  11857. }
  11858. if input == nil {
  11859. input = &DescribeSpotFleetInstancesInput{}
  11860. }
  11861. output = &DescribeSpotFleetInstancesOutput{}
  11862. req = c.newRequest(op, input, output)
  11863. return
  11864. }
  11865. // DescribeSpotFleetInstances API operation for Amazon Elastic Compute Cloud.
  11866. //
  11867. // Describes the running instances for the specified Spot Fleet.
  11868. //
  11869. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11870. // with awserr.Error's Code and Message methods to get detailed information about
  11871. // the error.
  11872. //
  11873. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11874. // API operation DescribeSpotFleetInstances for usage and error information.
  11875. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetInstances
  11876. func (c *EC2) DescribeSpotFleetInstances(input *DescribeSpotFleetInstancesInput) (*DescribeSpotFleetInstancesOutput, error) {
  11877. req, out := c.DescribeSpotFleetInstancesRequest(input)
  11878. return out, req.Send()
  11879. }
  11880. // DescribeSpotFleetInstancesWithContext is the same as DescribeSpotFleetInstances with the addition of
  11881. // the ability to pass a context and additional request options.
  11882. //
  11883. // See DescribeSpotFleetInstances for details on how to use this API operation.
  11884. //
  11885. // The context must be non-nil and will be used for request cancellation. If
  11886. // the context is nil a panic will occur. In the future the SDK may create
  11887. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11888. // for more information on using Contexts.
  11889. func (c *EC2) DescribeSpotFleetInstancesWithContext(ctx aws.Context, input *DescribeSpotFleetInstancesInput, opts ...request.Option) (*DescribeSpotFleetInstancesOutput, error) {
  11890. req, out := c.DescribeSpotFleetInstancesRequest(input)
  11891. req.SetContext(ctx)
  11892. req.ApplyOptions(opts...)
  11893. return out, req.Send()
  11894. }
  11895. const opDescribeSpotFleetRequestHistory = "DescribeSpotFleetRequestHistory"
  11896. // DescribeSpotFleetRequestHistoryRequest generates a "aws/request.Request" representing the
  11897. // client's request for the DescribeSpotFleetRequestHistory operation. The "output" return
  11898. // value will be populated with the request's response once the request complets
  11899. // successfuly.
  11900. //
  11901. // Use "Send" method on the returned Request to send the API call to the service.
  11902. // the "output" return value is not valid until after Send returns without error.
  11903. //
  11904. // See DescribeSpotFleetRequestHistory for more information on using the DescribeSpotFleetRequestHistory
  11905. // API call, and error handling.
  11906. //
  11907. // This method is useful when you want to inject custom logic or configuration
  11908. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11909. //
  11910. //
  11911. // // Example sending a request using the DescribeSpotFleetRequestHistoryRequest method.
  11912. // req, resp := client.DescribeSpotFleetRequestHistoryRequest(params)
  11913. //
  11914. // err := req.Send()
  11915. // if err == nil { // resp is now filled
  11916. // fmt.Println(resp)
  11917. // }
  11918. //
  11919. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestHistory
  11920. func (c *EC2) DescribeSpotFleetRequestHistoryRequest(input *DescribeSpotFleetRequestHistoryInput) (req *request.Request, output *DescribeSpotFleetRequestHistoryOutput) {
  11921. op := &request.Operation{
  11922. Name: opDescribeSpotFleetRequestHistory,
  11923. HTTPMethod: "POST",
  11924. HTTPPath: "/",
  11925. }
  11926. if input == nil {
  11927. input = &DescribeSpotFleetRequestHistoryInput{}
  11928. }
  11929. output = &DescribeSpotFleetRequestHistoryOutput{}
  11930. req = c.newRequest(op, input, output)
  11931. return
  11932. }
  11933. // DescribeSpotFleetRequestHistory API operation for Amazon Elastic Compute Cloud.
  11934. //
  11935. // Describes the events for the specified Spot Fleet request during the specified
  11936. // time.
  11937. //
  11938. // Spot Fleet events are delayed by up to 30 seconds before they can be described.
  11939. // This ensures that you can query by the last evaluated time and not miss a
  11940. // recorded event.
  11941. //
  11942. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11943. // with awserr.Error's Code and Message methods to get detailed information about
  11944. // the error.
  11945. //
  11946. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11947. // API operation DescribeSpotFleetRequestHistory for usage and error information.
  11948. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestHistory
  11949. func (c *EC2) DescribeSpotFleetRequestHistory(input *DescribeSpotFleetRequestHistoryInput) (*DescribeSpotFleetRequestHistoryOutput, error) {
  11950. req, out := c.DescribeSpotFleetRequestHistoryRequest(input)
  11951. return out, req.Send()
  11952. }
  11953. // DescribeSpotFleetRequestHistoryWithContext is the same as DescribeSpotFleetRequestHistory with the addition of
  11954. // the ability to pass a context and additional request options.
  11955. //
  11956. // See DescribeSpotFleetRequestHistory for details on how to use this API operation.
  11957. //
  11958. // The context must be non-nil and will be used for request cancellation. If
  11959. // the context is nil a panic will occur. In the future the SDK may create
  11960. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11961. // for more information on using Contexts.
  11962. func (c *EC2) DescribeSpotFleetRequestHistoryWithContext(ctx aws.Context, input *DescribeSpotFleetRequestHistoryInput, opts ...request.Option) (*DescribeSpotFleetRequestHistoryOutput, error) {
  11963. req, out := c.DescribeSpotFleetRequestHistoryRequest(input)
  11964. req.SetContext(ctx)
  11965. req.ApplyOptions(opts...)
  11966. return out, req.Send()
  11967. }
  11968. const opDescribeSpotFleetRequests = "DescribeSpotFleetRequests"
  11969. // DescribeSpotFleetRequestsRequest generates a "aws/request.Request" representing the
  11970. // client's request for the DescribeSpotFleetRequests operation. The "output" return
  11971. // value will be populated with the request's response once the request complets
  11972. // successfuly.
  11973. //
  11974. // Use "Send" method on the returned Request to send the API call to the service.
  11975. // the "output" return value is not valid until after Send returns without error.
  11976. //
  11977. // See DescribeSpotFleetRequests for more information on using the DescribeSpotFleetRequests
  11978. // API call, and error handling.
  11979. //
  11980. // This method is useful when you want to inject custom logic or configuration
  11981. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11982. //
  11983. //
  11984. // // Example sending a request using the DescribeSpotFleetRequestsRequest method.
  11985. // req, resp := client.DescribeSpotFleetRequestsRequest(params)
  11986. //
  11987. // err := req.Send()
  11988. // if err == nil { // resp is now filled
  11989. // fmt.Println(resp)
  11990. // }
  11991. //
  11992. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequests
  11993. func (c *EC2) DescribeSpotFleetRequestsRequest(input *DescribeSpotFleetRequestsInput) (req *request.Request, output *DescribeSpotFleetRequestsOutput) {
  11994. op := &request.Operation{
  11995. Name: opDescribeSpotFleetRequests,
  11996. HTTPMethod: "POST",
  11997. HTTPPath: "/",
  11998. Paginator: &request.Paginator{
  11999. InputTokens: []string{"NextToken"},
  12000. OutputTokens: []string{"NextToken"},
  12001. LimitToken: "MaxResults",
  12002. TruncationToken: "",
  12003. },
  12004. }
  12005. if input == nil {
  12006. input = &DescribeSpotFleetRequestsInput{}
  12007. }
  12008. output = &DescribeSpotFleetRequestsOutput{}
  12009. req = c.newRequest(op, input, output)
  12010. return
  12011. }
  12012. // DescribeSpotFleetRequests API operation for Amazon Elastic Compute Cloud.
  12013. //
  12014. // Describes your Spot Fleet requests.
  12015. //
  12016. // Spot Fleet requests are deleted 48 hours after they are canceled and their
  12017. // instances are terminated.
  12018. //
  12019. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12020. // with awserr.Error's Code and Message methods to get detailed information about
  12021. // the error.
  12022. //
  12023. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12024. // API operation DescribeSpotFleetRequests for usage and error information.
  12025. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequests
  12026. func (c *EC2) DescribeSpotFleetRequests(input *DescribeSpotFleetRequestsInput) (*DescribeSpotFleetRequestsOutput, error) {
  12027. req, out := c.DescribeSpotFleetRequestsRequest(input)
  12028. return out, req.Send()
  12029. }
  12030. // DescribeSpotFleetRequestsWithContext is the same as DescribeSpotFleetRequests with the addition of
  12031. // the ability to pass a context and additional request options.
  12032. //
  12033. // See DescribeSpotFleetRequests for details on how to use this API operation.
  12034. //
  12035. // The context must be non-nil and will be used for request cancellation. If
  12036. // the context is nil a panic will occur. In the future the SDK may create
  12037. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12038. // for more information on using Contexts.
  12039. func (c *EC2) DescribeSpotFleetRequestsWithContext(ctx aws.Context, input *DescribeSpotFleetRequestsInput, opts ...request.Option) (*DescribeSpotFleetRequestsOutput, error) {
  12040. req, out := c.DescribeSpotFleetRequestsRequest(input)
  12041. req.SetContext(ctx)
  12042. req.ApplyOptions(opts...)
  12043. return out, req.Send()
  12044. }
  12045. // DescribeSpotFleetRequestsPages iterates over the pages of a DescribeSpotFleetRequests operation,
  12046. // calling the "fn" function with the response data for each page. To stop
  12047. // iterating, return false from the fn function.
  12048. //
  12049. // See DescribeSpotFleetRequests method for more information on how to use this operation.
  12050. //
  12051. // Note: This operation can generate multiple requests to a service.
  12052. //
  12053. // // Example iterating over at most 3 pages of a DescribeSpotFleetRequests operation.
  12054. // pageNum := 0
  12055. // err := client.DescribeSpotFleetRequestsPages(params,
  12056. // func(page *DescribeSpotFleetRequestsOutput, lastPage bool) bool {
  12057. // pageNum++
  12058. // fmt.Println(page)
  12059. // return pageNum <= 3
  12060. // })
  12061. //
  12062. func (c *EC2) DescribeSpotFleetRequestsPages(input *DescribeSpotFleetRequestsInput, fn func(*DescribeSpotFleetRequestsOutput, bool) bool) error {
  12063. return c.DescribeSpotFleetRequestsPagesWithContext(aws.BackgroundContext(), input, fn)
  12064. }
  12065. // DescribeSpotFleetRequestsPagesWithContext same as DescribeSpotFleetRequestsPages except
  12066. // it takes a Context and allows setting request options on the pages.
  12067. //
  12068. // The context must be non-nil and will be used for request cancellation. If
  12069. // the context is nil a panic will occur. In the future the SDK may create
  12070. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12071. // for more information on using Contexts.
  12072. func (c *EC2) DescribeSpotFleetRequestsPagesWithContext(ctx aws.Context, input *DescribeSpotFleetRequestsInput, fn func(*DescribeSpotFleetRequestsOutput, bool) bool, opts ...request.Option) error {
  12073. p := request.Pagination{
  12074. NewRequest: func() (*request.Request, error) {
  12075. var inCpy *DescribeSpotFleetRequestsInput
  12076. if input != nil {
  12077. tmp := *input
  12078. inCpy = &tmp
  12079. }
  12080. req, _ := c.DescribeSpotFleetRequestsRequest(inCpy)
  12081. req.SetContext(ctx)
  12082. req.ApplyOptions(opts...)
  12083. return req, nil
  12084. },
  12085. }
  12086. cont := true
  12087. for p.Next() && cont {
  12088. cont = fn(p.Page().(*DescribeSpotFleetRequestsOutput), !p.HasNextPage())
  12089. }
  12090. return p.Err()
  12091. }
  12092. const opDescribeSpotInstanceRequests = "DescribeSpotInstanceRequests"
  12093. // DescribeSpotInstanceRequestsRequest generates a "aws/request.Request" representing the
  12094. // client's request for the DescribeSpotInstanceRequests operation. The "output" return
  12095. // value will be populated with the request's response once the request complets
  12096. // successfuly.
  12097. //
  12098. // Use "Send" method on the returned Request to send the API call to the service.
  12099. // the "output" return value is not valid until after Send returns without error.
  12100. //
  12101. // See DescribeSpotInstanceRequests for more information on using the DescribeSpotInstanceRequests
  12102. // API call, and error handling.
  12103. //
  12104. // This method is useful when you want to inject custom logic or configuration
  12105. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  12106. //
  12107. //
  12108. // // Example sending a request using the DescribeSpotInstanceRequestsRequest method.
  12109. // req, resp := client.DescribeSpotInstanceRequestsRequest(params)
  12110. //
  12111. // err := req.Send()
  12112. // if err == nil { // resp is now filled
  12113. // fmt.Println(resp)
  12114. // }
  12115. //
  12116. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotInstanceRequests
  12117. func (c *EC2) DescribeSpotInstanceRequestsRequest(input *DescribeSpotInstanceRequestsInput) (req *request.Request, output *DescribeSpotInstanceRequestsOutput) {
  12118. op := &request.Operation{
  12119. Name: opDescribeSpotInstanceRequests,
  12120. HTTPMethod: "POST",
  12121. HTTPPath: "/",
  12122. }
  12123. if input == nil {
  12124. input = &DescribeSpotInstanceRequestsInput{}
  12125. }
  12126. output = &DescribeSpotInstanceRequestsOutput{}
  12127. req = c.newRequest(op, input, output)
  12128. return
  12129. }
  12130. // DescribeSpotInstanceRequests API operation for Amazon Elastic Compute Cloud.
  12131. //
  12132. // Describes the Spot Instance requests that belong to your account. Spot Instances
  12133. // are instances that Amazon EC2 launches when the Spot price that you specify
  12134. // exceeds the current Spot price. For more information, see Spot Instance Requests
  12135. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html) in
  12136. // the Amazon Elastic Compute Cloud User Guide.
  12137. //
  12138. // You can use DescribeSpotInstanceRequests to find a running Spot Instance
  12139. // by examining the response. If the status of the Spot Instance is fulfilled,
  12140. // the instance ID appears in the response and contains the identifier of the
  12141. // instance. Alternatively, you can use DescribeInstances with a filter to look
  12142. // for instances where the instance lifecycle is spot.
  12143. //
  12144. // Spot Instance requests are deleted 4 hours after they are canceled and their
  12145. // instances are terminated.
  12146. //
  12147. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12148. // with awserr.Error's Code and Message methods to get detailed information about
  12149. // the error.
  12150. //
  12151. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12152. // API operation DescribeSpotInstanceRequests for usage and error information.
  12153. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotInstanceRequests
  12154. func (c *EC2) DescribeSpotInstanceRequests(input *DescribeSpotInstanceRequestsInput) (*DescribeSpotInstanceRequestsOutput, error) {
  12155. req, out := c.DescribeSpotInstanceRequestsRequest(input)
  12156. return out, req.Send()
  12157. }
  12158. // DescribeSpotInstanceRequestsWithContext is the same as DescribeSpotInstanceRequests with the addition of
  12159. // the ability to pass a context and additional request options.
  12160. //
  12161. // See DescribeSpotInstanceRequests for details on how to use this API operation.
  12162. //
  12163. // The context must be non-nil and will be used for request cancellation. If
  12164. // the context is nil a panic will occur. In the future the SDK may create
  12165. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12166. // for more information on using Contexts.
  12167. func (c *EC2) DescribeSpotInstanceRequestsWithContext(ctx aws.Context, input *DescribeSpotInstanceRequestsInput, opts ...request.Option) (*DescribeSpotInstanceRequestsOutput, error) {
  12168. req, out := c.DescribeSpotInstanceRequestsRequest(input)
  12169. req.SetContext(ctx)
  12170. req.ApplyOptions(opts...)
  12171. return out, req.Send()
  12172. }
  12173. const opDescribeSpotPriceHistory = "DescribeSpotPriceHistory"
  12174. // DescribeSpotPriceHistoryRequest generates a "aws/request.Request" representing the
  12175. // client's request for the DescribeSpotPriceHistory operation. The "output" return
  12176. // value will be populated with the request's response once the request complets
  12177. // successfuly.
  12178. //
  12179. // Use "Send" method on the returned Request to send the API call to the service.
  12180. // the "output" return value is not valid until after Send returns without error.
  12181. //
  12182. // See DescribeSpotPriceHistory for more information on using the DescribeSpotPriceHistory
  12183. // API call, and error handling.
  12184. //
  12185. // This method is useful when you want to inject custom logic or configuration
  12186. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  12187. //
  12188. //
  12189. // // Example sending a request using the DescribeSpotPriceHistoryRequest method.
  12190. // req, resp := client.DescribeSpotPriceHistoryRequest(params)
  12191. //
  12192. // err := req.Send()
  12193. // if err == nil { // resp is now filled
  12194. // fmt.Println(resp)
  12195. // }
  12196. //
  12197. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotPriceHistory
  12198. func (c *EC2) DescribeSpotPriceHistoryRequest(input *DescribeSpotPriceHistoryInput) (req *request.Request, output *DescribeSpotPriceHistoryOutput) {
  12199. op := &request.Operation{
  12200. Name: opDescribeSpotPriceHistory,
  12201. HTTPMethod: "POST",
  12202. HTTPPath: "/",
  12203. Paginator: &request.Paginator{
  12204. InputTokens: []string{"NextToken"},
  12205. OutputTokens: []string{"NextToken"},
  12206. LimitToken: "MaxResults",
  12207. TruncationToken: "",
  12208. },
  12209. }
  12210. if input == nil {
  12211. input = &DescribeSpotPriceHistoryInput{}
  12212. }
  12213. output = &DescribeSpotPriceHistoryOutput{}
  12214. req = c.newRequest(op, input, output)
  12215. return
  12216. }
  12217. // DescribeSpotPriceHistory API operation for Amazon Elastic Compute Cloud.
  12218. //
  12219. // Describes the Spot price history. For more information, see Spot Instance
  12220. // Pricing History (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances-history.html)
  12221. // in the Amazon Elastic Compute Cloud User Guide.
  12222. //
  12223. // When you specify a start and end time, this operation returns the prices
  12224. // of the instance types within the time range that you specified and the time
  12225. // when the price changed. The price is valid within the time period that you
  12226. // specified; the response merely indicates the last time that the price changed.
  12227. //
  12228. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12229. // with awserr.Error's Code and Message methods to get detailed information about
  12230. // the error.
  12231. //
  12232. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12233. // API operation DescribeSpotPriceHistory for usage and error information.
  12234. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotPriceHistory
  12235. func (c *EC2) DescribeSpotPriceHistory(input *DescribeSpotPriceHistoryInput) (*DescribeSpotPriceHistoryOutput, error) {
  12236. req, out := c.DescribeSpotPriceHistoryRequest(input)
  12237. return out, req.Send()
  12238. }
  12239. // DescribeSpotPriceHistoryWithContext is the same as DescribeSpotPriceHistory with the addition of
  12240. // the ability to pass a context and additional request options.
  12241. //
  12242. // See DescribeSpotPriceHistory for details on how to use this API operation.
  12243. //
  12244. // The context must be non-nil and will be used for request cancellation. If
  12245. // the context is nil a panic will occur. In the future the SDK may create
  12246. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12247. // for more information on using Contexts.
  12248. func (c *EC2) DescribeSpotPriceHistoryWithContext(ctx aws.Context, input *DescribeSpotPriceHistoryInput, opts ...request.Option) (*DescribeSpotPriceHistoryOutput, error) {
  12249. req, out := c.DescribeSpotPriceHistoryRequest(input)
  12250. req.SetContext(ctx)
  12251. req.ApplyOptions(opts...)
  12252. return out, req.Send()
  12253. }
  12254. // DescribeSpotPriceHistoryPages iterates over the pages of a DescribeSpotPriceHistory operation,
  12255. // calling the "fn" function with the response data for each page. To stop
  12256. // iterating, return false from the fn function.
  12257. //
  12258. // See DescribeSpotPriceHistory method for more information on how to use this operation.
  12259. //
  12260. // Note: This operation can generate multiple requests to a service.
  12261. //
  12262. // // Example iterating over at most 3 pages of a DescribeSpotPriceHistory operation.
  12263. // pageNum := 0
  12264. // err := client.DescribeSpotPriceHistoryPages(params,
  12265. // func(page *DescribeSpotPriceHistoryOutput, lastPage bool) bool {
  12266. // pageNum++
  12267. // fmt.Println(page)
  12268. // return pageNum <= 3
  12269. // })
  12270. //
  12271. func (c *EC2) DescribeSpotPriceHistoryPages(input *DescribeSpotPriceHistoryInput, fn func(*DescribeSpotPriceHistoryOutput, bool) bool) error {
  12272. return c.DescribeSpotPriceHistoryPagesWithContext(aws.BackgroundContext(), input, fn)
  12273. }
  12274. // DescribeSpotPriceHistoryPagesWithContext same as DescribeSpotPriceHistoryPages except
  12275. // it takes a Context and allows setting request options on the pages.
  12276. //
  12277. // The context must be non-nil and will be used for request cancellation. If
  12278. // the context is nil a panic will occur. In the future the SDK may create
  12279. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12280. // for more information on using Contexts.
  12281. func (c *EC2) DescribeSpotPriceHistoryPagesWithContext(ctx aws.Context, input *DescribeSpotPriceHistoryInput, fn func(*DescribeSpotPriceHistoryOutput, bool) bool, opts ...request.Option) error {
  12282. p := request.Pagination{
  12283. NewRequest: func() (*request.Request, error) {
  12284. var inCpy *DescribeSpotPriceHistoryInput
  12285. if input != nil {
  12286. tmp := *input
  12287. inCpy = &tmp
  12288. }
  12289. req, _ := c.DescribeSpotPriceHistoryRequest(inCpy)
  12290. req.SetContext(ctx)
  12291. req.ApplyOptions(opts...)
  12292. return req, nil
  12293. },
  12294. }
  12295. cont := true
  12296. for p.Next() && cont {
  12297. cont = fn(p.Page().(*DescribeSpotPriceHistoryOutput), !p.HasNextPage())
  12298. }
  12299. return p.Err()
  12300. }
  12301. const opDescribeStaleSecurityGroups = "DescribeStaleSecurityGroups"
  12302. // DescribeStaleSecurityGroupsRequest generates a "aws/request.Request" representing the
  12303. // client's request for the DescribeStaleSecurityGroups operation. The "output" return
  12304. // value will be populated with the request's response once the request complets
  12305. // successfuly.
  12306. //
  12307. // Use "Send" method on the returned Request to send the API call to the service.
  12308. // the "output" return value is not valid until after Send returns without error.
  12309. //
  12310. // See DescribeStaleSecurityGroups for more information on using the DescribeStaleSecurityGroups
  12311. // API call, and error handling.
  12312. //
  12313. // This method is useful when you want to inject custom logic or configuration
  12314. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  12315. //
  12316. //
  12317. // // Example sending a request using the DescribeStaleSecurityGroupsRequest method.
  12318. // req, resp := client.DescribeStaleSecurityGroupsRequest(params)
  12319. //
  12320. // err := req.Send()
  12321. // if err == nil { // resp is now filled
  12322. // fmt.Println(resp)
  12323. // }
  12324. //
  12325. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStaleSecurityGroups
  12326. func (c *EC2) DescribeStaleSecurityGroupsRequest(input *DescribeStaleSecurityGroupsInput) (req *request.Request, output *DescribeStaleSecurityGroupsOutput) {
  12327. op := &request.Operation{
  12328. Name: opDescribeStaleSecurityGroups,
  12329. HTTPMethod: "POST",
  12330. HTTPPath: "/",
  12331. }
  12332. if input == nil {
  12333. input = &DescribeStaleSecurityGroupsInput{}
  12334. }
  12335. output = &DescribeStaleSecurityGroupsOutput{}
  12336. req = c.newRequest(op, input, output)
  12337. return
  12338. }
  12339. // DescribeStaleSecurityGroups API operation for Amazon Elastic Compute Cloud.
  12340. //
  12341. // [EC2-VPC only] Describes the stale security group rules for security groups
  12342. // in a specified VPC. Rules are stale when they reference a deleted security
  12343. // group in a peer VPC, or a security group in a peer VPC for which the VPC
  12344. // peering connection has been deleted.
  12345. //
  12346. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12347. // with awserr.Error's Code and Message methods to get detailed information about
  12348. // the error.
  12349. //
  12350. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12351. // API operation DescribeStaleSecurityGroups for usage and error information.
  12352. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStaleSecurityGroups
  12353. func (c *EC2) DescribeStaleSecurityGroups(input *DescribeStaleSecurityGroupsInput) (*DescribeStaleSecurityGroupsOutput, error) {
  12354. req, out := c.DescribeStaleSecurityGroupsRequest(input)
  12355. return out, req.Send()
  12356. }
  12357. // DescribeStaleSecurityGroupsWithContext is the same as DescribeStaleSecurityGroups with the addition of
  12358. // the ability to pass a context and additional request options.
  12359. //
  12360. // See DescribeStaleSecurityGroups for details on how to use this API operation.
  12361. //
  12362. // The context must be non-nil and will be used for request cancellation. If
  12363. // the context is nil a panic will occur. In the future the SDK may create
  12364. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12365. // for more information on using Contexts.
  12366. func (c *EC2) DescribeStaleSecurityGroupsWithContext(ctx aws.Context, input *DescribeStaleSecurityGroupsInput, opts ...request.Option) (*DescribeStaleSecurityGroupsOutput, error) {
  12367. req, out := c.DescribeStaleSecurityGroupsRequest(input)
  12368. req.SetContext(ctx)
  12369. req.ApplyOptions(opts...)
  12370. return out, req.Send()
  12371. }
  12372. const opDescribeSubnets = "DescribeSubnets"
  12373. // DescribeSubnetsRequest generates a "aws/request.Request" representing the
  12374. // client's request for the DescribeSubnets operation. The "output" return
  12375. // value will be populated with the request's response once the request complets
  12376. // successfuly.
  12377. //
  12378. // Use "Send" method on the returned Request to send the API call to the service.
  12379. // the "output" return value is not valid until after Send returns without error.
  12380. //
  12381. // See DescribeSubnets for more information on using the DescribeSubnets
  12382. // API call, and error handling.
  12383. //
  12384. // This method is useful when you want to inject custom logic or configuration
  12385. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  12386. //
  12387. //
  12388. // // Example sending a request using the DescribeSubnetsRequest method.
  12389. // req, resp := client.DescribeSubnetsRequest(params)
  12390. //
  12391. // err := req.Send()
  12392. // if err == nil { // resp is now filled
  12393. // fmt.Println(resp)
  12394. // }
  12395. //
  12396. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSubnets
  12397. func (c *EC2) DescribeSubnetsRequest(input *DescribeSubnetsInput) (req *request.Request, output *DescribeSubnetsOutput) {
  12398. op := &request.Operation{
  12399. Name: opDescribeSubnets,
  12400. HTTPMethod: "POST",
  12401. HTTPPath: "/",
  12402. }
  12403. if input == nil {
  12404. input = &DescribeSubnetsInput{}
  12405. }
  12406. output = &DescribeSubnetsOutput{}
  12407. req = c.newRequest(op, input, output)
  12408. return
  12409. }
  12410. // DescribeSubnets API operation for Amazon Elastic Compute Cloud.
  12411. //
  12412. // Describes one or more of your subnets.
  12413. //
  12414. // For more information about subnets, see Your VPC and Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html)
  12415. // in the Amazon Virtual Private Cloud User Guide.
  12416. //
  12417. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12418. // with awserr.Error's Code and Message methods to get detailed information about
  12419. // the error.
  12420. //
  12421. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12422. // API operation DescribeSubnets for usage and error information.
  12423. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSubnets
  12424. func (c *EC2) DescribeSubnets(input *DescribeSubnetsInput) (*DescribeSubnetsOutput, error) {
  12425. req, out := c.DescribeSubnetsRequest(input)
  12426. return out, req.Send()
  12427. }
  12428. // DescribeSubnetsWithContext is the same as DescribeSubnets with the addition of
  12429. // the ability to pass a context and additional request options.
  12430. //
  12431. // See DescribeSubnets for details on how to use this API operation.
  12432. //
  12433. // The context must be non-nil and will be used for request cancellation. If
  12434. // the context is nil a panic will occur. In the future the SDK may create
  12435. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12436. // for more information on using Contexts.
  12437. func (c *EC2) DescribeSubnetsWithContext(ctx aws.Context, input *DescribeSubnetsInput, opts ...request.Option) (*DescribeSubnetsOutput, error) {
  12438. req, out := c.DescribeSubnetsRequest(input)
  12439. req.SetContext(ctx)
  12440. req.ApplyOptions(opts...)
  12441. return out, req.Send()
  12442. }
  12443. const opDescribeTags = "DescribeTags"
  12444. // DescribeTagsRequest generates a "aws/request.Request" representing the
  12445. // client's request for the DescribeTags operation. The "output" return
  12446. // value will be populated with the request's response once the request complets
  12447. // successfuly.
  12448. //
  12449. // Use "Send" method on the returned Request to send the API call to the service.
  12450. // the "output" return value is not valid until after Send returns without error.
  12451. //
  12452. // See DescribeTags for more information on using the DescribeTags
  12453. // API call, and error handling.
  12454. //
  12455. // This method is useful when you want to inject custom logic or configuration
  12456. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  12457. //
  12458. //
  12459. // // Example sending a request using the DescribeTagsRequest method.
  12460. // req, resp := client.DescribeTagsRequest(params)
  12461. //
  12462. // err := req.Send()
  12463. // if err == nil { // resp is now filled
  12464. // fmt.Println(resp)
  12465. // }
  12466. //
  12467. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTags
  12468. func (c *EC2) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Request, output *DescribeTagsOutput) {
  12469. op := &request.Operation{
  12470. Name: opDescribeTags,
  12471. HTTPMethod: "POST",
  12472. HTTPPath: "/",
  12473. Paginator: &request.Paginator{
  12474. InputTokens: []string{"NextToken"},
  12475. OutputTokens: []string{"NextToken"},
  12476. LimitToken: "MaxResults",
  12477. TruncationToken: "",
  12478. },
  12479. }
  12480. if input == nil {
  12481. input = &DescribeTagsInput{}
  12482. }
  12483. output = &DescribeTagsOutput{}
  12484. req = c.newRequest(op, input, output)
  12485. return
  12486. }
  12487. // DescribeTags API operation for Amazon Elastic Compute Cloud.
  12488. //
  12489. // Describes one or more of the tags for your EC2 resources.
  12490. //
  12491. // For more information about tags, see Tagging Your Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
  12492. // in the Amazon Elastic Compute Cloud User Guide.
  12493. //
  12494. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12495. // with awserr.Error's Code and Message methods to get detailed information about
  12496. // the error.
  12497. //
  12498. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12499. // API operation DescribeTags for usage and error information.
  12500. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTags
  12501. func (c *EC2) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error) {
  12502. req, out := c.DescribeTagsRequest(input)
  12503. return out, req.Send()
  12504. }
  12505. // DescribeTagsWithContext is the same as DescribeTags with the addition of
  12506. // the ability to pass a context and additional request options.
  12507. //
  12508. // See DescribeTags for details on how to use this API operation.
  12509. //
  12510. // The context must be non-nil and will be used for request cancellation. If
  12511. // the context is nil a panic will occur. In the future the SDK may create
  12512. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12513. // for more information on using Contexts.
  12514. func (c *EC2) DescribeTagsWithContext(ctx aws.Context, input *DescribeTagsInput, opts ...request.Option) (*DescribeTagsOutput, error) {
  12515. req, out := c.DescribeTagsRequest(input)
  12516. req.SetContext(ctx)
  12517. req.ApplyOptions(opts...)
  12518. return out, req.Send()
  12519. }
  12520. // DescribeTagsPages iterates over the pages of a DescribeTags operation,
  12521. // calling the "fn" function with the response data for each page. To stop
  12522. // iterating, return false from the fn function.
  12523. //
  12524. // See DescribeTags method for more information on how to use this operation.
  12525. //
  12526. // Note: This operation can generate multiple requests to a service.
  12527. //
  12528. // // Example iterating over at most 3 pages of a DescribeTags operation.
  12529. // pageNum := 0
  12530. // err := client.DescribeTagsPages(params,
  12531. // func(page *DescribeTagsOutput, lastPage bool) bool {
  12532. // pageNum++
  12533. // fmt.Println(page)
  12534. // return pageNum <= 3
  12535. // })
  12536. //
  12537. func (c *EC2) DescribeTagsPages(input *DescribeTagsInput, fn func(*DescribeTagsOutput, bool) bool) error {
  12538. return c.DescribeTagsPagesWithContext(aws.BackgroundContext(), input, fn)
  12539. }
  12540. // DescribeTagsPagesWithContext same as DescribeTagsPages except
  12541. // it takes a Context and allows setting request options on the pages.
  12542. //
  12543. // The context must be non-nil and will be used for request cancellation. If
  12544. // the context is nil a panic will occur. In the future the SDK may create
  12545. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12546. // for more information on using Contexts.
  12547. func (c *EC2) DescribeTagsPagesWithContext(ctx aws.Context, input *DescribeTagsInput, fn func(*DescribeTagsOutput, bool) bool, opts ...request.Option) error {
  12548. p := request.Pagination{
  12549. NewRequest: func() (*request.Request, error) {
  12550. var inCpy *DescribeTagsInput
  12551. if input != nil {
  12552. tmp := *input
  12553. inCpy = &tmp
  12554. }
  12555. req, _ := c.DescribeTagsRequest(inCpy)
  12556. req.SetContext(ctx)
  12557. req.ApplyOptions(opts...)
  12558. return req, nil
  12559. },
  12560. }
  12561. cont := true
  12562. for p.Next() && cont {
  12563. cont = fn(p.Page().(*DescribeTagsOutput), !p.HasNextPage())
  12564. }
  12565. return p.Err()
  12566. }
  12567. const opDescribeVolumeAttribute = "DescribeVolumeAttribute"
  12568. // DescribeVolumeAttributeRequest generates a "aws/request.Request" representing the
  12569. // client's request for the DescribeVolumeAttribute operation. The "output" return
  12570. // value will be populated with the request's response once the request complets
  12571. // successfuly.
  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 DescribeVolumeAttribute for more information on using the DescribeVolumeAttribute
  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 DescribeVolumeAttributeRequest method.
  12584. // req, resp := client.DescribeVolumeAttributeRequest(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/DescribeVolumeAttribute
  12592. func (c *EC2) DescribeVolumeAttributeRequest(input *DescribeVolumeAttributeInput) (req *request.Request, output *DescribeVolumeAttributeOutput) {
  12593. op := &request.Operation{
  12594. Name: opDescribeVolumeAttribute,
  12595. HTTPMethod: "POST",
  12596. HTTPPath: "/",
  12597. }
  12598. if input == nil {
  12599. input = &DescribeVolumeAttributeInput{}
  12600. }
  12601. output = &DescribeVolumeAttributeOutput{}
  12602. req = c.newRequest(op, input, output)
  12603. return
  12604. }
  12605. // DescribeVolumeAttribute API operation for Amazon Elastic Compute Cloud.
  12606. //
  12607. // Describes the specified attribute of the specified volume. You can specify
  12608. // only one attribute at a time.
  12609. //
  12610. // For more information about EBS volumes, see Amazon EBS Volumes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html)
  12611. // in the Amazon Elastic Compute Cloud User Guide.
  12612. //
  12613. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12614. // with awserr.Error's Code and Message methods to get detailed information about
  12615. // the error.
  12616. //
  12617. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12618. // API operation DescribeVolumeAttribute for usage and error information.
  12619. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeAttribute
  12620. func (c *EC2) DescribeVolumeAttribute(input *DescribeVolumeAttributeInput) (*DescribeVolumeAttributeOutput, error) {
  12621. req, out := c.DescribeVolumeAttributeRequest(input)
  12622. return out, req.Send()
  12623. }
  12624. // DescribeVolumeAttributeWithContext is the same as DescribeVolumeAttribute with the addition of
  12625. // the ability to pass a context and additional request options.
  12626. //
  12627. // See DescribeVolumeAttribute for details on how to use this API operation.
  12628. //
  12629. // The context must be non-nil and will be used for request cancellation. If
  12630. // the context is nil a panic will occur. In the future the SDK may create
  12631. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12632. // for more information on using Contexts.
  12633. func (c *EC2) DescribeVolumeAttributeWithContext(ctx aws.Context, input *DescribeVolumeAttributeInput, opts ...request.Option) (*DescribeVolumeAttributeOutput, error) {
  12634. req, out := c.DescribeVolumeAttributeRequest(input)
  12635. req.SetContext(ctx)
  12636. req.ApplyOptions(opts...)
  12637. return out, req.Send()
  12638. }
  12639. const opDescribeVolumeStatus = "DescribeVolumeStatus"
  12640. // DescribeVolumeStatusRequest generates a "aws/request.Request" representing the
  12641. // client's request for the DescribeVolumeStatus operation. The "output" return
  12642. // value will be populated with the request's response once the request complets
  12643. // successfuly.
  12644. //
  12645. // Use "Send" method on the returned Request to send the API call to the service.
  12646. // the "output" return value is not valid until after Send returns without error.
  12647. //
  12648. // See DescribeVolumeStatus for more information on using the DescribeVolumeStatus
  12649. // API call, and error handling.
  12650. //
  12651. // This method is useful when you want to inject custom logic or configuration
  12652. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  12653. //
  12654. //
  12655. // // Example sending a request using the DescribeVolumeStatusRequest method.
  12656. // req, resp := client.DescribeVolumeStatusRequest(params)
  12657. //
  12658. // err := req.Send()
  12659. // if err == nil { // resp is now filled
  12660. // fmt.Println(resp)
  12661. // }
  12662. //
  12663. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeStatus
  12664. func (c *EC2) DescribeVolumeStatusRequest(input *DescribeVolumeStatusInput) (req *request.Request, output *DescribeVolumeStatusOutput) {
  12665. op := &request.Operation{
  12666. Name: opDescribeVolumeStatus,
  12667. HTTPMethod: "POST",
  12668. HTTPPath: "/",
  12669. Paginator: &request.Paginator{
  12670. InputTokens: []string{"NextToken"},
  12671. OutputTokens: []string{"NextToken"},
  12672. LimitToken: "MaxResults",
  12673. TruncationToken: "",
  12674. },
  12675. }
  12676. if input == nil {
  12677. input = &DescribeVolumeStatusInput{}
  12678. }
  12679. output = &DescribeVolumeStatusOutput{}
  12680. req = c.newRequest(op, input, output)
  12681. return
  12682. }
  12683. // DescribeVolumeStatus API operation for Amazon Elastic Compute Cloud.
  12684. //
  12685. // Describes the status of the specified volumes. Volume status provides the
  12686. // result of the checks performed on your volumes to determine events that can
  12687. // impair the performance of your volumes. The performance of a volume can be
  12688. // affected if an issue occurs on the volume's underlying host. If the volume's
  12689. // underlying host experiences a power outage or system issue, after the system
  12690. // is restored, there could be data inconsistencies on the volume. Volume events
  12691. // notify you if this occurs. Volume actions notify you if any action needs
  12692. // to be taken in response to the event.
  12693. //
  12694. // The DescribeVolumeStatus operation provides the following information about
  12695. // the specified volumes:
  12696. //
  12697. // Status: Reflects the current status of the volume. The possible values are
  12698. // ok, impaired , warning, or insufficient-data. If all checks pass, the overall
  12699. // status of the volume is ok. If the check fails, the overall status is impaired.
  12700. // If the status is insufficient-data, then the checks may still be taking place
  12701. // on your volume at the time. We recommend that you retry the request. For
  12702. // more information on volume status, see Monitoring the Status of Your Volumes
  12703. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-volume-status.html).
  12704. //
  12705. // Events: Reflect the cause of a volume status and may require you to take
  12706. // action. For example, if your volume returns an impaired status, then the
  12707. // volume event might be potential-data-inconsistency. This means that your
  12708. // volume has been affected by an issue with the underlying host, has all I/O
  12709. // operations disabled, and may have inconsistent data.
  12710. //
  12711. // Actions: Reflect the actions you may have to take in response to an event.
  12712. // For example, if the status of the volume is impaired and the volume event
  12713. // shows potential-data-inconsistency, then the action shows enable-volume-io.
  12714. // This means that you may want to enable the I/O operations for the volume
  12715. // by calling the EnableVolumeIO action and then check the volume for data consistency.
  12716. //
  12717. // Volume status is based on the volume status checks, and does not reflect
  12718. // the volume state. Therefore, volume status does not indicate volumes in the
  12719. // error state (for example, when a volume is incapable of accepting I/O.)
  12720. //
  12721. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12722. // with awserr.Error's Code and Message methods to get detailed information about
  12723. // the error.
  12724. //
  12725. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12726. // API operation DescribeVolumeStatus for usage and error information.
  12727. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeStatus
  12728. func (c *EC2) DescribeVolumeStatus(input *DescribeVolumeStatusInput) (*DescribeVolumeStatusOutput, error) {
  12729. req, out := c.DescribeVolumeStatusRequest(input)
  12730. return out, req.Send()
  12731. }
  12732. // DescribeVolumeStatusWithContext is the same as DescribeVolumeStatus with the addition of
  12733. // the ability to pass a context and additional request options.
  12734. //
  12735. // See DescribeVolumeStatus for details on how to use this API operation.
  12736. //
  12737. // The context must be non-nil and will be used for request cancellation. If
  12738. // the context is nil a panic will occur. In the future the SDK may create
  12739. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12740. // for more information on using Contexts.
  12741. func (c *EC2) DescribeVolumeStatusWithContext(ctx aws.Context, input *DescribeVolumeStatusInput, opts ...request.Option) (*DescribeVolumeStatusOutput, error) {
  12742. req, out := c.DescribeVolumeStatusRequest(input)
  12743. req.SetContext(ctx)
  12744. req.ApplyOptions(opts...)
  12745. return out, req.Send()
  12746. }
  12747. // DescribeVolumeStatusPages iterates over the pages of a DescribeVolumeStatus operation,
  12748. // calling the "fn" function with the response data for each page. To stop
  12749. // iterating, return false from the fn function.
  12750. //
  12751. // See DescribeVolumeStatus method for more information on how to use this operation.
  12752. //
  12753. // Note: This operation can generate multiple requests to a service.
  12754. //
  12755. // // Example iterating over at most 3 pages of a DescribeVolumeStatus operation.
  12756. // pageNum := 0
  12757. // err := client.DescribeVolumeStatusPages(params,
  12758. // func(page *DescribeVolumeStatusOutput, lastPage bool) bool {
  12759. // pageNum++
  12760. // fmt.Println(page)
  12761. // return pageNum <= 3
  12762. // })
  12763. //
  12764. func (c *EC2) DescribeVolumeStatusPages(input *DescribeVolumeStatusInput, fn func(*DescribeVolumeStatusOutput, bool) bool) error {
  12765. return c.DescribeVolumeStatusPagesWithContext(aws.BackgroundContext(), input, fn)
  12766. }
  12767. // DescribeVolumeStatusPagesWithContext same as DescribeVolumeStatusPages except
  12768. // it takes a Context and allows setting request options on the pages.
  12769. //
  12770. // The context must be non-nil and will be used for request cancellation. If
  12771. // the context is nil a panic will occur. In the future the SDK may create
  12772. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12773. // for more information on using Contexts.
  12774. func (c *EC2) DescribeVolumeStatusPagesWithContext(ctx aws.Context, input *DescribeVolumeStatusInput, fn func(*DescribeVolumeStatusOutput, bool) bool, opts ...request.Option) error {
  12775. p := request.Pagination{
  12776. NewRequest: func() (*request.Request, error) {
  12777. var inCpy *DescribeVolumeStatusInput
  12778. if input != nil {
  12779. tmp := *input
  12780. inCpy = &tmp
  12781. }
  12782. req, _ := c.DescribeVolumeStatusRequest(inCpy)
  12783. req.SetContext(ctx)
  12784. req.ApplyOptions(opts...)
  12785. return req, nil
  12786. },
  12787. }
  12788. cont := true
  12789. for p.Next() && cont {
  12790. cont = fn(p.Page().(*DescribeVolumeStatusOutput), !p.HasNextPage())
  12791. }
  12792. return p.Err()
  12793. }
  12794. const opDescribeVolumes = "DescribeVolumes"
  12795. // DescribeVolumesRequest generates a "aws/request.Request" representing the
  12796. // client's request for the DescribeVolumes operation. The "output" return
  12797. // value will be populated with the request's response once the request complets
  12798. // successfuly.
  12799. //
  12800. // Use "Send" method on the returned Request to send the API call to the service.
  12801. // the "output" return value is not valid until after Send returns without error.
  12802. //
  12803. // See DescribeVolumes for more information on using the DescribeVolumes
  12804. // API call, and error handling.
  12805. //
  12806. // This method is useful when you want to inject custom logic or configuration
  12807. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  12808. //
  12809. //
  12810. // // Example sending a request using the DescribeVolumesRequest method.
  12811. // req, resp := client.DescribeVolumesRequest(params)
  12812. //
  12813. // err := req.Send()
  12814. // if err == nil { // resp is now filled
  12815. // fmt.Println(resp)
  12816. // }
  12817. //
  12818. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumes
  12819. func (c *EC2) DescribeVolumesRequest(input *DescribeVolumesInput) (req *request.Request, output *DescribeVolumesOutput) {
  12820. op := &request.Operation{
  12821. Name: opDescribeVolumes,
  12822. HTTPMethod: "POST",
  12823. HTTPPath: "/",
  12824. Paginator: &request.Paginator{
  12825. InputTokens: []string{"NextToken"},
  12826. OutputTokens: []string{"NextToken"},
  12827. LimitToken: "MaxResults",
  12828. TruncationToken: "",
  12829. },
  12830. }
  12831. if input == nil {
  12832. input = &DescribeVolumesInput{}
  12833. }
  12834. output = &DescribeVolumesOutput{}
  12835. req = c.newRequest(op, input, output)
  12836. return
  12837. }
  12838. // DescribeVolumes API operation for Amazon Elastic Compute Cloud.
  12839. //
  12840. // Describes the specified EBS volumes.
  12841. //
  12842. // If you are describing a long list of volumes, you can paginate the output
  12843. // to make the list more manageable. The MaxResults parameter sets the maximum
  12844. // number of results returned in a single page. If the list of results exceeds
  12845. // your MaxResults value, then that number of results is returned along with
  12846. // a NextToken value that can be passed to a subsequent DescribeVolumes request
  12847. // to retrieve the remaining results.
  12848. //
  12849. // For more information about EBS volumes, see Amazon EBS Volumes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html)
  12850. // in the Amazon Elastic Compute Cloud User Guide.
  12851. //
  12852. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12853. // with awserr.Error's Code and Message methods to get detailed information about
  12854. // the error.
  12855. //
  12856. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12857. // API operation DescribeVolumes for usage and error information.
  12858. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumes
  12859. func (c *EC2) DescribeVolumes(input *DescribeVolumesInput) (*DescribeVolumesOutput, error) {
  12860. req, out := c.DescribeVolumesRequest(input)
  12861. return out, req.Send()
  12862. }
  12863. // DescribeVolumesWithContext is the same as DescribeVolumes with the addition of
  12864. // the ability to pass a context and additional request options.
  12865. //
  12866. // See DescribeVolumes for details on how to use this API operation.
  12867. //
  12868. // The context must be non-nil and will be used for request cancellation. If
  12869. // the context is nil a panic will occur. In the future the SDK may create
  12870. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12871. // for more information on using Contexts.
  12872. func (c *EC2) DescribeVolumesWithContext(ctx aws.Context, input *DescribeVolumesInput, opts ...request.Option) (*DescribeVolumesOutput, error) {
  12873. req, out := c.DescribeVolumesRequest(input)
  12874. req.SetContext(ctx)
  12875. req.ApplyOptions(opts...)
  12876. return out, req.Send()
  12877. }
  12878. // DescribeVolumesPages iterates over the pages of a DescribeVolumes operation,
  12879. // calling the "fn" function with the response data for each page. To stop
  12880. // iterating, return false from the fn function.
  12881. //
  12882. // See DescribeVolumes method for more information on how to use this operation.
  12883. //
  12884. // Note: This operation can generate multiple requests to a service.
  12885. //
  12886. // // Example iterating over at most 3 pages of a DescribeVolumes operation.
  12887. // pageNum := 0
  12888. // err := client.DescribeVolumesPages(params,
  12889. // func(page *DescribeVolumesOutput, lastPage bool) bool {
  12890. // pageNum++
  12891. // fmt.Println(page)
  12892. // return pageNum <= 3
  12893. // })
  12894. //
  12895. func (c *EC2) DescribeVolumesPages(input *DescribeVolumesInput, fn func(*DescribeVolumesOutput, bool) bool) error {
  12896. return c.DescribeVolumesPagesWithContext(aws.BackgroundContext(), input, fn)
  12897. }
  12898. // DescribeVolumesPagesWithContext same as DescribeVolumesPages except
  12899. // it takes a Context and allows setting request options on the pages.
  12900. //
  12901. // The context must be non-nil and will be used for request cancellation. If
  12902. // the context is nil a panic will occur. In the future the SDK may create
  12903. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12904. // for more information on using Contexts.
  12905. func (c *EC2) DescribeVolumesPagesWithContext(ctx aws.Context, input *DescribeVolumesInput, fn func(*DescribeVolumesOutput, bool) bool, opts ...request.Option) error {
  12906. p := request.Pagination{
  12907. NewRequest: func() (*request.Request, error) {
  12908. var inCpy *DescribeVolumesInput
  12909. if input != nil {
  12910. tmp := *input
  12911. inCpy = &tmp
  12912. }
  12913. req, _ := c.DescribeVolumesRequest(inCpy)
  12914. req.SetContext(ctx)
  12915. req.ApplyOptions(opts...)
  12916. return req, nil
  12917. },
  12918. }
  12919. cont := true
  12920. for p.Next() && cont {
  12921. cont = fn(p.Page().(*DescribeVolumesOutput), !p.HasNextPage())
  12922. }
  12923. return p.Err()
  12924. }
  12925. const opDescribeVolumesModifications = "DescribeVolumesModifications"
  12926. // DescribeVolumesModificationsRequest generates a "aws/request.Request" representing the
  12927. // client's request for the DescribeVolumesModifications operation. The "output" return
  12928. // value will be populated with the request's response once the request complets
  12929. // successfuly.
  12930. //
  12931. // Use "Send" method on the returned Request to send the API call to the service.
  12932. // the "output" return value is not valid until after Send returns without error.
  12933. //
  12934. // See DescribeVolumesModifications for more information on using the DescribeVolumesModifications
  12935. // API call, and error handling.
  12936. //
  12937. // This method is useful when you want to inject custom logic or configuration
  12938. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  12939. //
  12940. //
  12941. // // Example sending a request using the DescribeVolumesModificationsRequest method.
  12942. // req, resp := client.DescribeVolumesModificationsRequest(params)
  12943. //
  12944. // err := req.Send()
  12945. // if err == nil { // resp is now filled
  12946. // fmt.Println(resp)
  12947. // }
  12948. //
  12949. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumesModifications
  12950. func (c *EC2) DescribeVolumesModificationsRequest(input *DescribeVolumesModificationsInput) (req *request.Request, output *DescribeVolumesModificationsOutput) {
  12951. op := &request.Operation{
  12952. Name: opDescribeVolumesModifications,
  12953. HTTPMethod: "POST",
  12954. HTTPPath: "/",
  12955. }
  12956. if input == nil {
  12957. input = &DescribeVolumesModificationsInput{}
  12958. }
  12959. output = &DescribeVolumesModificationsOutput{}
  12960. req = c.newRequest(op, input, output)
  12961. return
  12962. }
  12963. // DescribeVolumesModifications API operation for Amazon Elastic Compute Cloud.
  12964. //
  12965. // Reports the current modification status of EBS volumes.
  12966. //
  12967. // Current-generation EBS volumes support modification of attributes including
  12968. // type, size, and (for io1 volumes) IOPS provisioning while either attached
  12969. // to or detached from an instance. Following an action from the API or the
  12970. // console to modify a volume, the status of the modification may be modifying,
  12971. // optimizing, completed, or failed. If a volume has never been modified, then
  12972. // certain elements of the returned VolumeModification objects are null.
  12973. //
  12974. // You can also use CloudWatch Events to check the status of a modification
  12975. // to an EBS volume. For information about CloudWatch Events, see the Amazon
  12976. // CloudWatch Events User Guide (http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/).
  12977. // For more information, see Monitoring Volume Modifications" (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#monitoring_mods).
  12978. //
  12979. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12980. // with awserr.Error's Code and Message methods to get detailed information about
  12981. // the error.
  12982. //
  12983. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12984. // API operation DescribeVolumesModifications for usage and error information.
  12985. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumesModifications
  12986. func (c *EC2) DescribeVolumesModifications(input *DescribeVolumesModificationsInput) (*DescribeVolumesModificationsOutput, error) {
  12987. req, out := c.DescribeVolumesModificationsRequest(input)
  12988. return out, req.Send()
  12989. }
  12990. // DescribeVolumesModificationsWithContext is the same as DescribeVolumesModifications with the addition of
  12991. // the ability to pass a context and additional request options.
  12992. //
  12993. // See DescribeVolumesModifications for details on how to use this API operation.
  12994. //
  12995. // The context must be non-nil and will be used for request cancellation. If
  12996. // the context is nil a panic will occur. In the future the SDK may create
  12997. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12998. // for more information on using Contexts.
  12999. func (c *EC2) DescribeVolumesModificationsWithContext(ctx aws.Context, input *DescribeVolumesModificationsInput, opts ...request.Option) (*DescribeVolumesModificationsOutput, error) {
  13000. req, out := c.DescribeVolumesModificationsRequest(input)
  13001. req.SetContext(ctx)
  13002. req.ApplyOptions(opts...)
  13003. return out, req.Send()
  13004. }
  13005. const opDescribeVpcAttribute = "DescribeVpcAttribute"
  13006. // DescribeVpcAttributeRequest generates a "aws/request.Request" representing the
  13007. // client's request for the DescribeVpcAttribute operation. The "output" return
  13008. // value will be populated with the request's response once the request complets
  13009. // successfuly.
  13010. //
  13011. // Use "Send" method on the returned Request to send the API call to the service.
  13012. // the "output" return value is not valid until after Send returns without error.
  13013. //
  13014. // See DescribeVpcAttribute for more information on using the DescribeVpcAttribute
  13015. // API call, and error handling.
  13016. //
  13017. // This method is useful when you want to inject custom logic or configuration
  13018. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13019. //
  13020. //
  13021. // // Example sending a request using the DescribeVpcAttributeRequest method.
  13022. // req, resp := client.DescribeVpcAttributeRequest(params)
  13023. //
  13024. // err := req.Send()
  13025. // if err == nil { // resp is now filled
  13026. // fmt.Println(resp)
  13027. // }
  13028. //
  13029. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcAttribute
  13030. func (c *EC2) DescribeVpcAttributeRequest(input *DescribeVpcAttributeInput) (req *request.Request, output *DescribeVpcAttributeOutput) {
  13031. op := &request.Operation{
  13032. Name: opDescribeVpcAttribute,
  13033. HTTPMethod: "POST",
  13034. HTTPPath: "/",
  13035. }
  13036. if input == nil {
  13037. input = &DescribeVpcAttributeInput{}
  13038. }
  13039. output = &DescribeVpcAttributeOutput{}
  13040. req = c.newRequest(op, input, output)
  13041. return
  13042. }
  13043. // DescribeVpcAttribute API operation for Amazon Elastic Compute Cloud.
  13044. //
  13045. // Describes the specified attribute of the specified VPC. You can specify only
  13046. // one attribute at a time.
  13047. //
  13048. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13049. // with awserr.Error's Code and Message methods to get detailed information about
  13050. // the error.
  13051. //
  13052. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13053. // API operation DescribeVpcAttribute for usage and error information.
  13054. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcAttribute
  13055. func (c *EC2) DescribeVpcAttribute(input *DescribeVpcAttributeInput) (*DescribeVpcAttributeOutput, error) {
  13056. req, out := c.DescribeVpcAttributeRequest(input)
  13057. return out, req.Send()
  13058. }
  13059. // DescribeVpcAttributeWithContext is the same as DescribeVpcAttribute with the addition of
  13060. // the ability to pass a context and additional request options.
  13061. //
  13062. // See DescribeVpcAttribute for details on how to use this API operation.
  13063. //
  13064. // The context must be non-nil and will be used for request cancellation. If
  13065. // the context is nil a panic will occur. In the future the SDK may create
  13066. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13067. // for more information on using Contexts.
  13068. func (c *EC2) DescribeVpcAttributeWithContext(ctx aws.Context, input *DescribeVpcAttributeInput, opts ...request.Option) (*DescribeVpcAttributeOutput, error) {
  13069. req, out := c.DescribeVpcAttributeRequest(input)
  13070. req.SetContext(ctx)
  13071. req.ApplyOptions(opts...)
  13072. return out, req.Send()
  13073. }
  13074. const opDescribeVpcClassicLink = "DescribeVpcClassicLink"
  13075. // DescribeVpcClassicLinkRequest generates a "aws/request.Request" representing the
  13076. // client's request for the DescribeVpcClassicLink operation. The "output" return
  13077. // value will be populated with the request's response once the request complets
  13078. // successfuly.
  13079. //
  13080. // Use "Send" method on the returned Request to send the API call to the service.
  13081. // the "output" return value is not valid until after Send returns without error.
  13082. //
  13083. // See DescribeVpcClassicLink for more information on using the DescribeVpcClassicLink
  13084. // API call, and error handling.
  13085. //
  13086. // This method is useful when you want to inject custom logic or configuration
  13087. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13088. //
  13089. //
  13090. // // Example sending a request using the DescribeVpcClassicLinkRequest method.
  13091. // req, resp := client.DescribeVpcClassicLinkRequest(params)
  13092. //
  13093. // err := req.Send()
  13094. // if err == nil { // resp is now filled
  13095. // fmt.Println(resp)
  13096. // }
  13097. //
  13098. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLink
  13099. func (c *EC2) DescribeVpcClassicLinkRequest(input *DescribeVpcClassicLinkInput) (req *request.Request, output *DescribeVpcClassicLinkOutput) {
  13100. op := &request.Operation{
  13101. Name: opDescribeVpcClassicLink,
  13102. HTTPMethod: "POST",
  13103. HTTPPath: "/",
  13104. }
  13105. if input == nil {
  13106. input = &DescribeVpcClassicLinkInput{}
  13107. }
  13108. output = &DescribeVpcClassicLinkOutput{}
  13109. req = c.newRequest(op, input, output)
  13110. return
  13111. }
  13112. // DescribeVpcClassicLink API operation for Amazon Elastic Compute Cloud.
  13113. //
  13114. // Describes the ClassicLink status of one or more VPCs.
  13115. //
  13116. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13117. // with awserr.Error's Code and Message methods to get detailed information about
  13118. // the error.
  13119. //
  13120. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13121. // API operation DescribeVpcClassicLink for usage and error information.
  13122. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLink
  13123. func (c *EC2) DescribeVpcClassicLink(input *DescribeVpcClassicLinkInput) (*DescribeVpcClassicLinkOutput, error) {
  13124. req, out := c.DescribeVpcClassicLinkRequest(input)
  13125. return out, req.Send()
  13126. }
  13127. // DescribeVpcClassicLinkWithContext is the same as DescribeVpcClassicLink with the addition of
  13128. // the ability to pass a context and additional request options.
  13129. //
  13130. // See DescribeVpcClassicLink for details on how to use this API operation.
  13131. //
  13132. // The context must be non-nil and will be used for request cancellation. If
  13133. // the context is nil a panic will occur. In the future the SDK may create
  13134. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13135. // for more information on using Contexts.
  13136. func (c *EC2) DescribeVpcClassicLinkWithContext(ctx aws.Context, input *DescribeVpcClassicLinkInput, opts ...request.Option) (*DescribeVpcClassicLinkOutput, error) {
  13137. req, out := c.DescribeVpcClassicLinkRequest(input)
  13138. req.SetContext(ctx)
  13139. req.ApplyOptions(opts...)
  13140. return out, req.Send()
  13141. }
  13142. const opDescribeVpcClassicLinkDnsSupport = "DescribeVpcClassicLinkDnsSupport"
  13143. // DescribeVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
  13144. // client's request for the DescribeVpcClassicLinkDnsSupport operation. The "output" return
  13145. // value will be populated with the request's response once the request complets
  13146. // successfuly.
  13147. //
  13148. // Use "Send" method on the returned Request to send the API call to the service.
  13149. // the "output" return value is not valid until after Send returns without error.
  13150. //
  13151. // See DescribeVpcClassicLinkDnsSupport for more information on using the DescribeVpcClassicLinkDnsSupport
  13152. // API call, and error handling.
  13153. //
  13154. // This method is useful when you want to inject custom logic or configuration
  13155. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13156. //
  13157. //
  13158. // // Example sending a request using the DescribeVpcClassicLinkDnsSupportRequest method.
  13159. // req, resp := client.DescribeVpcClassicLinkDnsSupportRequest(params)
  13160. //
  13161. // err := req.Send()
  13162. // if err == nil { // resp is now filled
  13163. // fmt.Println(resp)
  13164. // }
  13165. //
  13166. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkDnsSupport
  13167. func (c *EC2) DescribeVpcClassicLinkDnsSupportRequest(input *DescribeVpcClassicLinkDnsSupportInput) (req *request.Request, output *DescribeVpcClassicLinkDnsSupportOutput) {
  13168. op := &request.Operation{
  13169. Name: opDescribeVpcClassicLinkDnsSupport,
  13170. HTTPMethod: "POST",
  13171. HTTPPath: "/",
  13172. }
  13173. if input == nil {
  13174. input = &DescribeVpcClassicLinkDnsSupportInput{}
  13175. }
  13176. output = &DescribeVpcClassicLinkDnsSupportOutput{}
  13177. req = c.newRequest(op, input, output)
  13178. return
  13179. }
  13180. // DescribeVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
  13181. //
  13182. // Describes the ClassicLink DNS support status of one or more VPCs. If enabled,
  13183. // the DNS hostname of a linked EC2-Classic instance resolves to its private
  13184. // IP address when addressed from an instance in the VPC to which it's linked.
  13185. // Similarly, the DNS hostname of an instance in a VPC resolves to its private
  13186. // IP address when addressed from a linked EC2-Classic instance. For more information,
  13187. // see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
  13188. // in the Amazon Elastic Compute Cloud User Guide.
  13189. //
  13190. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13191. // with awserr.Error's Code and Message methods to get detailed information about
  13192. // the error.
  13193. //
  13194. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13195. // API operation DescribeVpcClassicLinkDnsSupport for usage and error information.
  13196. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkDnsSupport
  13197. func (c *EC2) DescribeVpcClassicLinkDnsSupport(input *DescribeVpcClassicLinkDnsSupportInput) (*DescribeVpcClassicLinkDnsSupportOutput, error) {
  13198. req, out := c.DescribeVpcClassicLinkDnsSupportRequest(input)
  13199. return out, req.Send()
  13200. }
  13201. // DescribeVpcClassicLinkDnsSupportWithContext is the same as DescribeVpcClassicLinkDnsSupport with the addition of
  13202. // the ability to pass a context and additional request options.
  13203. //
  13204. // See DescribeVpcClassicLinkDnsSupport for details on how to use this API operation.
  13205. //
  13206. // The context must be non-nil and will be used for request cancellation. If
  13207. // the context is nil a panic will occur. In the future the SDK may create
  13208. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13209. // for more information on using Contexts.
  13210. func (c *EC2) DescribeVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input *DescribeVpcClassicLinkDnsSupportInput, opts ...request.Option) (*DescribeVpcClassicLinkDnsSupportOutput, error) {
  13211. req, out := c.DescribeVpcClassicLinkDnsSupportRequest(input)
  13212. req.SetContext(ctx)
  13213. req.ApplyOptions(opts...)
  13214. return out, req.Send()
  13215. }
  13216. const opDescribeVpcEndpointConnectionNotifications = "DescribeVpcEndpointConnectionNotifications"
  13217. // DescribeVpcEndpointConnectionNotificationsRequest generates a "aws/request.Request" representing the
  13218. // client's request for the DescribeVpcEndpointConnectionNotifications operation. The "output" return
  13219. // value will be populated with the request's response once the request complets
  13220. // successfuly.
  13221. //
  13222. // Use "Send" method on the returned Request to send the API call to the service.
  13223. // the "output" return value is not valid until after Send returns without error.
  13224. //
  13225. // See DescribeVpcEndpointConnectionNotifications for more information on using the DescribeVpcEndpointConnectionNotifications
  13226. // API call, and error handling.
  13227. //
  13228. // This method is useful when you want to inject custom logic or configuration
  13229. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13230. //
  13231. //
  13232. // // Example sending a request using the DescribeVpcEndpointConnectionNotificationsRequest method.
  13233. // req, resp := client.DescribeVpcEndpointConnectionNotificationsRequest(params)
  13234. //
  13235. // err := req.Send()
  13236. // if err == nil { // resp is now filled
  13237. // fmt.Println(resp)
  13238. // }
  13239. //
  13240. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnectionNotifications
  13241. func (c *EC2) DescribeVpcEndpointConnectionNotificationsRequest(input *DescribeVpcEndpointConnectionNotificationsInput) (req *request.Request, output *DescribeVpcEndpointConnectionNotificationsOutput) {
  13242. op := &request.Operation{
  13243. Name: opDescribeVpcEndpointConnectionNotifications,
  13244. HTTPMethod: "POST",
  13245. HTTPPath: "/",
  13246. }
  13247. if input == nil {
  13248. input = &DescribeVpcEndpointConnectionNotificationsInput{}
  13249. }
  13250. output = &DescribeVpcEndpointConnectionNotificationsOutput{}
  13251. req = c.newRequest(op, input, output)
  13252. return
  13253. }
  13254. // DescribeVpcEndpointConnectionNotifications API operation for Amazon Elastic Compute Cloud.
  13255. //
  13256. // Describes the connection notifications for VPC endpoints and VPC endpoint
  13257. // services.
  13258. //
  13259. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13260. // with awserr.Error's Code and Message methods to get detailed information about
  13261. // the error.
  13262. //
  13263. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13264. // API operation DescribeVpcEndpointConnectionNotifications for usage and error information.
  13265. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnectionNotifications
  13266. func (c *EC2) DescribeVpcEndpointConnectionNotifications(input *DescribeVpcEndpointConnectionNotificationsInput) (*DescribeVpcEndpointConnectionNotificationsOutput, error) {
  13267. req, out := c.DescribeVpcEndpointConnectionNotificationsRequest(input)
  13268. return out, req.Send()
  13269. }
  13270. // DescribeVpcEndpointConnectionNotificationsWithContext is the same as DescribeVpcEndpointConnectionNotifications with the addition of
  13271. // the ability to pass a context and additional request options.
  13272. //
  13273. // See DescribeVpcEndpointConnectionNotifications for details on how to use this API operation.
  13274. //
  13275. // The context must be non-nil and will be used for request cancellation. If
  13276. // the context is nil a panic will occur. In the future the SDK may create
  13277. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13278. // for more information on using Contexts.
  13279. func (c *EC2) DescribeVpcEndpointConnectionNotificationsWithContext(ctx aws.Context, input *DescribeVpcEndpointConnectionNotificationsInput, opts ...request.Option) (*DescribeVpcEndpointConnectionNotificationsOutput, error) {
  13280. req, out := c.DescribeVpcEndpointConnectionNotificationsRequest(input)
  13281. req.SetContext(ctx)
  13282. req.ApplyOptions(opts...)
  13283. return out, req.Send()
  13284. }
  13285. const opDescribeVpcEndpointConnections = "DescribeVpcEndpointConnections"
  13286. // DescribeVpcEndpointConnectionsRequest generates a "aws/request.Request" representing the
  13287. // client's request for the DescribeVpcEndpointConnections operation. The "output" return
  13288. // value will be populated with the request's response once the request complets
  13289. // successfuly.
  13290. //
  13291. // Use "Send" method on the returned Request to send the API call to the service.
  13292. // the "output" return value is not valid until after Send returns without error.
  13293. //
  13294. // See DescribeVpcEndpointConnections for more information on using the DescribeVpcEndpointConnections
  13295. // API call, and error handling.
  13296. //
  13297. // This method is useful when you want to inject custom logic or configuration
  13298. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13299. //
  13300. //
  13301. // // Example sending a request using the DescribeVpcEndpointConnectionsRequest method.
  13302. // req, resp := client.DescribeVpcEndpointConnectionsRequest(params)
  13303. //
  13304. // err := req.Send()
  13305. // if err == nil { // resp is now filled
  13306. // fmt.Println(resp)
  13307. // }
  13308. //
  13309. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnections
  13310. func (c *EC2) DescribeVpcEndpointConnectionsRequest(input *DescribeVpcEndpointConnectionsInput) (req *request.Request, output *DescribeVpcEndpointConnectionsOutput) {
  13311. op := &request.Operation{
  13312. Name: opDescribeVpcEndpointConnections,
  13313. HTTPMethod: "POST",
  13314. HTTPPath: "/",
  13315. }
  13316. if input == nil {
  13317. input = &DescribeVpcEndpointConnectionsInput{}
  13318. }
  13319. output = &DescribeVpcEndpointConnectionsOutput{}
  13320. req = c.newRequest(op, input, output)
  13321. return
  13322. }
  13323. // DescribeVpcEndpointConnections API operation for Amazon Elastic Compute Cloud.
  13324. //
  13325. // Describes the VPC endpoint connections to your VPC endpoint services, including
  13326. // any endpoints that are pending your acceptance.
  13327. //
  13328. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13329. // with awserr.Error's Code and Message methods to get detailed information about
  13330. // the error.
  13331. //
  13332. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13333. // API operation DescribeVpcEndpointConnections for usage and error information.
  13334. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnections
  13335. func (c *EC2) DescribeVpcEndpointConnections(input *DescribeVpcEndpointConnectionsInput) (*DescribeVpcEndpointConnectionsOutput, error) {
  13336. req, out := c.DescribeVpcEndpointConnectionsRequest(input)
  13337. return out, req.Send()
  13338. }
  13339. // DescribeVpcEndpointConnectionsWithContext is the same as DescribeVpcEndpointConnections with the addition of
  13340. // the ability to pass a context and additional request options.
  13341. //
  13342. // See DescribeVpcEndpointConnections for details on how to use this API operation.
  13343. //
  13344. // The context must be non-nil and will be used for request cancellation. If
  13345. // the context is nil a panic will occur. In the future the SDK may create
  13346. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13347. // for more information on using Contexts.
  13348. func (c *EC2) DescribeVpcEndpointConnectionsWithContext(ctx aws.Context, input *DescribeVpcEndpointConnectionsInput, opts ...request.Option) (*DescribeVpcEndpointConnectionsOutput, error) {
  13349. req, out := c.DescribeVpcEndpointConnectionsRequest(input)
  13350. req.SetContext(ctx)
  13351. req.ApplyOptions(opts...)
  13352. return out, req.Send()
  13353. }
  13354. const opDescribeVpcEndpointServiceConfigurations = "DescribeVpcEndpointServiceConfigurations"
  13355. // DescribeVpcEndpointServiceConfigurationsRequest generates a "aws/request.Request" representing the
  13356. // client's request for the DescribeVpcEndpointServiceConfigurations operation. The "output" return
  13357. // value will be populated with the request's response once the request complets
  13358. // successfuly.
  13359. //
  13360. // Use "Send" method on the returned Request to send the API call to the service.
  13361. // the "output" return value is not valid until after Send returns without error.
  13362. //
  13363. // See DescribeVpcEndpointServiceConfigurations for more information on using the DescribeVpcEndpointServiceConfigurations
  13364. // API call, and error handling.
  13365. //
  13366. // This method is useful when you want to inject custom logic or configuration
  13367. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13368. //
  13369. //
  13370. // // Example sending a request using the DescribeVpcEndpointServiceConfigurationsRequest method.
  13371. // req, resp := client.DescribeVpcEndpointServiceConfigurationsRequest(params)
  13372. //
  13373. // err := req.Send()
  13374. // if err == nil { // resp is now filled
  13375. // fmt.Println(resp)
  13376. // }
  13377. //
  13378. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServiceConfigurations
  13379. func (c *EC2) DescribeVpcEndpointServiceConfigurationsRequest(input *DescribeVpcEndpointServiceConfigurationsInput) (req *request.Request, output *DescribeVpcEndpointServiceConfigurationsOutput) {
  13380. op := &request.Operation{
  13381. Name: opDescribeVpcEndpointServiceConfigurations,
  13382. HTTPMethod: "POST",
  13383. HTTPPath: "/",
  13384. }
  13385. if input == nil {
  13386. input = &DescribeVpcEndpointServiceConfigurationsInput{}
  13387. }
  13388. output = &DescribeVpcEndpointServiceConfigurationsOutput{}
  13389. req = c.newRequest(op, input, output)
  13390. return
  13391. }
  13392. // DescribeVpcEndpointServiceConfigurations API operation for Amazon Elastic Compute Cloud.
  13393. //
  13394. // Describes the VPC endpoint service configurations in your account (your services).
  13395. //
  13396. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13397. // with awserr.Error's Code and Message methods to get detailed information about
  13398. // the error.
  13399. //
  13400. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13401. // API operation DescribeVpcEndpointServiceConfigurations for usage and error information.
  13402. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServiceConfigurations
  13403. func (c *EC2) DescribeVpcEndpointServiceConfigurations(input *DescribeVpcEndpointServiceConfigurationsInput) (*DescribeVpcEndpointServiceConfigurationsOutput, error) {
  13404. req, out := c.DescribeVpcEndpointServiceConfigurationsRequest(input)
  13405. return out, req.Send()
  13406. }
  13407. // DescribeVpcEndpointServiceConfigurationsWithContext is the same as DescribeVpcEndpointServiceConfigurations with the addition of
  13408. // the ability to pass a context and additional request options.
  13409. //
  13410. // See DescribeVpcEndpointServiceConfigurations for details on how to use this API operation.
  13411. //
  13412. // The context must be non-nil and will be used for request cancellation. If
  13413. // the context is nil a panic will occur. In the future the SDK may create
  13414. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13415. // for more information on using Contexts.
  13416. func (c *EC2) DescribeVpcEndpointServiceConfigurationsWithContext(ctx aws.Context, input *DescribeVpcEndpointServiceConfigurationsInput, opts ...request.Option) (*DescribeVpcEndpointServiceConfigurationsOutput, error) {
  13417. req, out := c.DescribeVpcEndpointServiceConfigurationsRequest(input)
  13418. req.SetContext(ctx)
  13419. req.ApplyOptions(opts...)
  13420. return out, req.Send()
  13421. }
  13422. const opDescribeVpcEndpointServicePermissions = "DescribeVpcEndpointServicePermissions"
  13423. // DescribeVpcEndpointServicePermissionsRequest generates a "aws/request.Request" representing the
  13424. // client's request for the DescribeVpcEndpointServicePermissions operation. The "output" return
  13425. // value will be populated with the request's response once the request complets
  13426. // successfuly.
  13427. //
  13428. // Use "Send" method on the returned Request to send the API call to the service.
  13429. // the "output" return value is not valid until after Send returns without error.
  13430. //
  13431. // See DescribeVpcEndpointServicePermissions for more information on using the DescribeVpcEndpointServicePermissions
  13432. // API call, and error handling.
  13433. //
  13434. // This method is useful when you want to inject custom logic or configuration
  13435. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13436. //
  13437. //
  13438. // // Example sending a request using the DescribeVpcEndpointServicePermissionsRequest method.
  13439. // req, resp := client.DescribeVpcEndpointServicePermissionsRequest(params)
  13440. //
  13441. // err := req.Send()
  13442. // if err == nil { // resp is now filled
  13443. // fmt.Println(resp)
  13444. // }
  13445. //
  13446. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServicePermissions
  13447. func (c *EC2) DescribeVpcEndpointServicePermissionsRequest(input *DescribeVpcEndpointServicePermissionsInput) (req *request.Request, output *DescribeVpcEndpointServicePermissionsOutput) {
  13448. op := &request.Operation{
  13449. Name: opDescribeVpcEndpointServicePermissions,
  13450. HTTPMethod: "POST",
  13451. HTTPPath: "/",
  13452. }
  13453. if input == nil {
  13454. input = &DescribeVpcEndpointServicePermissionsInput{}
  13455. }
  13456. output = &DescribeVpcEndpointServicePermissionsOutput{}
  13457. req = c.newRequest(op, input, output)
  13458. return
  13459. }
  13460. // DescribeVpcEndpointServicePermissions API operation for Amazon Elastic Compute Cloud.
  13461. //
  13462. // Describes the principals (service consumers) that are permitted to discover
  13463. // your VPC endpoint service.
  13464. //
  13465. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13466. // with awserr.Error's Code and Message methods to get detailed information about
  13467. // the error.
  13468. //
  13469. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13470. // API operation DescribeVpcEndpointServicePermissions for usage and error information.
  13471. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServicePermissions
  13472. func (c *EC2) DescribeVpcEndpointServicePermissions(input *DescribeVpcEndpointServicePermissionsInput) (*DescribeVpcEndpointServicePermissionsOutput, error) {
  13473. req, out := c.DescribeVpcEndpointServicePermissionsRequest(input)
  13474. return out, req.Send()
  13475. }
  13476. // DescribeVpcEndpointServicePermissionsWithContext is the same as DescribeVpcEndpointServicePermissions with the addition of
  13477. // the ability to pass a context and additional request options.
  13478. //
  13479. // See DescribeVpcEndpointServicePermissions for details on how to use this API operation.
  13480. //
  13481. // The context must be non-nil and will be used for request cancellation. If
  13482. // the context is nil a panic will occur. In the future the SDK may create
  13483. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13484. // for more information on using Contexts.
  13485. func (c *EC2) DescribeVpcEndpointServicePermissionsWithContext(ctx aws.Context, input *DescribeVpcEndpointServicePermissionsInput, opts ...request.Option) (*DescribeVpcEndpointServicePermissionsOutput, error) {
  13486. req, out := c.DescribeVpcEndpointServicePermissionsRequest(input)
  13487. req.SetContext(ctx)
  13488. req.ApplyOptions(opts...)
  13489. return out, req.Send()
  13490. }
  13491. const opDescribeVpcEndpointServices = "DescribeVpcEndpointServices"
  13492. // DescribeVpcEndpointServicesRequest generates a "aws/request.Request" representing the
  13493. // client's request for the DescribeVpcEndpointServices operation. The "output" return
  13494. // value will be populated with the request's response once the request complets
  13495. // successfuly.
  13496. //
  13497. // Use "Send" method on the returned Request to send the API call to the service.
  13498. // the "output" return value is not valid until after Send returns without error.
  13499. //
  13500. // See DescribeVpcEndpointServices for more information on using the DescribeVpcEndpointServices
  13501. // API call, and error handling.
  13502. //
  13503. // This method is useful when you want to inject custom logic or configuration
  13504. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13505. //
  13506. //
  13507. // // Example sending a request using the DescribeVpcEndpointServicesRequest method.
  13508. // req, resp := client.DescribeVpcEndpointServicesRequest(params)
  13509. //
  13510. // err := req.Send()
  13511. // if err == nil { // resp is now filled
  13512. // fmt.Println(resp)
  13513. // }
  13514. //
  13515. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServices
  13516. func (c *EC2) DescribeVpcEndpointServicesRequest(input *DescribeVpcEndpointServicesInput) (req *request.Request, output *DescribeVpcEndpointServicesOutput) {
  13517. op := &request.Operation{
  13518. Name: opDescribeVpcEndpointServices,
  13519. HTTPMethod: "POST",
  13520. HTTPPath: "/",
  13521. }
  13522. if input == nil {
  13523. input = &DescribeVpcEndpointServicesInput{}
  13524. }
  13525. output = &DescribeVpcEndpointServicesOutput{}
  13526. req = c.newRequest(op, input, output)
  13527. return
  13528. }
  13529. // DescribeVpcEndpointServices API operation for Amazon Elastic Compute Cloud.
  13530. //
  13531. // Describes available services to which you can create a VPC endpoint.
  13532. //
  13533. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13534. // with awserr.Error's Code and Message methods to get detailed information about
  13535. // the error.
  13536. //
  13537. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13538. // API operation DescribeVpcEndpointServices for usage and error information.
  13539. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServices
  13540. func (c *EC2) DescribeVpcEndpointServices(input *DescribeVpcEndpointServicesInput) (*DescribeVpcEndpointServicesOutput, error) {
  13541. req, out := c.DescribeVpcEndpointServicesRequest(input)
  13542. return out, req.Send()
  13543. }
  13544. // DescribeVpcEndpointServicesWithContext is the same as DescribeVpcEndpointServices with the addition of
  13545. // the ability to pass a context and additional request options.
  13546. //
  13547. // See DescribeVpcEndpointServices for details on how to use this API operation.
  13548. //
  13549. // The context must be non-nil and will be used for request cancellation. If
  13550. // the context is nil a panic will occur. In the future the SDK may create
  13551. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13552. // for more information on using Contexts.
  13553. func (c *EC2) DescribeVpcEndpointServicesWithContext(ctx aws.Context, input *DescribeVpcEndpointServicesInput, opts ...request.Option) (*DescribeVpcEndpointServicesOutput, error) {
  13554. req, out := c.DescribeVpcEndpointServicesRequest(input)
  13555. req.SetContext(ctx)
  13556. req.ApplyOptions(opts...)
  13557. return out, req.Send()
  13558. }
  13559. const opDescribeVpcEndpoints = "DescribeVpcEndpoints"
  13560. // DescribeVpcEndpointsRequest generates a "aws/request.Request" representing the
  13561. // client's request for the DescribeVpcEndpoints operation. The "output" return
  13562. // value will be populated with the request's response once the request complets
  13563. // successfuly.
  13564. //
  13565. // Use "Send" method on the returned Request to send the API call to the service.
  13566. // the "output" return value is not valid until after Send returns without error.
  13567. //
  13568. // See DescribeVpcEndpoints for more information on using the DescribeVpcEndpoints
  13569. // API call, and error handling.
  13570. //
  13571. // This method is useful when you want to inject custom logic or configuration
  13572. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13573. //
  13574. //
  13575. // // Example sending a request using the DescribeVpcEndpointsRequest method.
  13576. // req, resp := client.DescribeVpcEndpointsRequest(params)
  13577. //
  13578. // err := req.Send()
  13579. // if err == nil { // resp is now filled
  13580. // fmt.Println(resp)
  13581. // }
  13582. //
  13583. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpoints
  13584. func (c *EC2) DescribeVpcEndpointsRequest(input *DescribeVpcEndpointsInput) (req *request.Request, output *DescribeVpcEndpointsOutput) {
  13585. op := &request.Operation{
  13586. Name: opDescribeVpcEndpoints,
  13587. HTTPMethod: "POST",
  13588. HTTPPath: "/",
  13589. }
  13590. if input == nil {
  13591. input = &DescribeVpcEndpointsInput{}
  13592. }
  13593. output = &DescribeVpcEndpointsOutput{}
  13594. req = c.newRequest(op, input, output)
  13595. return
  13596. }
  13597. // DescribeVpcEndpoints API operation for Amazon Elastic Compute Cloud.
  13598. //
  13599. // Describes one or more of your VPC endpoints.
  13600. //
  13601. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13602. // with awserr.Error's Code and Message methods to get detailed information about
  13603. // the error.
  13604. //
  13605. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13606. // API operation DescribeVpcEndpoints for usage and error information.
  13607. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpoints
  13608. func (c *EC2) DescribeVpcEndpoints(input *DescribeVpcEndpointsInput) (*DescribeVpcEndpointsOutput, error) {
  13609. req, out := c.DescribeVpcEndpointsRequest(input)
  13610. return out, req.Send()
  13611. }
  13612. // DescribeVpcEndpointsWithContext is the same as DescribeVpcEndpoints with the addition of
  13613. // the ability to pass a context and additional request options.
  13614. //
  13615. // See DescribeVpcEndpoints for details on how to use this API operation.
  13616. //
  13617. // The context must be non-nil and will be used for request cancellation. If
  13618. // the context is nil a panic will occur. In the future the SDK may create
  13619. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13620. // for more information on using Contexts.
  13621. func (c *EC2) DescribeVpcEndpointsWithContext(ctx aws.Context, input *DescribeVpcEndpointsInput, opts ...request.Option) (*DescribeVpcEndpointsOutput, error) {
  13622. req, out := c.DescribeVpcEndpointsRequest(input)
  13623. req.SetContext(ctx)
  13624. req.ApplyOptions(opts...)
  13625. return out, req.Send()
  13626. }
  13627. const opDescribeVpcPeeringConnections = "DescribeVpcPeeringConnections"
  13628. // DescribeVpcPeeringConnectionsRequest generates a "aws/request.Request" representing the
  13629. // client's request for the DescribeVpcPeeringConnections operation. The "output" return
  13630. // value will be populated with the request's response once the request complets
  13631. // successfuly.
  13632. //
  13633. // Use "Send" method on the returned Request to send the API call to the service.
  13634. // the "output" return value is not valid until after Send returns without error.
  13635. //
  13636. // See DescribeVpcPeeringConnections for more information on using the DescribeVpcPeeringConnections
  13637. // API call, and error handling.
  13638. //
  13639. // This method is useful when you want to inject custom logic or configuration
  13640. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13641. //
  13642. //
  13643. // // Example sending a request using the DescribeVpcPeeringConnectionsRequest method.
  13644. // req, resp := client.DescribeVpcPeeringConnectionsRequest(params)
  13645. //
  13646. // err := req.Send()
  13647. // if err == nil { // resp is now filled
  13648. // fmt.Println(resp)
  13649. // }
  13650. //
  13651. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcPeeringConnections
  13652. func (c *EC2) DescribeVpcPeeringConnectionsRequest(input *DescribeVpcPeeringConnectionsInput) (req *request.Request, output *DescribeVpcPeeringConnectionsOutput) {
  13653. op := &request.Operation{
  13654. Name: opDescribeVpcPeeringConnections,
  13655. HTTPMethod: "POST",
  13656. HTTPPath: "/",
  13657. }
  13658. if input == nil {
  13659. input = &DescribeVpcPeeringConnectionsInput{}
  13660. }
  13661. output = &DescribeVpcPeeringConnectionsOutput{}
  13662. req = c.newRequest(op, input, output)
  13663. return
  13664. }
  13665. // DescribeVpcPeeringConnections API operation for Amazon Elastic Compute Cloud.
  13666. //
  13667. // Describes one or more of your VPC peering connections.
  13668. //
  13669. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13670. // with awserr.Error's Code and Message methods to get detailed information about
  13671. // the error.
  13672. //
  13673. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13674. // API operation DescribeVpcPeeringConnections for usage and error information.
  13675. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcPeeringConnections
  13676. func (c *EC2) DescribeVpcPeeringConnections(input *DescribeVpcPeeringConnectionsInput) (*DescribeVpcPeeringConnectionsOutput, error) {
  13677. req, out := c.DescribeVpcPeeringConnectionsRequest(input)
  13678. return out, req.Send()
  13679. }
  13680. // DescribeVpcPeeringConnectionsWithContext is the same as DescribeVpcPeeringConnections with the addition of
  13681. // the ability to pass a context and additional request options.
  13682. //
  13683. // See DescribeVpcPeeringConnections for details on how to use this API operation.
  13684. //
  13685. // The context must be non-nil and will be used for request cancellation. If
  13686. // the context is nil a panic will occur. In the future the SDK may create
  13687. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13688. // for more information on using Contexts.
  13689. func (c *EC2) DescribeVpcPeeringConnectionsWithContext(ctx aws.Context, input *DescribeVpcPeeringConnectionsInput, opts ...request.Option) (*DescribeVpcPeeringConnectionsOutput, error) {
  13690. req, out := c.DescribeVpcPeeringConnectionsRequest(input)
  13691. req.SetContext(ctx)
  13692. req.ApplyOptions(opts...)
  13693. return out, req.Send()
  13694. }
  13695. const opDescribeVpcs = "DescribeVpcs"
  13696. // DescribeVpcsRequest generates a "aws/request.Request" representing the
  13697. // client's request for the DescribeVpcs operation. The "output" return
  13698. // value will be populated with the request's response once the request complets
  13699. // successfuly.
  13700. //
  13701. // Use "Send" method on the returned Request to send the API call to the service.
  13702. // the "output" return value is not valid until after Send returns without error.
  13703. //
  13704. // See DescribeVpcs for more information on using the DescribeVpcs
  13705. // API call, and error handling.
  13706. //
  13707. // This method is useful when you want to inject custom logic or configuration
  13708. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13709. //
  13710. //
  13711. // // Example sending a request using the DescribeVpcsRequest method.
  13712. // req, resp := client.DescribeVpcsRequest(params)
  13713. //
  13714. // err := req.Send()
  13715. // if err == nil { // resp is now filled
  13716. // fmt.Println(resp)
  13717. // }
  13718. //
  13719. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcs
  13720. func (c *EC2) DescribeVpcsRequest(input *DescribeVpcsInput) (req *request.Request, output *DescribeVpcsOutput) {
  13721. op := &request.Operation{
  13722. Name: opDescribeVpcs,
  13723. HTTPMethod: "POST",
  13724. HTTPPath: "/",
  13725. }
  13726. if input == nil {
  13727. input = &DescribeVpcsInput{}
  13728. }
  13729. output = &DescribeVpcsOutput{}
  13730. req = c.newRequest(op, input, output)
  13731. return
  13732. }
  13733. // DescribeVpcs API operation for Amazon Elastic Compute Cloud.
  13734. //
  13735. // Describes one or more of your VPCs.
  13736. //
  13737. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13738. // with awserr.Error's Code and Message methods to get detailed information about
  13739. // the error.
  13740. //
  13741. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13742. // API operation DescribeVpcs for usage and error information.
  13743. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcs
  13744. func (c *EC2) DescribeVpcs(input *DescribeVpcsInput) (*DescribeVpcsOutput, error) {
  13745. req, out := c.DescribeVpcsRequest(input)
  13746. return out, req.Send()
  13747. }
  13748. // DescribeVpcsWithContext is the same as DescribeVpcs with the addition of
  13749. // the ability to pass a context and additional request options.
  13750. //
  13751. // See DescribeVpcs for details on how to use this API operation.
  13752. //
  13753. // The context must be non-nil and will be used for request cancellation. If
  13754. // the context is nil a panic will occur. In the future the SDK may create
  13755. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13756. // for more information on using Contexts.
  13757. func (c *EC2) DescribeVpcsWithContext(ctx aws.Context, input *DescribeVpcsInput, opts ...request.Option) (*DescribeVpcsOutput, error) {
  13758. req, out := c.DescribeVpcsRequest(input)
  13759. req.SetContext(ctx)
  13760. req.ApplyOptions(opts...)
  13761. return out, req.Send()
  13762. }
  13763. const opDescribeVpnConnections = "DescribeVpnConnections"
  13764. // DescribeVpnConnectionsRequest generates a "aws/request.Request" representing the
  13765. // client's request for the DescribeVpnConnections operation. The "output" return
  13766. // value will be populated with the request's response once the request complets
  13767. // successfuly.
  13768. //
  13769. // Use "Send" method on the returned Request to send the API call to the service.
  13770. // the "output" return value is not valid until after Send returns without error.
  13771. //
  13772. // See DescribeVpnConnections for more information on using the DescribeVpnConnections
  13773. // API call, and error handling.
  13774. //
  13775. // This method is useful when you want to inject custom logic or configuration
  13776. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13777. //
  13778. //
  13779. // // Example sending a request using the DescribeVpnConnectionsRequest method.
  13780. // req, resp := client.DescribeVpnConnectionsRequest(params)
  13781. //
  13782. // err := req.Send()
  13783. // if err == nil { // resp is now filled
  13784. // fmt.Println(resp)
  13785. // }
  13786. //
  13787. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnConnections
  13788. func (c *EC2) DescribeVpnConnectionsRequest(input *DescribeVpnConnectionsInput) (req *request.Request, output *DescribeVpnConnectionsOutput) {
  13789. op := &request.Operation{
  13790. Name: opDescribeVpnConnections,
  13791. HTTPMethod: "POST",
  13792. HTTPPath: "/",
  13793. }
  13794. if input == nil {
  13795. input = &DescribeVpnConnectionsInput{}
  13796. }
  13797. output = &DescribeVpnConnectionsOutput{}
  13798. req = c.newRequest(op, input, output)
  13799. return
  13800. }
  13801. // DescribeVpnConnections API operation for Amazon Elastic Compute Cloud.
  13802. //
  13803. // Describes one or more of your VPN connections.
  13804. //
  13805. // For more information about VPN connections, see AWS Managed VPN Connections
  13806. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html) in the
  13807. // Amazon Virtual Private Cloud User Guide.
  13808. //
  13809. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13810. // with awserr.Error's Code and Message methods to get detailed information about
  13811. // the error.
  13812. //
  13813. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13814. // API operation DescribeVpnConnections for usage and error information.
  13815. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnConnections
  13816. func (c *EC2) DescribeVpnConnections(input *DescribeVpnConnectionsInput) (*DescribeVpnConnectionsOutput, error) {
  13817. req, out := c.DescribeVpnConnectionsRequest(input)
  13818. return out, req.Send()
  13819. }
  13820. // DescribeVpnConnectionsWithContext is the same as DescribeVpnConnections with the addition of
  13821. // the ability to pass a context and additional request options.
  13822. //
  13823. // See DescribeVpnConnections for details on how to use this API operation.
  13824. //
  13825. // The context must be non-nil and will be used for request cancellation. If
  13826. // the context is nil a panic will occur. In the future the SDK may create
  13827. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13828. // for more information on using Contexts.
  13829. func (c *EC2) DescribeVpnConnectionsWithContext(ctx aws.Context, input *DescribeVpnConnectionsInput, opts ...request.Option) (*DescribeVpnConnectionsOutput, error) {
  13830. req, out := c.DescribeVpnConnectionsRequest(input)
  13831. req.SetContext(ctx)
  13832. req.ApplyOptions(opts...)
  13833. return out, req.Send()
  13834. }
  13835. const opDescribeVpnGateways = "DescribeVpnGateways"
  13836. // DescribeVpnGatewaysRequest generates a "aws/request.Request" representing the
  13837. // client's request for the DescribeVpnGateways operation. The "output" return
  13838. // value will be populated with the request's response once the request complets
  13839. // successfuly.
  13840. //
  13841. // Use "Send" method on the returned Request to send the API call to the service.
  13842. // the "output" return value is not valid until after Send returns without error.
  13843. //
  13844. // See DescribeVpnGateways for more information on using the DescribeVpnGateways
  13845. // API call, and error handling.
  13846. //
  13847. // This method is useful when you want to inject custom logic or configuration
  13848. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13849. //
  13850. //
  13851. // // Example sending a request using the DescribeVpnGatewaysRequest method.
  13852. // req, resp := client.DescribeVpnGatewaysRequest(params)
  13853. //
  13854. // err := req.Send()
  13855. // if err == nil { // resp is now filled
  13856. // fmt.Println(resp)
  13857. // }
  13858. //
  13859. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnGateways
  13860. func (c *EC2) DescribeVpnGatewaysRequest(input *DescribeVpnGatewaysInput) (req *request.Request, output *DescribeVpnGatewaysOutput) {
  13861. op := &request.Operation{
  13862. Name: opDescribeVpnGateways,
  13863. HTTPMethod: "POST",
  13864. HTTPPath: "/",
  13865. }
  13866. if input == nil {
  13867. input = &DescribeVpnGatewaysInput{}
  13868. }
  13869. output = &DescribeVpnGatewaysOutput{}
  13870. req = c.newRequest(op, input, output)
  13871. return
  13872. }
  13873. // DescribeVpnGateways API operation for Amazon Elastic Compute Cloud.
  13874. //
  13875. // Describes one or more of your virtual private gateways.
  13876. //
  13877. // For more information about virtual private gateways, see AWS Managed VPN
  13878. // Connections (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  13879. // in the Amazon Virtual Private Cloud User Guide.
  13880. //
  13881. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13882. // with awserr.Error's Code and Message methods to get detailed information about
  13883. // the error.
  13884. //
  13885. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13886. // API operation DescribeVpnGateways for usage and error information.
  13887. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnGateways
  13888. func (c *EC2) DescribeVpnGateways(input *DescribeVpnGatewaysInput) (*DescribeVpnGatewaysOutput, error) {
  13889. req, out := c.DescribeVpnGatewaysRequest(input)
  13890. return out, req.Send()
  13891. }
  13892. // DescribeVpnGatewaysWithContext is the same as DescribeVpnGateways with the addition of
  13893. // the ability to pass a context and additional request options.
  13894. //
  13895. // See DescribeVpnGateways for details on how to use this API operation.
  13896. //
  13897. // The context must be non-nil and will be used for request cancellation. If
  13898. // the context is nil a panic will occur. In the future the SDK may create
  13899. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13900. // for more information on using Contexts.
  13901. func (c *EC2) DescribeVpnGatewaysWithContext(ctx aws.Context, input *DescribeVpnGatewaysInput, opts ...request.Option) (*DescribeVpnGatewaysOutput, error) {
  13902. req, out := c.DescribeVpnGatewaysRequest(input)
  13903. req.SetContext(ctx)
  13904. req.ApplyOptions(opts...)
  13905. return out, req.Send()
  13906. }
  13907. const opDetachClassicLinkVpc = "DetachClassicLinkVpc"
  13908. // DetachClassicLinkVpcRequest generates a "aws/request.Request" representing the
  13909. // client's request for the DetachClassicLinkVpc operation. The "output" return
  13910. // value will be populated with the request's response once the request complets
  13911. // successfuly.
  13912. //
  13913. // Use "Send" method on the returned Request to send the API call to the service.
  13914. // the "output" return value is not valid until after Send returns without error.
  13915. //
  13916. // See DetachClassicLinkVpc for more information on using the DetachClassicLinkVpc
  13917. // API call, and error handling.
  13918. //
  13919. // This method is useful when you want to inject custom logic or configuration
  13920. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13921. //
  13922. //
  13923. // // Example sending a request using the DetachClassicLinkVpcRequest method.
  13924. // req, resp := client.DetachClassicLinkVpcRequest(params)
  13925. //
  13926. // err := req.Send()
  13927. // if err == nil { // resp is now filled
  13928. // fmt.Println(resp)
  13929. // }
  13930. //
  13931. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachClassicLinkVpc
  13932. func (c *EC2) DetachClassicLinkVpcRequest(input *DetachClassicLinkVpcInput) (req *request.Request, output *DetachClassicLinkVpcOutput) {
  13933. op := &request.Operation{
  13934. Name: opDetachClassicLinkVpc,
  13935. HTTPMethod: "POST",
  13936. HTTPPath: "/",
  13937. }
  13938. if input == nil {
  13939. input = &DetachClassicLinkVpcInput{}
  13940. }
  13941. output = &DetachClassicLinkVpcOutput{}
  13942. req = c.newRequest(op, input, output)
  13943. return
  13944. }
  13945. // DetachClassicLinkVpc API operation for Amazon Elastic Compute Cloud.
  13946. //
  13947. // Unlinks (detaches) a linked EC2-Classic instance from a VPC. After the instance
  13948. // has been unlinked, the VPC security groups are no longer associated with
  13949. // it. An instance is automatically unlinked from a VPC when it's stopped.
  13950. //
  13951. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13952. // with awserr.Error's Code and Message methods to get detailed information about
  13953. // the error.
  13954. //
  13955. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13956. // API operation DetachClassicLinkVpc for usage and error information.
  13957. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachClassicLinkVpc
  13958. func (c *EC2) DetachClassicLinkVpc(input *DetachClassicLinkVpcInput) (*DetachClassicLinkVpcOutput, error) {
  13959. req, out := c.DetachClassicLinkVpcRequest(input)
  13960. return out, req.Send()
  13961. }
  13962. // DetachClassicLinkVpcWithContext is the same as DetachClassicLinkVpc with the addition of
  13963. // the ability to pass a context and additional request options.
  13964. //
  13965. // See DetachClassicLinkVpc for details on how to use this API operation.
  13966. //
  13967. // The context must be non-nil and will be used for request cancellation. If
  13968. // the context is nil a panic will occur. In the future the SDK may create
  13969. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13970. // for more information on using Contexts.
  13971. func (c *EC2) DetachClassicLinkVpcWithContext(ctx aws.Context, input *DetachClassicLinkVpcInput, opts ...request.Option) (*DetachClassicLinkVpcOutput, error) {
  13972. req, out := c.DetachClassicLinkVpcRequest(input)
  13973. req.SetContext(ctx)
  13974. req.ApplyOptions(opts...)
  13975. return out, req.Send()
  13976. }
  13977. const opDetachInternetGateway = "DetachInternetGateway"
  13978. // DetachInternetGatewayRequest generates a "aws/request.Request" representing the
  13979. // client's request for the DetachInternetGateway operation. The "output" return
  13980. // value will be populated with the request's response once the request complets
  13981. // successfuly.
  13982. //
  13983. // Use "Send" method on the returned Request to send the API call to the service.
  13984. // the "output" return value is not valid until after Send returns without error.
  13985. //
  13986. // See DetachInternetGateway for more information on using the DetachInternetGateway
  13987. // API call, and error handling.
  13988. //
  13989. // This method is useful when you want to inject custom logic or configuration
  13990. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13991. //
  13992. //
  13993. // // Example sending a request using the DetachInternetGatewayRequest method.
  13994. // req, resp := client.DetachInternetGatewayRequest(params)
  13995. //
  13996. // err := req.Send()
  13997. // if err == nil { // resp is now filled
  13998. // fmt.Println(resp)
  13999. // }
  14000. //
  14001. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachInternetGateway
  14002. func (c *EC2) DetachInternetGatewayRequest(input *DetachInternetGatewayInput) (req *request.Request, output *DetachInternetGatewayOutput) {
  14003. op := &request.Operation{
  14004. Name: opDetachInternetGateway,
  14005. HTTPMethod: "POST",
  14006. HTTPPath: "/",
  14007. }
  14008. if input == nil {
  14009. input = &DetachInternetGatewayInput{}
  14010. }
  14011. output = &DetachInternetGatewayOutput{}
  14012. req = c.newRequest(op, input, output)
  14013. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  14014. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  14015. return
  14016. }
  14017. // DetachInternetGateway API operation for Amazon Elastic Compute Cloud.
  14018. //
  14019. // Detaches an Internet gateway from a VPC, disabling connectivity between the
  14020. // Internet and the VPC. The VPC must not contain any running instances with
  14021. // Elastic IP addresses or public IPv4 addresses.
  14022. //
  14023. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14024. // with awserr.Error's Code and Message methods to get detailed information about
  14025. // the error.
  14026. //
  14027. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14028. // API operation DetachInternetGateway for usage and error information.
  14029. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachInternetGateway
  14030. func (c *EC2) DetachInternetGateway(input *DetachInternetGatewayInput) (*DetachInternetGatewayOutput, error) {
  14031. req, out := c.DetachInternetGatewayRequest(input)
  14032. return out, req.Send()
  14033. }
  14034. // DetachInternetGatewayWithContext is the same as DetachInternetGateway with the addition of
  14035. // the ability to pass a context and additional request options.
  14036. //
  14037. // See DetachInternetGateway for details on how to use this API operation.
  14038. //
  14039. // The context must be non-nil and will be used for request cancellation. If
  14040. // the context is nil a panic will occur. In the future the SDK may create
  14041. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14042. // for more information on using Contexts.
  14043. func (c *EC2) DetachInternetGatewayWithContext(ctx aws.Context, input *DetachInternetGatewayInput, opts ...request.Option) (*DetachInternetGatewayOutput, error) {
  14044. req, out := c.DetachInternetGatewayRequest(input)
  14045. req.SetContext(ctx)
  14046. req.ApplyOptions(opts...)
  14047. return out, req.Send()
  14048. }
  14049. const opDetachNetworkInterface = "DetachNetworkInterface"
  14050. // DetachNetworkInterfaceRequest generates a "aws/request.Request" representing the
  14051. // client's request for the DetachNetworkInterface operation. The "output" return
  14052. // value will be populated with the request's response once the request complets
  14053. // successfuly.
  14054. //
  14055. // Use "Send" method on the returned Request to send the API call to the service.
  14056. // the "output" return value is not valid until after Send returns without error.
  14057. //
  14058. // See DetachNetworkInterface for more information on using the DetachNetworkInterface
  14059. // API call, and error handling.
  14060. //
  14061. // This method is useful when you want to inject custom logic or configuration
  14062. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14063. //
  14064. //
  14065. // // Example sending a request using the DetachNetworkInterfaceRequest method.
  14066. // req, resp := client.DetachNetworkInterfaceRequest(params)
  14067. //
  14068. // err := req.Send()
  14069. // if err == nil { // resp is now filled
  14070. // fmt.Println(resp)
  14071. // }
  14072. //
  14073. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachNetworkInterface
  14074. func (c *EC2) DetachNetworkInterfaceRequest(input *DetachNetworkInterfaceInput) (req *request.Request, output *DetachNetworkInterfaceOutput) {
  14075. op := &request.Operation{
  14076. Name: opDetachNetworkInterface,
  14077. HTTPMethod: "POST",
  14078. HTTPPath: "/",
  14079. }
  14080. if input == nil {
  14081. input = &DetachNetworkInterfaceInput{}
  14082. }
  14083. output = &DetachNetworkInterfaceOutput{}
  14084. req = c.newRequest(op, input, output)
  14085. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  14086. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  14087. return
  14088. }
  14089. // DetachNetworkInterface API operation for Amazon Elastic Compute Cloud.
  14090. //
  14091. // Detaches a network interface from an instance.
  14092. //
  14093. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14094. // with awserr.Error's Code and Message methods to get detailed information about
  14095. // the error.
  14096. //
  14097. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14098. // API operation DetachNetworkInterface for usage and error information.
  14099. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachNetworkInterface
  14100. func (c *EC2) DetachNetworkInterface(input *DetachNetworkInterfaceInput) (*DetachNetworkInterfaceOutput, error) {
  14101. req, out := c.DetachNetworkInterfaceRequest(input)
  14102. return out, req.Send()
  14103. }
  14104. // DetachNetworkInterfaceWithContext is the same as DetachNetworkInterface with the addition of
  14105. // the ability to pass a context and additional request options.
  14106. //
  14107. // See DetachNetworkInterface for details on how to use this API operation.
  14108. //
  14109. // The context must be non-nil and will be used for request cancellation. If
  14110. // the context is nil a panic will occur. In the future the SDK may create
  14111. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14112. // for more information on using Contexts.
  14113. func (c *EC2) DetachNetworkInterfaceWithContext(ctx aws.Context, input *DetachNetworkInterfaceInput, opts ...request.Option) (*DetachNetworkInterfaceOutput, error) {
  14114. req, out := c.DetachNetworkInterfaceRequest(input)
  14115. req.SetContext(ctx)
  14116. req.ApplyOptions(opts...)
  14117. return out, req.Send()
  14118. }
  14119. const opDetachVolume = "DetachVolume"
  14120. // DetachVolumeRequest generates a "aws/request.Request" representing the
  14121. // client's request for the DetachVolume operation. The "output" return
  14122. // value will be populated with the request's response once the request complets
  14123. // successfuly.
  14124. //
  14125. // Use "Send" method on the returned Request to send the API call to the service.
  14126. // the "output" return value is not valid until after Send returns without error.
  14127. //
  14128. // See DetachVolume for more information on using the DetachVolume
  14129. // API call, and error handling.
  14130. //
  14131. // This method is useful when you want to inject custom logic or configuration
  14132. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14133. //
  14134. //
  14135. // // Example sending a request using the DetachVolumeRequest method.
  14136. // req, resp := client.DetachVolumeRequest(params)
  14137. //
  14138. // err := req.Send()
  14139. // if err == nil { // resp is now filled
  14140. // fmt.Println(resp)
  14141. // }
  14142. //
  14143. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVolume
  14144. func (c *EC2) DetachVolumeRequest(input *DetachVolumeInput) (req *request.Request, output *VolumeAttachment) {
  14145. op := &request.Operation{
  14146. Name: opDetachVolume,
  14147. HTTPMethod: "POST",
  14148. HTTPPath: "/",
  14149. }
  14150. if input == nil {
  14151. input = &DetachVolumeInput{}
  14152. }
  14153. output = &VolumeAttachment{}
  14154. req = c.newRequest(op, input, output)
  14155. return
  14156. }
  14157. // DetachVolume API operation for Amazon Elastic Compute Cloud.
  14158. //
  14159. // Detaches an EBS volume from an instance. Make sure to unmount any file systems
  14160. // on the device within your operating system before detaching the volume. Failure
  14161. // to do so can result in the volume becoming stuck in the busy state while
  14162. // detaching. If this happens, detachment can be delayed indefinitely until
  14163. // you unmount the volume, force detachment, reboot the instance, or all three.
  14164. // If an EBS volume is the root device of an instance, it can't be detached
  14165. // while the instance is running. To detach the root volume, stop the instance
  14166. // first.
  14167. //
  14168. // When a volume with an AWS Marketplace product code is detached from an instance,
  14169. // the product code is no longer associated with the instance.
  14170. //
  14171. // For more information, see Detaching an Amazon EBS Volume (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-detaching-volume.html)
  14172. // in the Amazon Elastic Compute Cloud User Guide.
  14173. //
  14174. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14175. // with awserr.Error's Code and Message methods to get detailed information about
  14176. // the error.
  14177. //
  14178. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14179. // API operation DetachVolume for usage and error information.
  14180. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVolume
  14181. func (c *EC2) DetachVolume(input *DetachVolumeInput) (*VolumeAttachment, error) {
  14182. req, out := c.DetachVolumeRequest(input)
  14183. return out, req.Send()
  14184. }
  14185. // DetachVolumeWithContext is the same as DetachVolume with the addition of
  14186. // the ability to pass a context and additional request options.
  14187. //
  14188. // See DetachVolume for details on how to use this API operation.
  14189. //
  14190. // The context must be non-nil and will be used for request cancellation. If
  14191. // the context is nil a panic will occur. In the future the SDK may create
  14192. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14193. // for more information on using Contexts.
  14194. func (c *EC2) DetachVolumeWithContext(ctx aws.Context, input *DetachVolumeInput, opts ...request.Option) (*VolumeAttachment, error) {
  14195. req, out := c.DetachVolumeRequest(input)
  14196. req.SetContext(ctx)
  14197. req.ApplyOptions(opts...)
  14198. return out, req.Send()
  14199. }
  14200. const opDetachVpnGateway = "DetachVpnGateway"
  14201. // DetachVpnGatewayRequest generates a "aws/request.Request" representing the
  14202. // client's request for the DetachVpnGateway operation. The "output" return
  14203. // value will be populated with the request's response once the request complets
  14204. // successfuly.
  14205. //
  14206. // Use "Send" method on the returned Request to send the API call to the service.
  14207. // the "output" return value is not valid until after Send returns without error.
  14208. //
  14209. // See DetachVpnGateway for more information on using the DetachVpnGateway
  14210. // API call, and error handling.
  14211. //
  14212. // This method is useful when you want to inject custom logic or configuration
  14213. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14214. //
  14215. //
  14216. // // Example sending a request using the DetachVpnGatewayRequest method.
  14217. // req, resp := client.DetachVpnGatewayRequest(params)
  14218. //
  14219. // err := req.Send()
  14220. // if err == nil { // resp is now filled
  14221. // fmt.Println(resp)
  14222. // }
  14223. //
  14224. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVpnGateway
  14225. func (c *EC2) DetachVpnGatewayRequest(input *DetachVpnGatewayInput) (req *request.Request, output *DetachVpnGatewayOutput) {
  14226. op := &request.Operation{
  14227. Name: opDetachVpnGateway,
  14228. HTTPMethod: "POST",
  14229. HTTPPath: "/",
  14230. }
  14231. if input == nil {
  14232. input = &DetachVpnGatewayInput{}
  14233. }
  14234. output = &DetachVpnGatewayOutput{}
  14235. req = c.newRequest(op, input, output)
  14236. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  14237. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  14238. return
  14239. }
  14240. // DetachVpnGateway API operation for Amazon Elastic Compute Cloud.
  14241. //
  14242. // Detaches a virtual private gateway from a VPC. You do this if you're planning
  14243. // to turn off the VPC and not use it anymore. You can confirm a virtual private
  14244. // gateway has been completely detached from a VPC by describing the virtual
  14245. // private gateway (any attachments to the virtual private gateway are also
  14246. // described).
  14247. //
  14248. // You must wait for the attachment's state to switch to detached before you
  14249. // can delete the VPC or attach a different VPC to the virtual private gateway.
  14250. //
  14251. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14252. // with awserr.Error's Code and Message methods to get detailed information about
  14253. // the error.
  14254. //
  14255. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14256. // API operation DetachVpnGateway for usage and error information.
  14257. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVpnGateway
  14258. func (c *EC2) DetachVpnGateway(input *DetachVpnGatewayInput) (*DetachVpnGatewayOutput, error) {
  14259. req, out := c.DetachVpnGatewayRequest(input)
  14260. return out, req.Send()
  14261. }
  14262. // DetachVpnGatewayWithContext is the same as DetachVpnGateway with the addition of
  14263. // the ability to pass a context and additional request options.
  14264. //
  14265. // See DetachVpnGateway for details on how to use this API operation.
  14266. //
  14267. // The context must be non-nil and will be used for request cancellation. If
  14268. // the context is nil a panic will occur. In the future the SDK may create
  14269. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14270. // for more information on using Contexts.
  14271. func (c *EC2) DetachVpnGatewayWithContext(ctx aws.Context, input *DetachVpnGatewayInput, opts ...request.Option) (*DetachVpnGatewayOutput, error) {
  14272. req, out := c.DetachVpnGatewayRequest(input)
  14273. req.SetContext(ctx)
  14274. req.ApplyOptions(opts...)
  14275. return out, req.Send()
  14276. }
  14277. const opDisableVgwRoutePropagation = "DisableVgwRoutePropagation"
  14278. // DisableVgwRoutePropagationRequest generates a "aws/request.Request" representing the
  14279. // client's request for the DisableVgwRoutePropagation operation. The "output" return
  14280. // value will be populated with the request's response once the request complets
  14281. // successfuly.
  14282. //
  14283. // Use "Send" method on the returned Request to send the API call to the service.
  14284. // the "output" return value is not valid until after Send returns without error.
  14285. //
  14286. // See DisableVgwRoutePropagation for more information on using the DisableVgwRoutePropagation
  14287. // API call, and error handling.
  14288. //
  14289. // This method is useful when you want to inject custom logic or configuration
  14290. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14291. //
  14292. //
  14293. // // Example sending a request using the DisableVgwRoutePropagationRequest method.
  14294. // req, resp := client.DisableVgwRoutePropagationRequest(params)
  14295. //
  14296. // err := req.Send()
  14297. // if err == nil { // resp is now filled
  14298. // fmt.Println(resp)
  14299. // }
  14300. //
  14301. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVgwRoutePropagation
  14302. func (c *EC2) DisableVgwRoutePropagationRequest(input *DisableVgwRoutePropagationInput) (req *request.Request, output *DisableVgwRoutePropagationOutput) {
  14303. op := &request.Operation{
  14304. Name: opDisableVgwRoutePropagation,
  14305. HTTPMethod: "POST",
  14306. HTTPPath: "/",
  14307. }
  14308. if input == nil {
  14309. input = &DisableVgwRoutePropagationInput{}
  14310. }
  14311. output = &DisableVgwRoutePropagationOutput{}
  14312. req = c.newRequest(op, input, output)
  14313. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  14314. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  14315. return
  14316. }
  14317. // DisableVgwRoutePropagation API operation for Amazon Elastic Compute Cloud.
  14318. //
  14319. // Disables a virtual private gateway (VGW) from propagating routes to a specified
  14320. // route table of a VPC.
  14321. //
  14322. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14323. // with awserr.Error's Code and Message methods to get detailed information about
  14324. // the error.
  14325. //
  14326. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14327. // API operation DisableVgwRoutePropagation for usage and error information.
  14328. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVgwRoutePropagation
  14329. func (c *EC2) DisableVgwRoutePropagation(input *DisableVgwRoutePropagationInput) (*DisableVgwRoutePropagationOutput, error) {
  14330. req, out := c.DisableVgwRoutePropagationRequest(input)
  14331. return out, req.Send()
  14332. }
  14333. // DisableVgwRoutePropagationWithContext is the same as DisableVgwRoutePropagation with the addition of
  14334. // the ability to pass a context and additional request options.
  14335. //
  14336. // See DisableVgwRoutePropagation for details on how to use this API operation.
  14337. //
  14338. // The context must be non-nil and will be used for request cancellation. If
  14339. // the context is nil a panic will occur. In the future the SDK may create
  14340. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14341. // for more information on using Contexts.
  14342. func (c *EC2) DisableVgwRoutePropagationWithContext(ctx aws.Context, input *DisableVgwRoutePropagationInput, opts ...request.Option) (*DisableVgwRoutePropagationOutput, error) {
  14343. req, out := c.DisableVgwRoutePropagationRequest(input)
  14344. req.SetContext(ctx)
  14345. req.ApplyOptions(opts...)
  14346. return out, req.Send()
  14347. }
  14348. const opDisableVpcClassicLink = "DisableVpcClassicLink"
  14349. // DisableVpcClassicLinkRequest generates a "aws/request.Request" representing the
  14350. // client's request for the DisableVpcClassicLink operation. The "output" return
  14351. // value will be populated with the request's response once the request complets
  14352. // successfuly.
  14353. //
  14354. // Use "Send" method on the returned Request to send the API call to the service.
  14355. // the "output" return value is not valid until after Send returns without error.
  14356. //
  14357. // See DisableVpcClassicLink for more information on using the DisableVpcClassicLink
  14358. // API call, and error handling.
  14359. //
  14360. // This method is useful when you want to inject custom logic or configuration
  14361. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14362. //
  14363. //
  14364. // // Example sending a request using the DisableVpcClassicLinkRequest method.
  14365. // req, resp := client.DisableVpcClassicLinkRequest(params)
  14366. //
  14367. // err := req.Send()
  14368. // if err == nil { // resp is now filled
  14369. // fmt.Println(resp)
  14370. // }
  14371. //
  14372. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLink
  14373. func (c *EC2) DisableVpcClassicLinkRequest(input *DisableVpcClassicLinkInput) (req *request.Request, output *DisableVpcClassicLinkOutput) {
  14374. op := &request.Operation{
  14375. Name: opDisableVpcClassicLink,
  14376. HTTPMethod: "POST",
  14377. HTTPPath: "/",
  14378. }
  14379. if input == nil {
  14380. input = &DisableVpcClassicLinkInput{}
  14381. }
  14382. output = &DisableVpcClassicLinkOutput{}
  14383. req = c.newRequest(op, input, output)
  14384. return
  14385. }
  14386. // DisableVpcClassicLink API operation for Amazon Elastic Compute Cloud.
  14387. //
  14388. // Disables ClassicLink for a VPC. You cannot disable ClassicLink for a VPC
  14389. // that has EC2-Classic instances linked to it.
  14390. //
  14391. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14392. // with awserr.Error's Code and Message methods to get detailed information about
  14393. // the error.
  14394. //
  14395. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14396. // API operation DisableVpcClassicLink for usage and error information.
  14397. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLink
  14398. func (c *EC2) DisableVpcClassicLink(input *DisableVpcClassicLinkInput) (*DisableVpcClassicLinkOutput, error) {
  14399. req, out := c.DisableVpcClassicLinkRequest(input)
  14400. return out, req.Send()
  14401. }
  14402. // DisableVpcClassicLinkWithContext is the same as DisableVpcClassicLink with the addition of
  14403. // the ability to pass a context and additional request options.
  14404. //
  14405. // See DisableVpcClassicLink for details on how to use this API operation.
  14406. //
  14407. // The context must be non-nil and will be used for request cancellation. If
  14408. // the context is nil a panic will occur. In the future the SDK may create
  14409. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14410. // for more information on using Contexts.
  14411. func (c *EC2) DisableVpcClassicLinkWithContext(ctx aws.Context, input *DisableVpcClassicLinkInput, opts ...request.Option) (*DisableVpcClassicLinkOutput, error) {
  14412. req, out := c.DisableVpcClassicLinkRequest(input)
  14413. req.SetContext(ctx)
  14414. req.ApplyOptions(opts...)
  14415. return out, req.Send()
  14416. }
  14417. const opDisableVpcClassicLinkDnsSupport = "DisableVpcClassicLinkDnsSupport"
  14418. // DisableVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
  14419. // client's request for the DisableVpcClassicLinkDnsSupport operation. The "output" return
  14420. // value will be populated with the request's response once the request complets
  14421. // successfuly.
  14422. //
  14423. // Use "Send" method on the returned Request to send the API call to the service.
  14424. // the "output" return value is not valid until after Send returns without error.
  14425. //
  14426. // See DisableVpcClassicLinkDnsSupport for more information on using the DisableVpcClassicLinkDnsSupport
  14427. // API call, and error handling.
  14428. //
  14429. // This method is useful when you want to inject custom logic or configuration
  14430. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14431. //
  14432. //
  14433. // // Example sending a request using the DisableVpcClassicLinkDnsSupportRequest method.
  14434. // req, resp := client.DisableVpcClassicLinkDnsSupportRequest(params)
  14435. //
  14436. // err := req.Send()
  14437. // if err == nil { // resp is now filled
  14438. // fmt.Println(resp)
  14439. // }
  14440. //
  14441. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkDnsSupport
  14442. func (c *EC2) DisableVpcClassicLinkDnsSupportRequest(input *DisableVpcClassicLinkDnsSupportInput) (req *request.Request, output *DisableVpcClassicLinkDnsSupportOutput) {
  14443. op := &request.Operation{
  14444. Name: opDisableVpcClassicLinkDnsSupport,
  14445. HTTPMethod: "POST",
  14446. HTTPPath: "/",
  14447. }
  14448. if input == nil {
  14449. input = &DisableVpcClassicLinkDnsSupportInput{}
  14450. }
  14451. output = &DisableVpcClassicLinkDnsSupportOutput{}
  14452. req = c.newRequest(op, input, output)
  14453. return
  14454. }
  14455. // DisableVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
  14456. //
  14457. // Disables ClassicLink DNS support for a VPC. If disabled, DNS hostnames resolve
  14458. // to public IP addresses when addressed between a linked EC2-Classic instance
  14459. // and instances in the VPC to which it's linked. For more information about
  14460. // ClassicLink, see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
  14461. // in the Amazon Elastic Compute Cloud User Guide.
  14462. //
  14463. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14464. // with awserr.Error's Code and Message methods to get detailed information about
  14465. // the error.
  14466. //
  14467. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14468. // API operation DisableVpcClassicLinkDnsSupport for usage and error information.
  14469. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkDnsSupport
  14470. func (c *EC2) DisableVpcClassicLinkDnsSupport(input *DisableVpcClassicLinkDnsSupportInput) (*DisableVpcClassicLinkDnsSupportOutput, error) {
  14471. req, out := c.DisableVpcClassicLinkDnsSupportRequest(input)
  14472. return out, req.Send()
  14473. }
  14474. // DisableVpcClassicLinkDnsSupportWithContext is the same as DisableVpcClassicLinkDnsSupport with the addition of
  14475. // the ability to pass a context and additional request options.
  14476. //
  14477. // See DisableVpcClassicLinkDnsSupport for details on how to use this API operation.
  14478. //
  14479. // The context must be non-nil and will be used for request cancellation. If
  14480. // the context is nil a panic will occur. In the future the SDK may create
  14481. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14482. // for more information on using Contexts.
  14483. func (c *EC2) DisableVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input *DisableVpcClassicLinkDnsSupportInput, opts ...request.Option) (*DisableVpcClassicLinkDnsSupportOutput, error) {
  14484. req, out := c.DisableVpcClassicLinkDnsSupportRequest(input)
  14485. req.SetContext(ctx)
  14486. req.ApplyOptions(opts...)
  14487. return out, req.Send()
  14488. }
  14489. const opDisassociateAddress = "DisassociateAddress"
  14490. // DisassociateAddressRequest generates a "aws/request.Request" representing the
  14491. // client's request for the DisassociateAddress operation. The "output" return
  14492. // value will be populated with the request's response once the request complets
  14493. // successfuly.
  14494. //
  14495. // Use "Send" method on the returned Request to send the API call to the service.
  14496. // the "output" return value is not valid until after Send returns without error.
  14497. //
  14498. // See DisassociateAddress for more information on using the DisassociateAddress
  14499. // API call, and error handling.
  14500. //
  14501. // This method is useful when you want to inject custom logic or configuration
  14502. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14503. //
  14504. //
  14505. // // Example sending a request using the DisassociateAddressRequest method.
  14506. // req, resp := client.DisassociateAddressRequest(params)
  14507. //
  14508. // err := req.Send()
  14509. // if err == nil { // resp is now filled
  14510. // fmt.Println(resp)
  14511. // }
  14512. //
  14513. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateAddress
  14514. func (c *EC2) DisassociateAddressRequest(input *DisassociateAddressInput) (req *request.Request, output *DisassociateAddressOutput) {
  14515. op := &request.Operation{
  14516. Name: opDisassociateAddress,
  14517. HTTPMethod: "POST",
  14518. HTTPPath: "/",
  14519. }
  14520. if input == nil {
  14521. input = &DisassociateAddressInput{}
  14522. }
  14523. output = &DisassociateAddressOutput{}
  14524. req = c.newRequest(op, input, output)
  14525. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  14526. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  14527. return
  14528. }
  14529. // DisassociateAddress API operation for Amazon Elastic Compute Cloud.
  14530. //
  14531. // Disassociates an Elastic IP address from the instance or network interface
  14532. // it's associated with.
  14533. //
  14534. // An Elastic IP address is for use in either the EC2-Classic platform or in
  14535. // a VPC. For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  14536. // in the Amazon Elastic Compute Cloud User Guide.
  14537. //
  14538. // This is an idempotent operation. If you perform the operation more than once,
  14539. // Amazon EC2 doesn't return an error.
  14540. //
  14541. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14542. // with awserr.Error's Code and Message methods to get detailed information about
  14543. // the error.
  14544. //
  14545. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14546. // API operation DisassociateAddress for usage and error information.
  14547. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateAddress
  14548. func (c *EC2) DisassociateAddress(input *DisassociateAddressInput) (*DisassociateAddressOutput, error) {
  14549. req, out := c.DisassociateAddressRequest(input)
  14550. return out, req.Send()
  14551. }
  14552. // DisassociateAddressWithContext is the same as DisassociateAddress with the addition of
  14553. // the ability to pass a context and additional request options.
  14554. //
  14555. // See DisassociateAddress for details on how to use this API operation.
  14556. //
  14557. // The context must be non-nil and will be used for request cancellation. If
  14558. // the context is nil a panic will occur. In the future the SDK may create
  14559. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14560. // for more information on using Contexts.
  14561. func (c *EC2) DisassociateAddressWithContext(ctx aws.Context, input *DisassociateAddressInput, opts ...request.Option) (*DisassociateAddressOutput, error) {
  14562. req, out := c.DisassociateAddressRequest(input)
  14563. req.SetContext(ctx)
  14564. req.ApplyOptions(opts...)
  14565. return out, req.Send()
  14566. }
  14567. const opDisassociateIamInstanceProfile = "DisassociateIamInstanceProfile"
  14568. // DisassociateIamInstanceProfileRequest generates a "aws/request.Request" representing the
  14569. // client's request for the DisassociateIamInstanceProfile operation. The "output" return
  14570. // value will be populated with the request's response once the request complets
  14571. // successfuly.
  14572. //
  14573. // Use "Send" method on the returned Request to send the API call to the service.
  14574. // the "output" return value is not valid until after Send returns without error.
  14575. //
  14576. // See DisassociateIamInstanceProfile for more information on using the DisassociateIamInstanceProfile
  14577. // API call, and error handling.
  14578. //
  14579. // This method is useful when you want to inject custom logic or configuration
  14580. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14581. //
  14582. //
  14583. // // Example sending a request using the DisassociateIamInstanceProfileRequest method.
  14584. // req, resp := client.DisassociateIamInstanceProfileRequest(params)
  14585. //
  14586. // err := req.Send()
  14587. // if err == nil { // resp is now filled
  14588. // fmt.Println(resp)
  14589. // }
  14590. //
  14591. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateIamInstanceProfile
  14592. func (c *EC2) DisassociateIamInstanceProfileRequest(input *DisassociateIamInstanceProfileInput) (req *request.Request, output *DisassociateIamInstanceProfileOutput) {
  14593. op := &request.Operation{
  14594. Name: opDisassociateIamInstanceProfile,
  14595. HTTPMethod: "POST",
  14596. HTTPPath: "/",
  14597. }
  14598. if input == nil {
  14599. input = &DisassociateIamInstanceProfileInput{}
  14600. }
  14601. output = &DisassociateIamInstanceProfileOutput{}
  14602. req = c.newRequest(op, input, output)
  14603. return
  14604. }
  14605. // DisassociateIamInstanceProfile API operation for Amazon Elastic Compute Cloud.
  14606. //
  14607. // Disassociates an IAM instance profile from a running or stopped instance.
  14608. //
  14609. // Use DescribeIamInstanceProfileAssociations to get the association ID.
  14610. //
  14611. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14612. // with awserr.Error's Code and Message methods to get detailed information about
  14613. // the error.
  14614. //
  14615. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14616. // API operation DisassociateIamInstanceProfile for usage and error information.
  14617. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateIamInstanceProfile
  14618. func (c *EC2) DisassociateIamInstanceProfile(input *DisassociateIamInstanceProfileInput) (*DisassociateIamInstanceProfileOutput, error) {
  14619. req, out := c.DisassociateIamInstanceProfileRequest(input)
  14620. return out, req.Send()
  14621. }
  14622. // DisassociateIamInstanceProfileWithContext is the same as DisassociateIamInstanceProfile with the addition of
  14623. // the ability to pass a context and additional request options.
  14624. //
  14625. // See DisassociateIamInstanceProfile for details on how to use this API operation.
  14626. //
  14627. // The context must be non-nil and will be used for request cancellation. If
  14628. // the context is nil a panic will occur. In the future the SDK may create
  14629. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14630. // for more information on using Contexts.
  14631. func (c *EC2) DisassociateIamInstanceProfileWithContext(ctx aws.Context, input *DisassociateIamInstanceProfileInput, opts ...request.Option) (*DisassociateIamInstanceProfileOutput, error) {
  14632. req, out := c.DisassociateIamInstanceProfileRequest(input)
  14633. req.SetContext(ctx)
  14634. req.ApplyOptions(opts...)
  14635. return out, req.Send()
  14636. }
  14637. const opDisassociateRouteTable = "DisassociateRouteTable"
  14638. // DisassociateRouteTableRequest generates a "aws/request.Request" representing the
  14639. // client's request for the DisassociateRouteTable operation. The "output" return
  14640. // value will be populated with the request's response once the request complets
  14641. // successfuly.
  14642. //
  14643. // Use "Send" method on the returned Request to send the API call to the service.
  14644. // the "output" return value is not valid until after Send returns without error.
  14645. //
  14646. // See DisassociateRouteTable for more information on using the DisassociateRouteTable
  14647. // API call, and error handling.
  14648. //
  14649. // This method is useful when you want to inject custom logic or configuration
  14650. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14651. //
  14652. //
  14653. // // Example sending a request using the DisassociateRouteTableRequest method.
  14654. // req, resp := client.DisassociateRouteTableRequest(params)
  14655. //
  14656. // err := req.Send()
  14657. // if err == nil { // resp is now filled
  14658. // fmt.Println(resp)
  14659. // }
  14660. //
  14661. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateRouteTable
  14662. func (c *EC2) DisassociateRouteTableRequest(input *DisassociateRouteTableInput) (req *request.Request, output *DisassociateRouteTableOutput) {
  14663. op := &request.Operation{
  14664. Name: opDisassociateRouteTable,
  14665. HTTPMethod: "POST",
  14666. HTTPPath: "/",
  14667. }
  14668. if input == nil {
  14669. input = &DisassociateRouteTableInput{}
  14670. }
  14671. output = &DisassociateRouteTableOutput{}
  14672. req = c.newRequest(op, input, output)
  14673. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  14674. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  14675. return
  14676. }
  14677. // DisassociateRouteTable API operation for Amazon Elastic Compute Cloud.
  14678. //
  14679. // Disassociates a subnet from a route table.
  14680. //
  14681. // After you perform this action, the subnet no longer uses the routes in the
  14682. // route table. Instead, it uses the routes in the VPC's main route table. For
  14683. // more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  14684. // in the Amazon Virtual Private Cloud User Guide.
  14685. //
  14686. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14687. // with awserr.Error's Code and Message methods to get detailed information about
  14688. // the error.
  14689. //
  14690. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14691. // API operation DisassociateRouteTable for usage and error information.
  14692. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateRouteTable
  14693. func (c *EC2) DisassociateRouteTable(input *DisassociateRouteTableInput) (*DisassociateRouteTableOutput, error) {
  14694. req, out := c.DisassociateRouteTableRequest(input)
  14695. return out, req.Send()
  14696. }
  14697. // DisassociateRouteTableWithContext is the same as DisassociateRouteTable with the addition of
  14698. // the ability to pass a context and additional request options.
  14699. //
  14700. // See DisassociateRouteTable for details on how to use this API operation.
  14701. //
  14702. // The context must be non-nil and will be used for request cancellation. If
  14703. // the context is nil a panic will occur. In the future the SDK may create
  14704. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14705. // for more information on using Contexts.
  14706. func (c *EC2) DisassociateRouteTableWithContext(ctx aws.Context, input *DisassociateRouteTableInput, opts ...request.Option) (*DisassociateRouteTableOutput, error) {
  14707. req, out := c.DisassociateRouteTableRequest(input)
  14708. req.SetContext(ctx)
  14709. req.ApplyOptions(opts...)
  14710. return out, req.Send()
  14711. }
  14712. const opDisassociateSubnetCidrBlock = "DisassociateSubnetCidrBlock"
  14713. // DisassociateSubnetCidrBlockRequest generates a "aws/request.Request" representing the
  14714. // client's request for the DisassociateSubnetCidrBlock operation. The "output" return
  14715. // value will be populated with the request's response once the request complets
  14716. // successfuly.
  14717. //
  14718. // Use "Send" method on the returned Request to send the API call to the service.
  14719. // the "output" return value is not valid until after Send returns without error.
  14720. //
  14721. // See DisassociateSubnetCidrBlock for more information on using the DisassociateSubnetCidrBlock
  14722. // API call, and error handling.
  14723. //
  14724. // This method is useful when you want to inject custom logic or configuration
  14725. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14726. //
  14727. //
  14728. // // Example sending a request using the DisassociateSubnetCidrBlockRequest method.
  14729. // req, resp := client.DisassociateSubnetCidrBlockRequest(params)
  14730. //
  14731. // err := req.Send()
  14732. // if err == nil { // resp is now filled
  14733. // fmt.Println(resp)
  14734. // }
  14735. //
  14736. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateSubnetCidrBlock
  14737. func (c *EC2) DisassociateSubnetCidrBlockRequest(input *DisassociateSubnetCidrBlockInput) (req *request.Request, output *DisassociateSubnetCidrBlockOutput) {
  14738. op := &request.Operation{
  14739. Name: opDisassociateSubnetCidrBlock,
  14740. HTTPMethod: "POST",
  14741. HTTPPath: "/",
  14742. }
  14743. if input == nil {
  14744. input = &DisassociateSubnetCidrBlockInput{}
  14745. }
  14746. output = &DisassociateSubnetCidrBlockOutput{}
  14747. req = c.newRequest(op, input, output)
  14748. return
  14749. }
  14750. // DisassociateSubnetCidrBlock API operation for Amazon Elastic Compute Cloud.
  14751. //
  14752. // Disassociates a CIDR block from a subnet. Currently, you can disassociate
  14753. // an IPv6 CIDR block only. You must detach or delete all gateways and resources
  14754. // that are associated with the CIDR block before you can disassociate it.
  14755. //
  14756. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14757. // with awserr.Error's Code and Message methods to get detailed information about
  14758. // the error.
  14759. //
  14760. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14761. // API operation DisassociateSubnetCidrBlock for usage and error information.
  14762. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateSubnetCidrBlock
  14763. func (c *EC2) DisassociateSubnetCidrBlock(input *DisassociateSubnetCidrBlockInput) (*DisassociateSubnetCidrBlockOutput, error) {
  14764. req, out := c.DisassociateSubnetCidrBlockRequest(input)
  14765. return out, req.Send()
  14766. }
  14767. // DisassociateSubnetCidrBlockWithContext is the same as DisassociateSubnetCidrBlock with the addition of
  14768. // the ability to pass a context and additional request options.
  14769. //
  14770. // See DisassociateSubnetCidrBlock for details on how to use this API operation.
  14771. //
  14772. // The context must be non-nil and will be used for request cancellation. If
  14773. // the context is nil a panic will occur. In the future the SDK may create
  14774. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14775. // for more information on using Contexts.
  14776. func (c *EC2) DisassociateSubnetCidrBlockWithContext(ctx aws.Context, input *DisassociateSubnetCidrBlockInput, opts ...request.Option) (*DisassociateSubnetCidrBlockOutput, error) {
  14777. req, out := c.DisassociateSubnetCidrBlockRequest(input)
  14778. req.SetContext(ctx)
  14779. req.ApplyOptions(opts...)
  14780. return out, req.Send()
  14781. }
  14782. const opDisassociateVpcCidrBlock = "DisassociateVpcCidrBlock"
  14783. // DisassociateVpcCidrBlockRequest generates a "aws/request.Request" representing the
  14784. // client's request for the DisassociateVpcCidrBlock operation. The "output" return
  14785. // value will be populated with the request's response once the request complets
  14786. // successfuly.
  14787. //
  14788. // Use "Send" method on the returned Request to send the API call to the service.
  14789. // the "output" return value is not valid until after Send returns without error.
  14790. //
  14791. // See DisassociateVpcCidrBlock for more information on using the DisassociateVpcCidrBlock
  14792. // API call, and error handling.
  14793. //
  14794. // This method is useful when you want to inject custom logic or configuration
  14795. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14796. //
  14797. //
  14798. // // Example sending a request using the DisassociateVpcCidrBlockRequest method.
  14799. // req, resp := client.DisassociateVpcCidrBlockRequest(params)
  14800. //
  14801. // err := req.Send()
  14802. // if err == nil { // resp is now filled
  14803. // fmt.Println(resp)
  14804. // }
  14805. //
  14806. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateVpcCidrBlock
  14807. func (c *EC2) DisassociateVpcCidrBlockRequest(input *DisassociateVpcCidrBlockInput) (req *request.Request, output *DisassociateVpcCidrBlockOutput) {
  14808. op := &request.Operation{
  14809. Name: opDisassociateVpcCidrBlock,
  14810. HTTPMethod: "POST",
  14811. HTTPPath: "/",
  14812. }
  14813. if input == nil {
  14814. input = &DisassociateVpcCidrBlockInput{}
  14815. }
  14816. output = &DisassociateVpcCidrBlockOutput{}
  14817. req = c.newRequest(op, input, output)
  14818. return
  14819. }
  14820. // DisassociateVpcCidrBlock API operation for Amazon Elastic Compute Cloud.
  14821. //
  14822. // Disassociates a CIDR block from a VPC. To disassociate the CIDR block, you
  14823. // must specify its association ID. You can get the association ID by using
  14824. // DescribeVpcs. You must detach or delete all gateways and resources that are
  14825. // associated with the CIDR block before you can disassociate it.
  14826. //
  14827. // You cannot disassociate the CIDR block with which you originally created
  14828. // the VPC (the primary CIDR block).
  14829. //
  14830. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14831. // with awserr.Error's Code and Message methods to get detailed information about
  14832. // the error.
  14833. //
  14834. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14835. // API operation DisassociateVpcCidrBlock for usage and error information.
  14836. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateVpcCidrBlock
  14837. func (c *EC2) DisassociateVpcCidrBlock(input *DisassociateVpcCidrBlockInput) (*DisassociateVpcCidrBlockOutput, error) {
  14838. req, out := c.DisassociateVpcCidrBlockRequest(input)
  14839. return out, req.Send()
  14840. }
  14841. // DisassociateVpcCidrBlockWithContext is the same as DisassociateVpcCidrBlock with the addition of
  14842. // the ability to pass a context and additional request options.
  14843. //
  14844. // See DisassociateVpcCidrBlock for details on how to use this API operation.
  14845. //
  14846. // The context must be non-nil and will be used for request cancellation. If
  14847. // the context is nil a panic will occur. In the future the SDK may create
  14848. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14849. // for more information on using Contexts.
  14850. func (c *EC2) DisassociateVpcCidrBlockWithContext(ctx aws.Context, input *DisassociateVpcCidrBlockInput, opts ...request.Option) (*DisassociateVpcCidrBlockOutput, error) {
  14851. req, out := c.DisassociateVpcCidrBlockRequest(input)
  14852. req.SetContext(ctx)
  14853. req.ApplyOptions(opts...)
  14854. return out, req.Send()
  14855. }
  14856. const opEnableVgwRoutePropagation = "EnableVgwRoutePropagation"
  14857. // EnableVgwRoutePropagationRequest generates a "aws/request.Request" representing the
  14858. // client's request for the EnableVgwRoutePropagation operation. The "output" return
  14859. // value will be populated with the request's response once the request complets
  14860. // successfuly.
  14861. //
  14862. // Use "Send" method on the returned Request to send the API call to the service.
  14863. // the "output" return value is not valid until after Send returns without error.
  14864. //
  14865. // See EnableVgwRoutePropagation for more information on using the EnableVgwRoutePropagation
  14866. // API call, and error handling.
  14867. //
  14868. // This method is useful when you want to inject custom logic or configuration
  14869. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14870. //
  14871. //
  14872. // // Example sending a request using the EnableVgwRoutePropagationRequest method.
  14873. // req, resp := client.EnableVgwRoutePropagationRequest(params)
  14874. //
  14875. // err := req.Send()
  14876. // if err == nil { // resp is now filled
  14877. // fmt.Println(resp)
  14878. // }
  14879. //
  14880. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVgwRoutePropagation
  14881. func (c *EC2) EnableVgwRoutePropagationRequest(input *EnableVgwRoutePropagationInput) (req *request.Request, output *EnableVgwRoutePropagationOutput) {
  14882. op := &request.Operation{
  14883. Name: opEnableVgwRoutePropagation,
  14884. HTTPMethod: "POST",
  14885. HTTPPath: "/",
  14886. }
  14887. if input == nil {
  14888. input = &EnableVgwRoutePropagationInput{}
  14889. }
  14890. output = &EnableVgwRoutePropagationOutput{}
  14891. req = c.newRequest(op, input, output)
  14892. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  14893. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  14894. return
  14895. }
  14896. // EnableVgwRoutePropagation API operation for Amazon Elastic Compute Cloud.
  14897. //
  14898. // Enables a virtual private gateway (VGW) to propagate routes to the specified
  14899. // route table of a VPC.
  14900. //
  14901. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14902. // with awserr.Error's Code and Message methods to get detailed information about
  14903. // the error.
  14904. //
  14905. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14906. // API operation EnableVgwRoutePropagation for usage and error information.
  14907. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVgwRoutePropagation
  14908. func (c *EC2) EnableVgwRoutePropagation(input *EnableVgwRoutePropagationInput) (*EnableVgwRoutePropagationOutput, error) {
  14909. req, out := c.EnableVgwRoutePropagationRequest(input)
  14910. return out, req.Send()
  14911. }
  14912. // EnableVgwRoutePropagationWithContext is the same as EnableVgwRoutePropagation with the addition of
  14913. // the ability to pass a context and additional request options.
  14914. //
  14915. // See EnableVgwRoutePropagation for details on how to use this API operation.
  14916. //
  14917. // The context must be non-nil and will be used for request cancellation. If
  14918. // the context is nil a panic will occur. In the future the SDK may create
  14919. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14920. // for more information on using Contexts.
  14921. func (c *EC2) EnableVgwRoutePropagationWithContext(ctx aws.Context, input *EnableVgwRoutePropagationInput, opts ...request.Option) (*EnableVgwRoutePropagationOutput, error) {
  14922. req, out := c.EnableVgwRoutePropagationRequest(input)
  14923. req.SetContext(ctx)
  14924. req.ApplyOptions(opts...)
  14925. return out, req.Send()
  14926. }
  14927. const opEnableVolumeIO = "EnableVolumeIO"
  14928. // EnableVolumeIORequest generates a "aws/request.Request" representing the
  14929. // client's request for the EnableVolumeIO operation. The "output" return
  14930. // value will be populated with the request's response once the request complets
  14931. // successfuly.
  14932. //
  14933. // Use "Send" method on the returned Request to send the API call to the service.
  14934. // the "output" return value is not valid until after Send returns without error.
  14935. //
  14936. // See EnableVolumeIO for more information on using the EnableVolumeIO
  14937. // API call, and error handling.
  14938. //
  14939. // This method is useful when you want to inject custom logic or configuration
  14940. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14941. //
  14942. //
  14943. // // Example sending a request using the EnableVolumeIORequest method.
  14944. // req, resp := client.EnableVolumeIORequest(params)
  14945. //
  14946. // err := req.Send()
  14947. // if err == nil { // resp is now filled
  14948. // fmt.Println(resp)
  14949. // }
  14950. //
  14951. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVolumeIO
  14952. func (c *EC2) EnableVolumeIORequest(input *EnableVolumeIOInput) (req *request.Request, output *EnableVolumeIOOutput) {
  14953. op := &request.Operation{
  14954. Name: opEnableVolumeIO,
  14955. HTTPMethod: "POST",
  14956. HTTPPath: "/",
  14957. }
  14958. if input == nil {
  14959. input = &EnableVolumeIOInput{}
  14960. }
  14961. output = &EnableVolumeIOOutput{}
  14962. req = c.newRequest(op, input, output)
  14963. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  14964. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  14965. return
  14966. }
  14967. // EnableVolumeIO API operation for Amazon Elastic Compute Cloud.
  14968. //
  14969. // Enables I/O operations for a volume that had I/O operations disabled because
  14970. // the data on the volume was potentially inconsistent.
  14971. //
  14972. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14973. // with awserr.Error's Code and Message methods to get detailed information about
  14974. // the error.
  14975. //
  14976. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14977. // API operation EnableVolumeIO for usage and error information.
  14978. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVolumeIO
  14979. func (c *EC2) EnableVolumeIO(input *EnableVolumeIOInput) (*EnableVolumeIOOutput, error) {
  14980. req, out := c.EnableVolumeIORequest(input)
  14981. return out, req.Send()
  14982. }
  14983. // EnableVolumeIOWithContext is the same as EnableVolumeIO with the addition of
  14984. // the ability to pass a context and additional request options.
  14985. //
  14986. // See EnableVolumeIO for details on how to use this API operation.
  14987. //
  14988. // The context must be non-nil and will be used for request cancellation. If
  14989. // the context is nil a panic will occur. In the future the SDK may create
  14990. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14991. // for more information on using Contexts.
  14992. func (c *EC2) EnableVolumeIOWithContext(ctx aws.Context, input *EnableVolumeIOInput, opts ...request.Option) (*EnableVolumeIOOutput, error) {
  14993. req, out := c.EnableVolumeIORequest(input)
  14994. req.SetContext(ctx)
  14995. req.ApplyOptions(opts...)
  14996. return out, req.Send()
  14997. }
  14998. const opEnableVpcClassicLink = "EnableVpcClassicLink"
  14999. // EnableVpcClassicLinkRequest generates a "aws/request.Request" representing the
  15000. // client's request for the EnableVpcClassicLink operation. The "output" return
  15001. // value will be populated with the request's response once the request complets
  15002. // successfuly.
  15003. //
  15004. // Use "Send" method on the returned Request to send the API call to the service.
  15005. // the "output" return value is not valid until after Send returns without error.
  15006. //
  15007. // See EnableVpcClassicLink for more information on using the EnableVpcClassicLink
  15008. // API call, and error handling.
  15009. //
  15010. // This method is useful when you want to inject custom logic or configuration
  15011. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15012. //
  15013. //
  15014. // // Example sending a request using the EnableVpcClassicLinkRequest method.
  15015. // req, resp := client.EnableVpcClassicLinkRequest(params)
  15016. //
  15017. // err := req.Send()
  15018. // if err == nil { // resp is now filled
  15019. // fmt.Println(resp)
  15020. // }
  15021. //
  15022. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLink
  15023. func (c *EC2) EnableVpcClassicLinkRequest(input *EnableVpcClassicLinkInput) (req *request.Request, output *EnableVpcClassicLinkOutput) {
  15024. op := &request.Operation{
  15025. Name: opEnableVpcClassicLink,
  15026. HTTPMethod: "POST",
  15027. HTTPPath: "/",
  15028. }
  15029. if input == nil {
  15030. input = &EnableVpcClassicLinkInput{}
  15031. }
  15032. output = &EnableVpcClassicLinkOutput{}
  15033. req = c.newRequest(op, input, output)
  15034. return
  15035. }
  15036. // EnableVpcClassicLink API operation for Amazon Elastic Compute Cloud.
  15037. //
  15038. // Enables a VPC for ClassicLink. You can then link EC2-Classic instances to
  15039. // your ClassicLink-enabled VPC to allow communication over private IP addresses.
  15040. // You cannot enable your VPC for ClassicLink if any of your VPC's route tables
  15041. // have existing routes for address ranges within the 10.0.0.0/8 IP address
  15042. // range, excluding local routes for VPCs in the 10.0.0.0/16 and 10.1.0.0/16
  15043. // IP address ranges. For more information, see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
  15044. // in the Amazon Elastic Compute Cloud User Guide.
  15045. //
  15046. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15047. // with awserr.Error's Code and Message methods to get detailed information about
  15048. // the error.
  15049. //
  15050. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15051. // API operation EnableVpcClassicLink for usage and error information.
  15052. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLink
  15053. func (c *EC2) EnableVpcClassicLink(input *EnableVpcClassicLinkInput) (*EnableVpcClassicLinkOutput, error) {
  15054. req, out := c.EnableVpcClassicLinkRequest(input)
  15055. return out, req.Send()
  15056. }
  15057. // EnableVpcClassicLinkWithContext is the same as EnableVpcClassicLink with the addition of
  15058. // the ability to pass a context and additional request options.
  15059. //
  15060. // See EnableVpcClassicLink for details on how to use this API operation.
  15061. //
  15062. // The context must be non-nil and will be used for request cancellation. If
  15063. // the context is nil a panic will occur. In the future the SDK may create
  15064. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15065. // for more information on using Contexts.
  15066. func (c *EC2) EnableVpcClassicLinkWithContext(ctx aws.Context, input *EnableVpcClassicLinkInput, opts ...request.Option) (*EnableVpcClassicLinkOutput, error) {
  15067. req, out := c.EnableVpcClassicLinkRequest(input)
  15068. req.SetContext(ctx)
  15069. req.ApplyOptions(opts...)
  15070. return out, req.Send()
  15071. }
  15072. const opEnableVpcClassicLinkDnsSupport = "EnableVpcClassicLinkDnsSupport"
  15073. // EnableVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
  15074. // client's request for the EnableVpcClassicLinkDnsSupport operation. The "output" return
  15075. // value will be populated with the request's response once the request complets
  15076. // successfuly.
  15077. //
  15078. // Use "Send" method on the returned Request to send the API call to the service.
  15079. // the "output" return value is not valid until after Send returns without error.
  15080. //
  15081. // See EnableVpcClassicLinkDnsSupport for more information on using the EnableVpcClassicLinkDnsSupport
  15082. // API call, and error handling.
  15083. //
  15084. // This method is useful when you want to inject custom logic or configuration
  15085. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15086. //
  15087. //
  15088. // // Example sending a request using the EnableVpcClassicLinkDnsSupportRequest method.
  15089. // req, resp := client.EnableVpcClassicLinkDnsSupportRequest(params)
  15090. //
  15091. // err := req.Send()
  15092. // if err == nil { // resp is now filled
  15093. // fmt.Println(resp)
  15094. // }
  15095. //
  15096. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLinkDnsSupport
  15097. func (c *EC2) EnableVpcClassicLinkDnsSupportRequest(input *EnableVpcClassicLinkDnsSupportInput) (req *request.Request, output *EnableVpcClassicLinkDnsSupportOutput) {
  15098. op := &request.Operation{
  15099. Name: opEnableVpcClassicLinkDnsSupport,
  15100. HTTPMethod: "POST",
  15101. HTTPPath: "/",
  15102. }
  15103. if input == nil {
  15104. input = &EnableVpcClassicLinkDnsSupportInput{}
  15105. }
  15106. output = &EnableVpcClassicLinkDnsSupportOutput{}
  15107. req = c.newRequest(op, input, output)
  15108. return
  15109. }
  15110. // EnableVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
  15111. //
  15112. // Enables a VPC to support DNS hostname resolution for ClassicLink. If enabled,
  15113. // the DNS hostname of a linked EC2-Classic instance resolves to its private
  15114. // IP address when addressed from an instance in the VPC to which it's linked.
  15115. // Similarly, the DNS hostname of an instance in a VPC resolves to its private
  15116. // IP address when addressed from a linked EC2-Classic instance. For more information
  15117. // about ClassicLink, see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
  15118. // in the Amazon Elastic Compute Cloud User Guide.
  15119. //
  15120. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15121. // with awserr.Error's Code and Message methods to get detailed information about
  15122. // the error.
  15123. //
  15124. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15125. // API operation EnableVpcClassicLinkDnsSupport for usage and error information.
  15126. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLinkDnsSupport
  15127. func (c *EC2) EnableVpcClassicLinkDnsSupport(input *EnableVpcClassicLinkDnsSupportInput) (*EnableVpcClassicLinkDnsSupportOutput, error) {
  15128. req, out := c.EnableVpcClassicLinkDnsSupportRequest(input)
  15129. return out, req.Send()
  15130. }
  15131. // EnableVpcClassicLinkDnsSupportWithContext is the same as EnableVpcClassicLinkDnsSupport with the addition of
  15132. // the ability to pass a context and additional request options.
  15133. //
  15134. // See EnableVpcClassicLinkDnsSupport for details on how to use this API operation.
  15135. //
  15136. // The context must be non-nil and will be used for request cancellation. If
  15137. // the context is nil a panic will occur. In the future the SDK may create
  15138. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15139. // for more information on using Contexts.
  15140. func (c *EC2) EnableVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input *EnableVpcClassicLinkDnsSupportInput, opts ...request.Option) (*EnableVpcClassicLinkDnsSupportOutput, error) {
  15141. req, out := c.EnableVpcClassicLinkDnsSupportRequest(input)
  15142. req.SetContext(ctx)
  15143. req.ApplyOptions(opts...)
  15144. return out, req.Send()
  15145. }
  15146. const opGetConsoleOutput = "GetConsoleOutput"
  15147. // GetConsoleOutputRequest generates a "aws/request.Request" representing the
  15148. // client's request for the GetConsoleOutput operation. The "output" return
  15149. // value will be populated with the request's response once the request complets
  15150. // successfuly.
  15151. //
  15152. // Use "Send" method on the returned Request to send the API call to the service.
  15153. // the "output" return value is not valid until after Send returns without error.
  15154. //
  15155. // See GetConsoleOutput for more information on using the GetConsoleOutput
  15156. // API call, and error handling.
  15157. //
  15158. // This method is useful when you want to inject custom logic or configuration
  15159. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15160. //
  15161. //
  15162. // // Example sending a request using the GetConsoleOutputRequest method.
  15163. // req, resp := client.GetConsoleOutputRequest(params)
  15164. //
  15165. // err := req.Send()
  15166. // if err == nil { // resp is now filled
  15167. // fmt.Println(resp)
  15168. // }
  15169. //
  15170. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleOutput
  15171. func (c *EC2) GetConsoleOutputRequest(input *GetConsoleOutputInput) (req *request.Request, output *GetConsoleOutputOutput) {
  15172. op := &request.Operation{
  15173. Name: opGetConsoleOutput,
  15174. HTTPMethod: "POST",
  15175. HTTPPath: "/",
  15176. }
  15177. if input == nil {
  15178. input = &GetConsoleOutputInput{}
  15179. }
  15180. output = &GetConsoleOutputOutput{}
  15181. req = c.newRequest(op, input, output)
  15182. return
  15183. }
  15184. // GetConsoleOutput API operation for Amazon Elastic Compute Cloud.
  15185. //
  15186. // Gets the console output for the specified instance.
  15187. //
  15188. // Instances do not have a physical monitor through which you can view their
  15189. // console output. They also lack physical controls that allow you to power
  15190. // up, reboot, or shut them down. To allow these actions, we provide them through
  15191. // the Amazon EC2 API and command line interface.
  15192. //
  15193. // Instance console output is buffered and posted shortly after instance boot,
  15194. // reboot, and termination. Amazon EC2 preserves the most recent 64 KB output,
  15195. // which is available for at least one hour after the most recent post.
  15196. //
  15197. // For Linux instances, the instance console output displays the exact console
  15198. // output that would normally be displayed on a physical monitor attached to
  15199. // a computer. This output is buffered because the instance produces it and
  15200. // then posts it to a store where the instance's owner can retrieve it.
  15201. //
  15202. // For Windows instances, the instance console output includes output from the
  15203. // EC2Config service.
  15204. //
  15205. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15206. // with awserr.Error's Code and Message methods to get detailed information about
  15207. // the error.
  15208. //
  15209. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15210. // API operation GetConsoleOutput for usage and error information.
  15211. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleOutput
  15212. func (c *EC2) GetConsoleOutput(input *GetConsoleOutputInput) (*GetConsoleOutputOutput, error) {
  15213. req, out := c.GetConsoleOutputRequest(input)
  15214. return out, req.Send()
  15215. }
  15216. // GetConsoleOutputWithContext is the same as GetConsoleOutput with the addition of
  15217. // the ability to pass a context and additional request options.
  15218. //
  15219. // See GetConsoleOutput for details on how to use this API operation.
  15220. //
  15221. // The context must be non-nil and will be used for request cancellation. If
  15222. // the context is nil a panic will occur. In the future the SDK may create
  15223. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15224. // for more information on using Contexts.
  15225. func (c *EC2) GetConsoleOutputWithContext(ctx aws.Context, input *GetConsoleOutputInput, opts ...request.Option) (*GetConsoleOutputOutput, error) {
  15226. req, out := c.GetConsoleOutputRequest(input)
  15227. req.SetContext(ctx)
  15228. req.ApplyOptions(opts...)
  15229. return out, req.Send()
  15230. }
  15231. const opGetConsoleScreenshot = "GetConsoleScreenshot"
  15232. // GetConsoleScreenshotRequest generates a "aws/request.Request" representing the
  15233. // client's request for the GetConsoleScreenshot operation. The "output" return
  15234. // value will be populated with the request's response once the request complets
  15235. // successfuly.
  15236. //
  15237. // Use "Send" method on the returned Request to send the API call to the service.
  15238. // the "output" return value is not valid until after Send returns without error.
  15239. //
  15240. // See GetConsoleScreenshot for more information on using the GetConsoleScreenshot
  15241. // API call, and error handling.
  15242. //
  15243. // This method is useful when you want to inject custom logic or configuration
  15244. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15245. //
  15246. //
  15247. // // Example sending a request using the GetConsoleScreenshotRequest method.
  15248. // req, resp := client.GetConsoleScreenshotRequest(params)
  15249. //
  15250. // err := req.Send()
  15251. // if err == nil { // resp is now filled
  15252. // fmt.Println(resp)
  15253. // }
  15254. //
  15255. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleScreenshot
  15256. func (c *EC2) GetConsoleScreenshotRequest(input *GetConsoleScreenshotInput) (req *request.Request, output *GetConsoleScreenshotOutput) {
  15257. op := &request.Operation{
  15258. Name: opGetConsoleScreenshot,
  15259. HTTPMethod: "POST",
  15260. HTTPPath: "/",
  15261. }
  15262. if input == nil {
  15263. input = &GetConsoleScreenshotInput{}
  15264. }
  15265. output = &GetConsoleScreenshotOutput{}
  15266. req = c.newRequest(op, input, output)
  15267. return
  15268. }
  15269. // GetConsoleScreenshot API operation for Amazon Elastic Compute Cloud.
  15270. //
  15271. // Retrieve a JPG-format screenshot of a running instance to help with troubleshooting.
  15272. //
  15273. // The returned content is Base64-encoded.
  15274. //
  15275. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15276. // with awserr.Error's Code and Message methods to get detailed information about
  15277. // the error.
  15278. //
  15279. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15280. // API operation GetConsoleScreenshot for usage and error information.
  15281. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleScreenshot
  15282. func (c *EC2) GetConsoleScreenshot(input *GetConsoleScreenshotInput) (*GetConsoleScreenshotOutput, error) {
  15283. req, out := c.GetConsoleScreenshotRequest(input)
  15284. return out, req.Send()
  15285. }
  15286. // GetConsoleScreenshotWithContext is the same as GetConsoleScreenshot with the addition of
  15287. // the ability to pass a context and additional request options.
  15288. //
  15289. // See GetConsoleScreenshot for details on how to use this API operation.
  15290. //
  15291. // The context must be non-nil and will be used for request cancellation. If
  15292. // the context is nil a panic will occur. In the future the SDK may create
  15293. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15294. // for more information on using Contexts.
  15295. func (c *EC2) GetConsoleScreenshotWithContext(ctx aws.Context, input *GetConsoleScreenshotInput, opts ...request.Option) (*GetConsoleScreenshotOutput, error) {
  15296. req, out := c.GetConsoleScreenshotRequest(input)
  15297. req.SetContext(ctx)
  15298. req.ApplyOptions(opts...)
  15299. return out, req.Send()
  15300. }
  15301. const opGetHostReservationPurchasePreview = "GetHostReservationPurchasePreview"
  15302. // GetHostReservationPurchasePreviewRequest generates a "aws/request.Request" representing the
  15303. // client's request for the GetHostReservationPurchasePreview operation. The "output" return
  15304. // value will be populated with the request's response once the request complets
  15305. // successfuly.
  15306. //
  15307. // Use "Send" method on the returned Request to send the API call to the service.
  15308. // the "output" return value is not valid until after Send returns without error.
  15309. //
  15310. // See GetHostReservationPurchasePreview for more information on using the GetHostReservationPurchasePreview
  15311. // API call, and error handling.
  15312. //
  15313. // This method is useful when you want to inject custom logic or configuration
  15314. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15315. //
  15316. //
  15317. // // Example sending a request using the GetHostReservationPurchasePreviewRequest method.
  15318. // req, resp := client.GetHostReservationPurchasePreviewRequest(params)
  15319. //
  15320. // err := req.Send()
  15321. // if err == nil { // resp is now filled
  15322. // fmt.Println(resp)
  15323. // }
  15324. //
  15325. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetHostReservationPurchasePreview
  15326. func (c *EC2) GetHostReservationPurchasePreviewRequest(input *GetHostReservationPurchasePreviewInput) (req *request.Request, output *GetHostReservationPurchasePreviewOutput) {
  15327. op := &request.Operation{
  15328. Name: opGetHostReservationPurchasePreview,
  15329. HTTPMethod: "POST",
  15330. HTTPPath: "/",
  15331. }
  15332. if input == nil {
  15333. input = &GetHostReservationPurchasePreviewInput{}
  15334. }
  15335. output = &GetHostReservationPurchasePreviewOutput{}
  15336. req = c.newRequest(op, input, output)
  15337. return
  15338. }
  15339. // GetHostReservationPurchasePreview API operation for Amazon Elastic Compute Cloud.
  15340. //
  15341. // Preview a reservation purchase with configurations that match those of your
  15342. // Dedicated Host. You must have active Dedicated Hosts in your account before
  15343. // you purchase a reservation.
  15344. //
  15345. // This is a preview of the PurchaseHostReservation action and does not result
  15346. // in the offering being purchased.
  15347. //
  15348. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15349. // with awserr.Error's Code and Message methods to get detailed information about
  15350. // the error.
  15351. //
  15352. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15353. // API operation GetHostReservationPurchasePreview for usage and error information.
  15354. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetHostReservationPurchasePreview
  15355. func (c *EC2) GetHostReservationPurchasePreview(input *GetHostReservationPurchasePreviewInput) (*GetHostReservationPurchasePreviewOutput, error) {
  15356. req, out := c.GetHostReservationPurchasePreviewRequest(input)
  15357. return out, req.Send()
  15358. }
  15359. // GetHostReservationPurchasePreviewWithContext is the same as GetHostReservationPurchasePreview with the addition of
  15360. // the ability to pass a context and additional request options.
  15361. //
  15362. // See GetHostReservationPurchasePreview for details on how to use this API operation.
  15363. //
  15364. // The context must be non-nil and will be used for request cancellation. If
  15365. // the context is nil a panic will occur. In the future the SDK may create
  15366. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15367. // for more information on using Contexts.
  15368. func (c *EC2) GetHostReservationPurchasePreviewWithContext(ctx aws.Context, input *GetHostReservationPurchasePreviewInput, opts ...request.Option) (*GetHostReservationPurchasePreviewOutput, error) {
  15369. req, out := c.GetHostReservationPurchasePreviewRequest(input)
  15370. req.SetContext(ctx)
  15371. req.ApplyOptions(opts...)
  15372. return out, req.Send()
  15373. }
  15374. const opGetLaunchTemplateData = "GetLaunchTemplateData"
  15375. // GetLaunchTemplateDataRequest generates a "aws/request.Request" representing the
  15376. // client's request for the GetLaunchTemplateData operation. The "output" return
  15377. // value will be populated with the request's response once the request complets
  15378. // successfuly.
  15379. //
  15380. // Use "Send" method on the returned Request to send the API call to the service.
  15381. // the "output" return value is not valid until after Send returns without error.
  15382. //
  15383. // See GetLaunchTemplateData for more information on using the GetLaunchTemplateData
  15384. // API call, and error handling.
  15385. //
  15386. // This method is useful when you want to inject custom logic or configuration
  15387. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15388. //
  15389. //
  15390. // // Example sending a request using the GetLaunchTemplateDataRequest method.
  15391. // req, resp := client.GetLaunchTemplateDataRequest(params)
  15392. //
  15393. // err := req.Send()
  15394. // if err == nil { // resp is now filled
  15395. // fmt.Println(resp)
  15396. // }
  15397. //
  15398. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetLaunchTemplateData
  15399. func (c *EC2) GetLaunchTemplateDataRequest(input *GetLaunchTemplateDataInput) (req *request.Request, output *GetLaunchTemplateDataOutput) {
  15400. op := &request.Operation{
  15401. Name: opGetLaunchTemplateData,
  15402. HTTPMethod: "POST",
  15403. HTTPPath: "/",
  15404. }
  15405. if input == nil {
  15406. input = &GetLaunchTemplateDataInput{}
  15407. }
  15408. output = &GetLaunchTemplateDataOutput{}
  15409. req = c.newRequest(op, input, output)
  15410. return
  15411. }
  15412. // GetLaunchTemplateData API operation for Amazon Elastic Compute Cloud.
  15413. //
  15414. // Retrieves the configuration data of the specified instance. You can use this
  15415. // data to create a launch template.
  15416. //
  15417. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15418. // with awserr.Error's Code and Message methods to get detailed information about
  15419. // the error.
  15420. //
  15421. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15422. // API operation GetLaunchTemplateData for usage and error information.
  15423. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetLaunchTemplateData
  15424. func (c *EC2) GetLaunchTemplateData(input *GetLaunchTemplateDataInput) (*GetLaunchTemplateDataOutput, error) {
  15425. req, out := c.GetLaunchTemplateDataRequest(input)
  15426. return out, req.Send()
  15427. }
  15428. // GetLaunchTemplateDataWithContext is the same as GetLaunchTemplateData with the addition of
  15429. // the ability to pass a context and additional request options.
  15430. //
  15431. // See GetLaunchTemplateData for details on how to use this API operation.
  15432. //
  15433. // The context must be non-nil and will be used for request cancellation. If
  15434. // the context is nil a panic will occur. In the future the SDK may create
  15435. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15436. // for more information on using Contexts.
  15437. func (c *EC2) GetLaunchTemplateDataWithContext(ctx aws.Context, input *GetLaunchTemplateDataInput, opts ...request.Option) (*GetLaunchTemplateDataOutput, error) {
  15438. req, out := c.GetLaunchTemplateDataRequest(input)
  15439. req.SetContext(ctx)
  15440. req.ApplyOptions(opts...)
  15441. return out, req.Send()
  15442. }
  15443. const opGetPasswordData = "GetPasswordData"
  15444. // GetPasswordDataRequest generates a "aws/request.Request" representing the
  15445. // client's request for the GetPasswordData operation. The "output" return
  15446. // value will be populated with the request's response once the request complets
  15447. // successfuly.
  15448. //
  15449. // Use "Send" method on the returned Request to send the API call to the service.
  15450. // the "output" return value is not valid until after Send returns without error.
  15451. //
  15452. // See GetPasswordData for more information on using the GetPasswordData
  15453. // API call, and error handling.
  15454. //
  15455. // This method is useful when you want to inject custom logic or configuration
  15456. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15457. //
  15458. //
  15459. // // Example sending a request using the GetPasswordDataRequest method.
  15460. // req, resp := client.GetPasswordDataRequest(params)
  15461. //
  15462. // err := req.Send()
  15463. // if err == nil { // resp is now filled
  15464. // fmt.Println(resp)
  15465. // }
  15466. //
  15467. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetPasswordData
  15468. func (c *EC2) GetPasswordDataRequest(input *GetPasswordDataInput) (req *request.Request, output *GetPasswordDataOutput) {
  15469. op := &request.Operation{
  15470. Name: opGetPasswordData,
  15471. HTTPMethod: "POST",
  15472. HTTPPath: "/",
  15473. }
  15474. if input == nil {
  15475. input = &GetPasswordDataInput{}
  15476. }
  15477. output = &GetPasswordDataOutput{}
  15478. req = c.newRequest(op, input, output)
  15479. return
  15480. }
  15481. // GetPasswordData API operation for Amazon Elastic Compute Cloud.
  15482. //
  15483. // Retrieves the encrypted administrator password for a running Windows instance.
  15484. //
  15485. // The Windows password is generated at boot by the EC2Config service or EC2Launch
  15486. // scripts (Windows Server 2016 and later). This usually only happens the first
  15487. // time an instance is launched. For more information, see EC2Config (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/UsingConfig_WinAMI.html)
  15488. // and EC2Launch (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2launch.html)
  15489. // in the Amazon Elastic Compute Cloud User Guide.
  15490. //
  15491. // For the EC2Config service, the password is not generated for rebundled AMIs
  15492. // unless Ec2SetPassword is enabled before bundling.
  15493. //
  15494. // The password is encrypted using the key pair that you specified when you
  15495. // launched the instance. You must provide the corresponding key pair file.
  15496. //
  15497. // When you launch an instance, password generation and encryption may take
  15498. // a few minutes. If you try to retrieve the password before it's available,
  15499. // the output returns an empty string. We recommend that you wait up to 15 minutes
  15500. // after launching an instance before trying to retrieve the generated password.
  15501. //
  15502. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15503. // with awserr.Error's Code and Message methods to get detailed information about
  15504. // the error.
  15505. //
  15506. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15507. // API operation GetPasswordData for usage and error information.
  15508. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetPasswordData
  15509. func (c *EC2) GetPasswordData(input *GetPasswordDataInput) (*GetPasswordDataOutput, error) {
  15510. req, out := c.GetPasswordDataRequest(input)
  15511. return out, req.Send()
  15512. }
  15513. // GetPasswordDataWithContext is the same as GetPasswordData with the addition of
  15514. // the ability to pass a context and additional request options.
  15515. //
  15516. // See GetPasswordData for details on how to use this API operation.
  15517. //
  15518. // The context must be non-nil and will be used for request cancellation. If
  15519. // the context is nil a panic will occur. In the future the SDK may create
  15520. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15521. // for more information on using Contexts.
  15522. func (c *EC2) GetPasswordDataWithContext(ctx aws.Context, input *GetPasswordDataInput, opts ...request.Option) (*GetPasswordDataOutput, error) {
  15523. req, out := c.GetPasswordDataRequest(input)
  15524. req.SetContext(ctx)
  15525. req.ApplyOptions(opts...)
  15526. return out, req.Send()
  15527. }
  15528. const opGetReservedInstancesExchangeQuote = "GetReservedInstancesExchangeQuote"
  15529. // GetReservedInstancesExchangeQuoteRequest generates a "aws/request.Request" representing the
  15530. // client's request for the GetReservedInstancesExchangeQuote operation. The "output" return
  15531. // value will be populated with the request's response once the request complets
  15532. // successfuly.
  15533. //
  15534. // Use "Send" method on the returned Request to send the API call to the service.
  15535. // the "output" return value is not valid until after Send returns without error.
  15536. //
  15537. // See GetReservedInstancesExchangeQuote for more information on using the GetReservedInstancesExchangeQuote
  15538. // API call, and error handling.
  15539. //
  15540. // This method is useful when you want to inject custom logic or configuration
  15541. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15542. //
  15543. //
  15544. // // Example sending a request using the GetReservedInstancesExchangeQuoteRequest method.
  15545. // req, resp := client.GetReservedInstancesExchangeQuoteRequest(params)
  15546. //
  15547. // err := req.Send()
  15548. // if err == nil { // resp is now filled
  15549. // fmt.Println(resp)
  15550. // }
  15551. //
  15552. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetReservedInstancesExchangeQuote
  15553. func (c *EC2) GetReservedInstancesExchangeQuoteRequest(input *GetReservedInstancesExchangeQuoteInput) (req *request.Request, output *GetReservedInstancesExchangeQuoteOutput) {
  15554. op := &request.Operation{
  15555. Name: opGetReservedInstancesExchangeQuote,
  15556. HTTPMethod: "POST",
  15557. HTTPPath: "/",
  15558. }
  15559. if input == nil {
  15560. input = &GetReservedInstancesExchangeQuoteInput{}
  15561. }
  15562. output = &GetReservedInstancesExchangeQuoteOutput{}
  15563. req = c.newRequest(op, input, output)
  15564. return
  15565. }
  15566. // GetReservedInstancesExchangeQuote API operation for Amazon Elastic Compute Cloud.
  15567. //
  15568. // Returns a quote and exchange information for exchanging one or more specified
  15569. // Convertible Reserved Instances for a new Convertible Reserved Instance. If
  15570. // the exchange cannot be performed, the reason is returned in the response.
  15571. // Use AcceptReservedInstancesExchangeQuote to perform the exchange.
  15572. //
  15573. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15574. // with awserr.Error's Code and Message methods to get detailed information about
  15575. // the error.
  15576. //
  15577. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15578. // API operation GetReservedInstancesExchangeQuote for usage and error information.
  15579. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetReservedInstancesExchangeQuote
  15580. func (c *EC2) GetReservedInstancesExchangeQuote(input *GetReservedInstancesExchangeQuoteInput) (*GetReservedInstancesExchangeQuoteOutput, error) {
  15581. req, out := c.GetReservedInstancesExchangeQuoteRequest(input)
  15582. return out, req.Send()
  15583. }
  15584. // GetReservedInstancesExchangeQuoteWithContext is the same as GetReservedInstancesExchangeQuote with the addition of
  15585. // the ability to pass a context and additional request options.
  15586. //
  15587. // See GetReservedInstancesExchangeQuote for details on how to use this API operation.
  15588. //
  15589. // The context must be non-nil and will be used for request cancellation. If
  15590. // the context is nil a panic will occur. In the future the SDK may create
  15591. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15592. // for more information on using Contexts.
  15593. func (c *EC2) GetReservedInstancesExchangeQuoteWithContext(ctx aws.Context, input *GetReservedInstancesExchangeQuoteInput, opts ...request.Option) (*GetReservedInstancesExchangeQuoteOutput, error) {
  15594. req, out := c.GetReservedInstancesExchangeQuoteRequest(input)
  15595. req.SetContext(ctx)
  15596. req.ApplyOptions(opts...)
  15597. return out, req.Send()
  15598. }
  15599. const opImportImage = "ImportImage"
  15600. // ImportImageRequest generates a "aws/request.Request" representing the
  15601. // client's request for the ImportImage operation. The "output" return
  15602. // value will be populated with the request's response once the request complets
  15603. // successfuly.
  15604. //
  15605. // Use "Send" method on the returned Request to send the API call to the service.
  15606. // the "output" return value is not valid until after Send returns without error.
  15607. //
  15608. // See ImportImage for more information on using the ImportImage
  15609. // API call, and error handling.
  15610. //
  15611. // This method is useful when you want to inject custom logic or configuration
  15612. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15613. //
  15614. //
  15615. // // Example sending a request using the ImportImageRequest method.
  15616. // req, resp := client.ImportImageRequest(params)
  15617. //
  15618. // err := req.Send()
  15619. // if err == nil { // resp is now filled
  15620. // fmt.Println(resp)
  15621. // }
  15622. //
  15623. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportImage
  15624. func (c *EC2) ImportImageRequest(input *ImportImageInput) (req *request.Request, output *ImportImageOutput) {
  15625. op := &request.Operation{
  15626. Name: opImportImage,
  15627. HTTPMethod: "POST",
  15628. HTTPPath: "/",
  15629. }
  15630. if input == nil {
  15631. input = &ImportImageInput{}
  15632. }
  15633. output = &ImportImageOutput{}
  15634. req = c.newRequest(op, input, output)
  15635. return
  15636. }
  15637. // ImportImage API operation for Amazon Elastic Compute Cloud.
  15638. //
  15639. // Import single or multi-volume disk images or EBS snapshots into an Amazon
  15640. // Machine Image (AMI). For more information, see Importing a VM as an Image
  15641. // Using VM Import/Export (http://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html)
  15642. // in the VM Import/Export User Guide.
  15643. //
  15644. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15645. // with awserr.Error's Code and Message methods to get detailed information about
  15646. // the error.
  15647. //
  15648. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15649. // API operation ImportImage for usage and error information.
  15650. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportImage
  15651. func (c *EC2) ImportImage(input *ImportImageInput) (*ImportImageOutput, error) {
  15652. req, out := c.ImportImageRequest(input)
  15653. return out, req.Send()
  15654. }
  15655. // ImportImageWithContext is the same as ImportImage with the addition of
  15656. // the ability to pass a context and additional request options.
  15657. //
  15658. // See ImportImage for details on how to use this API operation.
  15659. //
  15660. // The context must be non-nil and will be used for request cancellation. If
  15661. // the context is nil a panic will occur. In the future the SDK may create
  15662. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15663. // for more information on using Contexts.
  15664. func (c *EC2) ImportImageWithContext(ctx aws.Context, input *ImportImageInput, opts ...request.Option) (*ImportImageOutput, error) {
  15665. req, out := c.ImportImageRequest(input)
  15666. req.SetContext(ctx)
  15667. req.ApplyOptions(opts...)
  15668. return out, req.Send()
  15669. }
  15670. const opImportInstance = "ImportInstance"
  15671. // ImportInstanceRequest generates a "aws/request.Request" representing the
  15672. // client's request for the ImportInstance operation. The "output" return
  15673. // value will be populated with the request's response once the request complets
  15674. // successfuly.
  15675. //
  15676. // Use "Send" method on the returned Request to send the API call to the service.
  15677. // the "output" return value is not valid until after Send returns without error.
  15678. //
  15679. // See ImportInstance for more information on using the ImportInstance
  15680. // API call, and error handling.
  15681. //
  15682. // This method is useful when you want to inject custom logic or configuration
  15683. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15684. //
  15685. //
  15686. // // Example sending a request using the ImportInstanceRequest method.
  15687. // req, resp := client.ImportInstanceRequest(params)
  15688. //
  15689. // err := req.Send()
  15690. // if err == nil { // resp is now filled
  15691. // fmt.Println(resp)
  15692. // }
  15693. //
  15694. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstance
  15695. func (c *EC2) ImportInstanceRequest(input *ImportInstanceInput) (req *request.Request, output *ImportInstanceOutput) {
  15696. op := &request.Operation{
  15697. Name: opImportInstance,
  15698. HTTPMethod: "POST",
  15699. HTTPPath: "/",
  15700. }
  15701. if input == nil {
  15702. input = &ImportInstanceInput{}
  15703. }
  15704. output = &ImportInstanceOutput{}
  15705. req = c.newRequest(op, input, output)
  15706. return
  15707. }
  15708. // ImportInstance API operation for Amazon Elastic Compute Cloud.
  15709. //
  15710. // Creates an import instance task using metadata from the specified disk image.
  15711. // ImportInstance only supports single-volume VMs. To import multi-volume VMs,
  15712. // use ImportImage. For more information, see Importing a Virtual Machine Using
  15713. // the Amazon EC2 CLI (http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ec2-cli-vmimport-export.html).
  15714. //
  15715. // For information about the import manifest referenced by this API action,
  15716. // see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  15717. //
  15718. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15719. // with awserr.Error's Code and Message methods to get detailed information about
  15720. // the error.
  15721. //
  15722. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15723. // API operation ImportInstance for usage and error information.
  15724. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstance
  15725. func (c *EC2) ImportInstance(input *ImportInstanceInput) (*ImportInstanceOutput, error) {
  15726. req, out := c.ImportInstanceRequest(input)
  15727. return out, req.Send()
  15728. }
  15729. // ImportInstanceWithContext is the same as ImportInstance with the addition of
  15730. // the ability to pass a context and additional request options.
  15731. //
  15732. // See ImportInstance for details on how to use this API operation.
  15733. //
  15734. // The context must be non-nil and will be used for request cancellation. If
  15735. // the context is nil a panic will occur. In the future the SDK may create
  15736. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15737. // for more information on using Contexts.
  15738. func (c *EC2) ImportInstanceWithContext(ctx aws.Context, input *ImportInstanceInput, opts ...request.Option) (*ImportInstanceOutput, error) {
  15739. req, out := c.ImportInstanceRequest(input)
  15740. req.SetContext(ctx)
  15741. req.ApplyOptions(opts...)
  15742. return out, req.Send()
  15743. }
  15744. const opImportKeyPair = "ImportKeyPair"
  15745. // ImportKeyPairRequest generates a "aws/request.Request" representing the
  15746. // client's request for the ImportKeyPair operation. The "output" return
  15747. // value will be populated with the request's response once the request complets
  15748. // successfuly.
  15749. //
  15750. // Use "Send" method on the returned Request to send the API call to the service.
  15751. // the "output" return value is not valid until after Send returns without error.
  15752. //
  15753. // See ImportKeyPair for more information on using the ImportKeyPair
  15754. // API call, and error handling.
  15755. //
  15756. // This method is useful when you want to inject custom logic or configuration
  15757. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15758. //
  15759. //
  15760. // // Example sending a request using the ImportKeyPairRequest method.
  15761. // req, resp := client.ImportKeyPairRequest(params)
  15762. //
  15763. // err := req.Send()
  15764. // if err == nil { // resp is now filled
  15765. // fmt.Println(resp)
  15766. // }
  15767. //
  15768. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportKeyPair
  15769. func (c *EC2) ImportKeyPairRequest(input *ImportKeyPairInput) (req *request.Request, output *ImportKeyPairOutput) {
  15770. op := &request.Operation{
  15771. Name: opImportKeyPair,
  15772. HTTPMethod: "POST",
  15773. HTTPPath: "/",
  15774. }
  15775. if input == nil {
  15776. input = &ImportKeyPairInput{}
  15777. }
  15778. output = &ImportKeyPairOutput{}
  15779. req = c.newRequest(op, input, output)
  15780. return
  15781. }
  15782. // ImportKeyPair API operation for Amazon Elastic Compute Cloud.
  15783. //
  15784. // Imports the public key from an RSA key pair that you created with a third-party
  15785. // tool. Compare this with CreateKeyPair, in which AWS creates the key pair
  15786. // and gives the keys to you (AWS keeps a copy of the public key). With ImportKeyPair,
  15787. // you create the key pair and give AWS just the public key. The private key
  15788. // is never transferred between you and AWS.
  15789. //
  15790. // For more information about key pairs, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
  15791. // in the Amazon Elastic Compute Cloud User Guide.
  15792. //
  15793. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15794. // with awserr.Error's Code and Message methods to get detailed information about
  15795. // the error.
  15796. //
  15797. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15798. // API operation ImportKeyPair for usage and error information.
  15799. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportKeyPair
  15800. func (c *EC2) ImportKeyPair(input *ImportKeyPairInput) (*ImportKeyPairOutput, error) {
  15801. req, out := c.ImportKeyPairRequest(input)
  15802. return out, req.Send()
  15803. }
  15804. // ImportKeyPairWithContext is the same as ImportKeyPair with the addition of
  15805. // the ability to pass a context and additional request options.
  15806. //
  15807. // See ImportKeyPair for details on how to use this API operation.
  15808. //
  15809. // The context must be non-nil and will be used for request cancellation. If
  15810. // the context is nil a panic will occur. In the future the SDK may create
  15811. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15812. // for more information on using Contexts.
  15813. func (c *EC2) ImportKeyPairWithContext(ctx aws.Context, input *ImportKeyPairInput, opts ...request.Option) (*ImportKeyPairOutput, error) {
  15814. req, out := c.ImportKeyPairRequest(input)
  15815. req.SetContext(ctx)
  15816. req.ApplyOptions(opts...)
  15817. return out, req.Send()
  15818. }
  15819. const opImportSnapshot = "ImportSnapshot"
  15820. // ImportSnapshotRequest generates a "aws/request.Request" representing the
  15821. // client's request for the ImportSnapshot operation. The "output" return
  15822. // value will be populated with the request's response once the request complets
  15823. // successfuly.
  15824. //
  15825. // Use "Send" method on the returned Request to send the API call to the service.
  15826. // the "output" return value is not valid until after Send returns without error.
  15827. //
  15828. // See ImportSnapshot for more information on using the ImportSnapshot
  15829. // API call, and error handling.
  15830. //
  15831. // This method is useful when you want to inject custom logic or configuration
  15832. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15833. //
  15834. //
  15835. // // Example sending a request using the ImportSnapshotRequest method.
  15836. // req, resp := client.ImportSnapshotRequest(params)
  15837. //
  15838. // err := req.Send()
  15839. // if err == nil { // resp is now filled
  15840. // fmt.Println(resp)
  15841. // }
  15842. //
  15843. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportSnapshot
  15844. func (c *EC2) ImportSnapshotRequest(input *ImportSnapshotInput) (req *request.Request, output *ImportSnapshotOutput) {
  15845. op := &request.Operation{
  15846. Name: opImportSnapshot,
  15847. HTTPMethod: "POST",
  15848. HTTPPath: "/",
  15849. }
  15850. if input == nil {
  15851. input = &ImportSnapshotInput{}
  15852. }
  15853. output = &ImportSnapshotOutput{}
  15854. req = c.newRequest(op, input, output)
  15855. return
  15856. }
  15857. // ImportSnapshot API operation for Amazon Elastic Compute Cloud.
  15858. //
  15859. // Imports a disk into an EBS snapshot.
  15860. //
  15861. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15862. // with awserr.Error's Code and Message methods to get detailed information about
  15863. // the error.
  15864. //
  15865. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15866. // API operation ImportSnapshot for usage and error information.
  15867. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportSnapshot
  15868. func (c *EC2) ImportSnapshot(input *ImportSnapshotInput) (*ImportSnapshotOutput, error) {
  15869. req, out := c.ImportSnapshotRequest(input)
  15870. return out, req.Send()
  15871. }
  15872. // ImportSnapshotWithContext is the same as ImportSnapshot with the addition of
  15873. // the ability to pass a context and additional request options.
  15874. //
  15875. // See ImportSnapshot for details on how to use this API operation.
  15876. //
  15877. // The context must be non-nil and will be used for request cancellation. If
  15878. // the context is nil a panic will occur. In the future the SDK may create
  15879. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15880. // for more information on using Contexts.
  15881. func (c *EC2) ImportSnapshotWithContext(ctx aws.Context, input *ImportSnapshotInput, opts ...request.Option) (*ImportSnapshotOutput, error) {
  15882. req, out := c.ImportSnapshotRequest(input)
  15883. req.SetContext(ctx)
  15884. req.ApplyOptions(opts...)
  15885. return out, req.Send()
  15886. }
  15887. const opImportVolume = "ImportVolume"
  15888. // ImportVolumeRequest generates a "aws/request.Request" representing the
  15889. // client's request for the ImportVolume operation. The "output" return
  15890. // value will be populated with the request's response once the request complets
  15891. // successfuly.
  15892. //
  15893. // Use "Send" method on the returned Request to send the API call to the service.
  15894. // the "output" return value is not valid until after Send returns without error.
  15895. //
  15896. // See ImportVolume for more information on using the ImportVolume
  15897. // API call, and error handling.
  15898. //
  15899. // This method is useful when you want to inject custom logic or configuration
  15900. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15901. //
  15902. //
  15903. // // Example sending a request using the ImportVolumeRequest method.
  15904. // req, resp := client.ImportVolumeRequest(params)
  15905. //
  15906. // err := req.Send()
  15907. // if err == nil { // resp is now filled
  15908. // fmt.Println(resp)
  15909. // }
  15910. //
  15911. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportVolume
  15912. func (c *EC2) ImportVolumeRequest(input *ImportVolumeInput) (req *request.Request, output *ImportVolumeOutput) {
  15913. op := &request.Operation{
  15914. Name: opImportVolume,
  15915. HTTPMethod: "POST",
  15916. HTTPPath: "/",
  15917. }
  15918. if input == nil {
  15919. input = &ImportVolumeInput{}
  15920. }
  15921. output = &ImportVolumeOutput{}
  15922. req = c.newRequest(op, input, output)
  15923. return
  15924. }
  15925. // ImportVolume API operation for Amazon Elastic Compute Cloud.
  15926. //
  15927. // Creates an import volume task using metadata from the specified disk image.For
  15928. // more information, see Importing Disks to Amazon EBS (http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/importing-your-volumes-into-amazon-ebs.html).
  15929. //
  15930. // For information about the import manifest referenced by this API action,
  15931. // see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  15932. //
  15933. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15934. // with awserr.Error's Code and Message methods to get detailed information about
  15935. // the error.
  15936. //
  15937. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15938. // API operation ImportVolume for usage and error information.
  15939. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportVolume
  15940. func (c *EC2) ImportVolume(input *ImportVolumeInput) (*ImportVolumeOutput, error) {
  15941. req, out := c.ImportVolumeRequest(input)
  15942. return out, req.Send()
  15943. }
  15944. // ImportVolumeWithContext is the same as ImportVolume with the addition of
  15945. // the ability to pass a context and additional request options.
  15946. //
  15947. // See ImportVolume for details on how to use this API operation.
  15948. //
  15949. // The context must be non-nil and will be used for request cancellation. If
  15950. // the context is nil a panic will occur. In the future the SDK may create
  15951. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15952. // for more information on using Contexts.
  15953. func (c *EC2) ImportVolumeWithContext(ctx aws.Context, input *ImportVolumeInput, opts ...request.Option) (*ImportVolumeOutput, error) {
  15954. req, out := c.ImportVolumeRequest(input)
  15955. req.SetContext(ctx)
  15956. req.ApplyOptions(opts...)
  15957. return out, req.Send()
  15958. }
  15959. const opModifyFpgaImageAttribute = "ModifyFpgaImageAttribute"
  15960. // ModifyFpgaImageAttributeRequest generates a "aws/request.Request" representing the
  15961. // client's request for the ModifyFpgaImageAttribute operation. The "output" return
  15962. // value will be populated with the request's response once the request complets
  15963. // successfuly.
  15964. //
  15965. // Use "Send" method on the returned Request to send the API call to the service.
  15966. // the "output" return value is not valid until after Send returns without error.
  15967. //
  15968. // See ModifyFpgaImageAttribute for more information on using the ModifyFpgaImageAttribute
  15969. // API call, and error handling.
  15970. //
  15971. // This method is useful when you want to inject custom logic or configuration
  15972. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15973. //
  15974. //
  15975. // // Example sending a request using the ModifyFpgaImageAttributeRequest method.
  15976. // req, resp := client.ModifyFpgaImageAttributeRequest(params)
  15977. //
  15978. // err := req.Send()
  15979. // if err == nil { // resp is now filled
  15980. // fmt.Println(resp)
  15981. // }
  15982. //
  15983. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFpgaImageAttribute
  15984. func (c *EC2) ModifyFpgaImageAttributeRequest(input *ModifyFpgaImageAttributeInput) (req *request.Request, output *ModifyFpgaImageAttributeOutput) {
  15985. op := &request.Operation{
  15986. Name: opModifyFpgaImageAttribute,
  15987. HTTPMethod: "POST",
  15988. HTTPPath: "/",
  15989. }
  15990. if input == nil {
  15991. input = &ModifyFpgaImageAttributeInput{}
  15992. }
  15993. output = &ModifyFpgaImageAttributeOutput{}
  15994. req = c.newRequest(op, input, output)
  15995. return
  15996. }
  15997. // ModifyFpgaImageAttribute API operation for Amazon Elastic Compute Cloud.
  15998. //
  15999. // Modifies the specified attribute of the specified Amazon FPGA Image (AFI).
  16000. //
  16001. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16002. // with awserr.Error's Code and Message methods to get detailed information about
  16003. // the error.
  16004. //
  16005. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16006. // API operation ModifyFpgaImageAttribute for usage and error information.
  16007. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFpgaImageAttribute
  16008. func (c *EC2) ModifyFpgaImageAttribute(input *ModifyFpgaImageAttributeInput) (*ModifyFpgaImageAttributeOutput, error) {
  16009. req, out := c.ModifyFpgaImageAttributeRequest(input)
  16010. return out, req.Send()
  16011. }
  16012. // ModifyFpgaImageAttributeWithContext is the same as ModifyFpgaImageAttribute with the addition of
  16013. // the ability to pass a context and additional request options.
  16014. //
  16015. // See ModifyFpgaImageAttribute for details on how to use this API operation.
  16016. //
  16017. // The context must be non-nil and will be used for request cancellation. If
  16018. // the context is nil a panic will occur. In the future the SDK may create
  16019. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16020. // for more information on using Contexts.
  16021. func (c *EC2) ModifyFpgaImageAttributeWithContext(ctx aws.Context, input *ModifyFpgaImageAttributeInput, opts ...request.Option) (*ModifyFpgaImageAttributeOutput, error) {
  16022. req, out := c.ModifyFpgaImageAttributeRequest(input)
  16023. req.SetContext(ctx)
  16024. req.ApplyOptions(opts...)
  16025. return out, req.Send()
  16026. }
  16027. const opModifyHosts = "ModifyHosts"
  16028. // ModifyHostsRequest generates a "aws/request.Request" representing the
  16029. // client's request for the ModifyHosts operation. The "output" return
  16030. // value will be populated with the request's response once the request complets
  16031. // successfuly.
  16032. //
  16033. // Use "Send" method on the returned Request to send the API call to the service.
  16034. // the "output" return value is not valid until after Send returns without error.
  16035. //
  16036. // See ModifyHosts for more information on using the ModifyHosts
  16037. // API call, and error handling.
  16038. //
  16039. // This method is useful when you want to inject custom logic or configuration
  16040. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16041. //
  16042. //
  16043. // // Example sending a request using the ModifyHostsRequest method.
  16044. // req, resp := client.ModifyHostsRequest(params)
  16045. //
  16046. // err := req.Send()
  16047. // if err == nil { // resp is now filled
  16048. // fmt.Println(resp)
  16049. // }
  16050. //
  16051. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyHosts
  16052. func (c *EC2) ModifyHostsRequest(input *ModifyHostsInput) (req *request.Request, output *ModifyHostsOutput) {
  16053. op := &request.Operation{
  16054. Name: opModifyHosts,
  16055. HTTPMethod: "POST",
  16056. HTTPPath: "/",
  16057. }
  16058. if input == nil {
  16059. input = &ModifyHostsInput{}
  16060. }
  16061. output = &ModifyHostsOutput{}
  16062. req = c.newRequest(op, input, output)
  16063. return
  16064. }
  16065. // ModifyHosts API operation for Amazon Elastic Compute Cloud.
  16066. //
  16067. // Modify the auto-placement setting of a Dedicated Host. When auto-placement
  16068. // is enabled, AWS will place instances that you launch with a tenancy of host,
  16069. // but without targeting a specific host ID, onto any available Dedicated Host
  16070. // in your account which has auto-placement enabled. When auto-placement is
  16071. // disabled, you need to provide a host ID if you want the instance to launch
  16072. // onto a specific host. If no host ID is provided, the instance will be launched
  16073. // onto a suitable host which has auto-placement enabled.
  16074. //
  16075. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16076. // with awserr.Error's Code and Message methods to get detailed information about
  16077. // the error.
  16078. //
  16079. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16080. // API operation ModifyHosts for usage and error information.
  16081. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyHosts
  16082. func (c *EC2) ModifyHosts(input *ModifyHostsInput) (*ModifyHostsOutput, error) {
  16083. req, out := c.ModifyHostsRequest(input)
  16084. return out, req.Send()
  16085. }
  16086. // ModifyHostsWithContext is the same as ModifyHosts with the addition of
  16087. // the ability to pass a context and additional request options.
  16088. //
  16089. // See ModifyHosts for details on how to use this API operation.
  16090. //
  16091. // The context must be non-nil and will be used for request cancellation. If
  16092. // the context is nil a panic will occur. In the future the SDK may create
  16093. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16094. // for more information on using Contexts.
  16095. func (c *EC2) ModifyHostsWithContext(ctx aws.Context, input *ModifyHostsInput, opts ...request.Option) (*ModifyHostsOutput, error) {
  16096. req, out := c.ModifyHostsRequest(input)
  16097. req.SetContext(ctx)
  16098. req.ApplyOptions(opts...)
  16099. return out, req.Send()
  16100. }
  16101. const opModifyIdFormat = "ModifyIdFormat"
  16102. // ModifyIdFormatRequest generates a "aws/request.Request" representing the
  16103. // client's request for the ModifyIdFormat operation. The "output" return
  16104. // value will be populated with the request's response once the request complets
  16105. // successfuly.
  16106. //
  16107. // Use "Send" method on the returned Request to send the API call to the service.
  16108. // the "output" return value is not valid until after Send returns without error.
  16109. //
  16110. // See ModifyIdFormat for more information on using the ModifyIdFormat
  16111. // API call, and error handling.
  16112. //
  16113. // This method is useful when you want to inject custom logic or configuration
  16114. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16115. //
  16116. //
  16117. // // Example sending a request using the ModifyIdFormatRequest method.
  16118. // req, resp := client.ModifyIdFormatRequest(params)
  16119. //
  16120. // err := req.Send()
  16121. // if err == nil { // resp is now filled
  16122. // fmt.Println(resp)
  16123. // }
  16124. //
  16125. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdFormat
  16126. func (c *EC2) ModifyIdFormatRequest(input *ModifyIdFormatInput) (req *request.Request, output *ModifyIdFormatOutput) {
  16127. op := &request.Operation{
  16128. Name: opModifyIdFormat,
  16129. HTTPMethod: "POST",
  16130. HTTPPath: "/",
  16131. }
  16132. if input == nil {
  16133. input = &ModifyIdFormatInput{}
  16134. }
  16135. output = &ModifyIdFormatOutput{}
  16136. req = c.newRequest(op, input, output)
  16137. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  16138. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  16139. return
  16140. }
  16141. // ModifyIdFormat API operation for Amazon Elastic Compute Cloud.
  16142. //
  16143. // Modifies the ID format for the specified resource on a per-region basis.
  16144. // You can specify that resources should receive longer IDs (17-character IDs)
  16145. // when they are created. The following resource types support longer IDs: instance
  16146. // | reservation | snapshot | volume.
  16147. //
  16148. // This setting applies to the IAM user who makes the request; it does not apply
  16149. // to the entire AWS account. By default, an IAM user defaults to the same settings
  16150. // as the root user. If you're using this action as the root user, then these
  16151. // settings apply to the entire account, unless an IAM user explicitly overrides
  16152. // these settings for themselves. For more information, see Resource IDs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html)
  16153. // in the Amazon Elastic Compute Cloud User Guide.
  16154. //
  16155. // Resources created with longer IDs are visible to all IAM roles and users,
  16156. // regardless of these settings and provided that they have permission to use
  16157. // the relevant Describe command for the resource type.
  16158. //
  16159. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16160. // with awserr.Error's Code and Message methods to get detailed information about
  16161. // the error.
  16162. //
  16163. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16164. // API operation ModifyIdFormat for usage and error information.
  16165. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdFormat
  16166. func (c *EC2) ModifyIdFormat(input *ModifyIdFormatInput) (*ModifyIdFormatOutput, error) {
  16167. req, out := c.ModifyIdFormatRequest(input)
  16168. return out, req.Send()
  16169. }
  16170. // ModifyIdFormatWithContext is the same as ModifyIdFormat with the addition of
  16171. // the ability to pass a context and additional request options.
  16172. //
  16173. // See ModifyIdFormat for details on how to use this API operation.
  16174. //
  16175. // The context must be non-nil and will be used for request cancellation. If
  16176. // the context is nil a panic will occur. In the future the SDK may create
  16177. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16178. // for more information on using Contexts.
  16179. func (c *EC2) ModifyIdFormatWithContext(ctx aws.Context, input *ModifyIdFormatInput, opts ...request.Option) (*ModifyIdFormatOutput, error) {
  16180. req, out := c.ModifyIdFormatRequest(input)
  16181. req.SetContext(ctx)
  16182. req.ApplyOptions(opts...)
  16183. return out, req.Send()
  16184. }
  16185. const opModifyIdentityIdFormat = "ModifyIdentityIdFormat"
  16186. // ModifyIdentityIdFormatRequest generates a "aws/request.Request" representing the
  16187. // client's request for the ModifyIdentityIdFormat operation. The "output" return
  16188. // value will be populated with the request's response once the request complets
  16189. // successfuly.
  16190. //
  16191. // Use "Send" method on the returned Request to send the API call to the service.
  16192. // the "output" return value is not valid until after Send returns without error.
  16193. //
  16194. // See ModifyIdentityIdFormat for more information on using the ModifyIdentityIdFormat
  16195. // API call, and error handling.
  16196. //
  16197. // This method is useful when you want to inject custom logic or configuration
  16198. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16199. //
  16200. //
  16201. // // Example sending a request using the ModifyIdentityIdFormatRequest method.
  16202. // req, resp := client.ModifyIdentityIdFormatRequest(params)
  16203. //
  16204. // err := req.Send()
  16205. // if err == nil { // resp is now filled
  16206. // fmt.Println(resp)
  16207. // }
  16208. //
  16209. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdentityIdFormat
  16210. func (c *EC2) ModifyIdentityIdFormatRequest(input *ModifyIdentityIdFormatInput) (req *request.Request, output *ModifyIdentityIdFormatOutput) {
  16211. op := &request.Operation{
  16212. Name: opModifyIdentityIdFormat,
  16213. HTTPMethod: "POST",
  16214. HTTPPath: "/",
  16215. }
  16216. if input == nil {
  16217. input = &ModifyIdentityIdFormatInput{}
  16218. }
  16219. output = &ModifyIdentityIdFormatOutput{}
  16220. req = c.newRequest(op, input, output)
  16221. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  16222. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  16223. return
  16224. }
  16225. // ModifyIdentityIdFormat API operation for Amazon Elastic Compute Cloud.
  16226. //
  16227. // Modifies the ID format of a resource for a specified IAM user, IAM role,
  16228. // or the root user for an account; or all IAM users, IAM roles, and the root
  16229. // user for an account. You can specify that resources should receive longer
  16230. // IDs (17-character IDs) when they are created.
  16231. //
  16232. // The following resource types support longer IDs: instance | reservation |
  16233. // snapshot | volume. For more information, see Resource IDs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html)
  16234. // in the Amazon Elastic Compute Cloud User Guide.
  16235. //
  16236. // This setting applies to the principal specified in the request; it does not
  16237. // apply to the principal that makes the request.
  16238. //
  16239. // Resources created with longer IDs are visible to all IAM roles and users,
  16240. // regardless of these settings and provided that they have permission to use
  16241. // the relevant Describe command for the resource type.
  16242. //
  16243. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16244. // with awserr.Error's Code and Message methods to get detailed information about
  16245. // the error.
  16246. //
  16247. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16248. // API operation ModifyIdentityIdFormat for usage and error information.
  16249. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdentityIdFormat
  16250. func (c *EC2) ModifyIdentityIdFormat(input *ModifyIdentityIdFormatInput) (*ModifyIdentityIdFormatOutput, error) {
  16251. req, out := c.ModifyIdentityIdFormatRequest(input)
  16252. return out, req.Send()
  16253. }
  16254. // ModifyIdentityIdFormatWithContext is the same as ModifyIdentityIdFormat with the addition of
  16255. // the ability to pass a context and additional request options.
  16256. //
  16257. // See ModifyIdentityIdFormat for details on how to use this API operation.
  16258. //
  16259. // The context must be non-nil and will be used for request cancellation. If
  16260. // the context is nil a panic will occur. In the future the SDK may create
  16261. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16262. // for more information on using Contexts.
  16263. func (c *EC2) ModifyIdentityIdFormatWithContext(ctx aws.Context, input *ModifyIdentityIdFormatInput, opts ...request.Option) (*ModifyIdentityIdFormatOutput, error) {
  16264. req, out := c.ModifyIdentityIdFormatRequest(input)
  16265. req.SetContext(ctx)
  16266. req.ApplyOptions(opts...)
  16267. return out, req.Send()
  16268. }
  16269. const opModifyImageAttribute = "ModifyImageAttribute"
  16270. // ModifyImageAttributeRequest generates a "aws/request.Request" representing the
  16271. // client's request for the ModifyImageAttribute operation. The "output" return
  16272. // value will be populated with the request's response once the request complets
  16273. // successfuly.
  16274. //
  16275. // Use "Send" method on the returned Request to send the API call to the service.
  16276. // the "output" return value is not valid until after Send returns without error.
  16277. //
  16278. // See ModifyImageAttribute for more information on using the ModifyImageAttribute
  16279. // API call, and error handling.
  16280. //
  16281. // This method is useful when you want to inject custom logic or configuration
  16282. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16283. //
  16284. //
  16285. // // Example sending a request using the ModifyImageAttributeRequest method.
  16286. // req, resp := client.ModifyImageAttributeRequest(params)
  16287. //
  16288. // err := req.Send()
  16289. // if err == nil { // resp is now filled
  16290. // fmt.Println(resp)
  16291. // }
  16292. //
  16293. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyImageAttribute
  16294. func (c *EC2) ModifyImageAttributeRequest(input *ModifyImageAttributeInput) (req *request.Request, output *ModifyImageAttributeOutput) {
  16295. op := &request.Operation{
  16296. Name: opModifyImageAttribute,
  16297. HTTPMethod: "POST",
  16298. HTTPPath: "/",
  16299. }
  16300. if input == nil {
  16301. input = &ModifyImageAttributeInput{}
  16302. }
  16303. output = &ModifyImageAttributeOutput{}
  16304. req = c.newRequest(op, input, output)
  16305. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  16306. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  16307. return
  16308. }
  16309. // ModifyImageAttribute API operation for Amazon Elastic Compute Cloud.
  16310. //
  16311. // Modifies the specified attribute of the specified AMI. You can specify only
  16312. // one attribute at a time. You can use the Attribute parameter to specify the
  16313. // attribute or one of the following parameters: Description, LaunchPermission,
  16314. // or ProductCode.
  16315. //
  16316. // AWS Marketplace product codes cannot be modified. Images with an AWS Marketplace
  16317. // product code cannot be made public.
  16318. //
  16319. // To enable the SriovNetSupport enhanced networking attribute of an image,
  16320. // enable SriovNetSupport on an instance and create an AMI from the instance.
  16321. //
  16322. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16323. // with awserr.Error's Code and Message methods to get detailed information about
  16324. // the error.
  16325. //
  16326. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16327. // API operation ModifyImageAttribute for usage and error information.
  16328. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyImageAttribute
  16329. func (c *EC2) ModifyImageAttribute(input *ModifyImageAttributeInput) (*ModifyImageAttributeOutput, error) {
  16330. req, out := c.ModifyImageAttributeRequest(input)
  16331. return out, req.Send()
  16332. }
  16333. // ModifyImageAttributeWithContext is the same as ModifyImageAttribute with the addition of
  16334. // the ability to pass a context and additional request options.
  16335. //
  16336. // See ModifyImageAttribute for details on how to use this API operation.
  16337. //
  16338. // The context must be non-nil and will be used for request cancellation. If
  16339. // the context is nil a panic will occur. In the future the SDK may create
  16340. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16341. // for more information on using Contexts.
  16342. func (c *EC2) ModifyImageAttributeWithContext(ctx aws.Context, input *ModifyImageAttributeInput, opts ...request.Option) (*ModifyImageAttributeOutput, error) {
  16343. req, out := c.ModifyImageAttributeRequest(input)
  16344. req.SetContext(ctx)
  16345. req.ApplyOptions(opts...)
  16346. return out, req.Send()
  16347. }
  16348. const opModifyInstanceAttribute = "ModifyInstanceAttribute"
  16349. // ModifyInstanceAttributeRequest generates a "aws/request.Request" representing the
  16350. // client's request for the ModifyInstanceAttribute operation. The "output" return
  16351. // value will be populated with the request's response once the request complets
  16352. // successfuly.
  16353. //
  16354. // Use "Send" method on the returned Request to send the API call to the service.
  16355. // the "output" return value is not valid until after Send returns without error.
  16356. //
  16357. // See ModifyInstanceAttribute for more information on using the ModifyInstanceAttribute
  16358. // API call, and error handling.
  16359. //
  16360. // This method is useful when you want to inject custom logic or configuration
  16361. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16362. //
  16363. //
  16364. // // Example sending a request using the ModifyInstanceAttributeRequest method.
  16365. // req, resp := client.ModifyInstanceAttributeRequest(params)
  16366. //
  16367. // err := req.Send()
  16368. // if err == nil { // resp is now filled
  16369. // fmt.Println(resp)
  16370. // }
  16371. //
  16372. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceAttribute
  16373. func (c *EC2) ModifyInstanceAttributeRequest(input *ModifyInstanceAttributeInput) (req *request.Request, output *ModifyInstanceAttributeOutput) {
  16374. op := &request.Operation{
  16375. Name: opModifyInstanceAttribute,
  16376. HTTPMethod: "POST",
  16377. HTTPPath: "/",
  16378. }
  16379. if input == nil {
  16380. input = &ModifyInstanceAttributeInput{}
  16381. }
  16382. output = &ModifyInstanceAttributeOutput{}
  16383. req = c.newRequest(op, input, output)
  16384. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  16385. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  16386. return
  16387. }
  16388. // ModifyInstanceAttribute API operation for Amazon Elastic Compute Cloud.
  16389. //
  16390. // Modifies the specified attribute of the specified instance. You can specify
  16391. // only one attribute at a time.
  16392. //
  16393. // To modify some attributes, the instance must be stopped. For more information,
  16394. // see Modifying Attributes of a Stopped Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingAttributesWhileInstanceStopped.html)
  16395. // in the Amazon Elastic Compute Cloud User Guide.
  16396. //
  16397. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16398. // with awserr.Error's Code and Message methods to get detailed information about
  16399. // the error.
  16400. //
  16401. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16402. // API operation ModifyInstanceAttribute for usage and error information.
  16403. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceAttribute
  16404. func (c *EC2) ModifyInstanceAttribute(input *ModifyInstanceAttributeInput) (*ModifyInstanceAttributeOutput, error) {
  16405. req, out := c.ModifyInstanceAttributeRequest(input)
  16406. return out, req.Send()
  16407. }
  16408. // ModifyInstanceAttributeWithContext is the same as ModifyInstanceAttribute with the addition of
  16409. // the ability to pass a context and additional request options.
  16410. //
  16411. // See ModifyInstanceAttribute for details on how to use this API operation.
  16412. //
  16413. // The context must be non-nil and will be used for request cancellation. If
  16414. // the context is nil a panic will occur. In the future the SDK may create
  16415. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16416. // for more information on using Contexts.
  16417. func (c *EC2) ModifyInstanceAttributeWithContext(ctx aws.Context, input *ModifyInstanceAttributeInput, opts ...request.Option) (*ModifyInstanceAttributeOutput, error) {
  16418. req, out := c.ModifyInstanceAttributeRequest(input)
  16419. req.SetContext(ctx)
  16420. req.ApplyOptions(opts...)
  16421. return out, req.Send()
  16422. }
  16423. const opModifyInstanceCreditSpecification = "ModifyInstanceCreditSpecification"
  16424. // ModifyInstanceCreditSpecificationRequest generates a "aws/request.Request" representing the
  16425. // client's request for the ModifyInstanceCreditSpecification operation. The "output" return
  16426. // value will be populated with the request's response once the request complets
  16427. // successfuly.
  16428. //
  16429. // Use "Send" method on the returned Request to send the API call to the service.
  16430. // the "output" return value is not valid until after Send returns without error.
  16431. //
  16432. // See ModifyInstanceCreditSpecification for more information on using the ModifyInstanceCreditSpecification
  16433. // API call, and error handling.
  16434. //
  16435. // This method is useful when you want to inject custom logic or configuration
  16436. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16437. //
  16438. //
  16439. // // Example sending a request using the ModifyInstanceCreditSpecificationRequest method.
  16440. // req, resp := client.ModifyInstanceCreditSpecificationRequest(params)
  16441. //
  16442. // err := req.Send()
  16443. // if err == nil { // resp is now filled
  16444. // fmt.Println(resp)
  16445. // }
  16446. //
  16447. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceCreditSpecification
  16448. func (c *EC2) ModifyInstanceCreditSpecificationRequest(input *ModifyInstanceCreditSpecificationInput) (req *request.Request, output *ModifyInstanceCreditSpecificationOutput) {
  16449. op := &request.Operation{
  16450. Name: opModifyInstanceCreditSpecification,
  16451. HTTPMethod: "POST",
  16452. HTTPPath: "/",
  16453. }
  16454. if input == nil {
  16455. input = &ModifyInstanceCreditSpecificationInput{}
  16456. }
  16457. output = &ModifyInstanceCreditSpecificationOutput{}
  16458. req = c.newRequest(op, input, output)
  16459. return
  16460. }
  16461. // ModifyInstanceCreditSpecification API operation for Amazon Elastic Compute Cloud.
  16462. //
  16463. // Modifies the credit option for CPU usage on a running or stopped T2 instance.
  16464. // The credit options are standard and unlimited.
  16465. //
  16466. // For more information, see T2 Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/t2-instances.html)
  16467. // in the Amazon Elastic Compute Cloud User Guide.
  16468. //
  16469. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16470. // with awserr.Error's Code and Message methods to get detailed information about
  16471. // the error.
  16472. //
  16473. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16474. // API operation ModifyInstanceCreditSpecification for usage and error information.
  16475. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceCreditSpecification
  16476. func (c *EC2) ModifyInstanceCreditSpecification(input *ModifyInstanceCreditSpecificationInput) (*ModifyInstanceCreditSpecificationOutput, error) {
  16477. req, out := c.ModifyInstanceCreditSpecificationRequest(input)
  16478. return out, req.Send()
  16479. }
  16480. // ModifyInstanceCreditSpecificationWithContext is the same as ModifyInstanceCreditSpecification with the addition of
  16481. // the ability to pass a context and additional request options.
  16482. //
  16483. // See ModifyInstanceCreditSpecification for details on how to use this API operation.
  16484. //
  16485. // The context must be non-nil and will be used for request cancellation. If
  16486. // the context is nil a panic will occur. In the future the SDK may create
  16487. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16488. // for more information on using Contexts.
  16489. func (c *EC2) ModifyInstanceCreditSpecificationWithContext(ctx aws.Context, input *ModifyInstanceCreditSpecificationInput, opts ...request.Option) (*ModifyInstanceCreditSpecificationOutput, error) {
  16490. req, out := c.ModifyInstanceCreditSpecificationRequest(input)
  16491. req.SetContext(ctx)
  16492. req.ApplyOptions(opts...)
  16493. return out, req.Send()
  16494. }
  16495. const opModifyInstancePlacement = "ModifyInstancePlacement"
  16496. // ModifyInstancePlacementRequest generates a "aws/request.Request" representing the
  16497. // client's request for the ModifyInstancePlacement operation. The "output" return
  16498. // value will be populated with the request's response once the request complets
  16499. // successfuly.
  16500. //
  16501. // Use "Send" method on the returned Request to send the API call to the service.
  16502. // the "output" return value is not valid until after Send returns without error.
  16503. //
  16504. // See ModifyInstancePlacement for more information on using the ModifyInstancePlacement
  16505. // API call, and error handling.
  16506. //
  16507. // This method is useful when you want to inject custom logic or configuration
  16508. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16509. //
  16510. //
  16511. // // Example sending a request using the ModifyInstancePlacementRequest method.
  16512. // req, resp := client.ModifyInstancePlacementRequest(params)
  16513. //
  16514. // err := req.Send()
  16515. // if err == nil { // resp is now filled
  16516. // fmt.Println(resp)
  16517. // }
  16518. //
  16519. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstancePlacement
  16520. func (c *EC2) ModifyInstancePlacementRequest(input *ModifyInstancePlacementInput) (req *request.Request, output *ModifyInstancePlacementOutput) {
  16521. op := &request.Operation{
  16522. Name: opModifyInstancePlacement,
  16523. HTTPMethod: "POST",
  16524. HTTPPath: "/",
  16525. }
  16526. if input == nil {
  16527. input = &ModifyInstancePlacementInput{}
  16528. }
  16529. output = &ModifyInstancePlacementOutput{}
  16530. req = c.newRequest(op, input, output)
  16531. return
  16532. }
  16533. // ModifyInstancePlacement API operation for Amazon Elastic Compute Cloud.
  16534. //
  16535. // Set the instance affinity value for a specific stopped instance and modify
  16536. // the instance tenancy setting.
  16537. //
  16538. // Instance affinity is disabled by default. When instance affinity is host
  16539. // and it is not associated with a specific Dedicated Host, the next time it
  16540. // is launched it will automatically be associated with the host it lands on.
  16541. // This relationship will persist if the instance is stopped/started, or rebooted.
  16542. //
  16543. // You can modify the host ID associated with a stopped instance. If a stopped
  16544. // instance has a new host ID association, the instance will target that host
  16545. // when restarted.
  16546. //
  16547. // You can modify the tenancy of a stopped instance with a tenancy of host or
  16548. // dedicated.
  16549. //
  16550. // Affinity, hostID, and tenancy are not required parameters, but at least one
  16551. // of them must be specified in the request. Affinity and tenancy can be modified
  16552. // in the same request, but tenancy can only be modified on instances that are
  16553. // stopped.
  16554. //
  16555. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16556. // with awserr.Error's Code and Message methods to get detailed information about
  16557. // the error.
  16558. //
  16559. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16560. // API operation ModifyInstancePlacement for usage and error information.
  16561. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstancePlacement
  16562. func (c *EC2) ModifyInstancePlacement(input *ModifyInstancePlacementInput) (*ModifyInstancePlacementOutput, error) {
  16563. req, out := c.ModifyInstancePlacementRequest(input)
  16564. return out, req.Send()
  16565. }
  16566. // ModifyInstancePlacementWithContext is the same as ModifyInstancePlacement with the addition of
  16567. // the ability to pass a context and additional request options.
  16568. //
  16569. // See ModifyInstancePlacement for details on how to use this API operation.
  16570. //
  16571. // The context must be non-nil and will be used for request cancellation. If
  16572. // the context is nil a panic will occur. In the future the SDK may create
  16573. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16574. // for more information on using Contexts.
  16575. func (c *EC2) ModifyInstancePlacementWithContext(ctx aws.Context, input *ModifyInstancePlacementInput, opts ...request.Option) (*ModifyInstancePlacementOutput, error) {
  16576. req, out := c.ModifyInstancePlacementRequest(input)
  16577. req.SetContext(ctx)
  16578. req.ApplyOptions(opts...)
  16579. return out, req.Send()
  16580. }
  16581. const opModifyLaunchTemplate = "ModifyLaunchTemplate"
  16582. // ModifyLaunchTemplateRequest generates a "aws/request.Request" representing the
  16583. // client's request for the ModifyLaunchTemplate operation. The "output" return
  16584. // value will be populated with the request's response once the request complets
  16585. // successfuly.
  16586. //
  16587. // Use "Send" method on the returned Request to send the API call to the service.
  16588. // the "output" return value is not valid until after Send returns without error.
  16589. //
  16590. // See ModifyLaunchTemplate for more information on using the ModifyLaunchTemplate
  16591. // API call, and error handling.
  16592. //
  16593. // This method is useful when you want to inject custom logic or configuration
  16594. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16595. //
  16596. //
  16597. // // Example sending a request using the ModifyLaunchTemplateRequest method.
  16598. // req, resp := client.ModifyLaunchTemplateRequest(params)
  16599. //
  16600. // err := req.Send()
  16601. // if err == nil { // resp is now filled
  16602. // fmt.Println(resp)
  16603. // }
  16604. //
  16605. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyLaunchTemplate
  16606. func (c *EC2) ModifyLaunchTemplateRequest(input *ModifyLaunchTemplateInput) (req *request.Request, output *ModifyLaunchTemplateOutput) {
  16607. op := &request.Operation{
  16608. Name: opModifyLaunchTemplate,
  16609. HTTPMethod: "POST",
  16610. HTTPPath: "/",
  16611. }
  16612. if input == nil {
  16613. input = &ModifyLaunchTemplateInput{}
  16614. }
  16615. output = &ModifyLaunchTemplateOutput{}
  16616. req = c.newRequest(op, input, output)
  16617. return
  16618. }
  16619. // ModifyLaunchTemplate API operation for Amazon Elastic Compute Cloud.
  16620. //
  16621. // Modifies a launch template. You can specify which version of the launch template
  16622. // to set as the default version. When launching an instance, the default version
  16623. // applies when a launch template version is not specified.
  16624. //
  16625. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16626. // with awserr.Error's Code and Message methods to get detailed information about
  16627. // the error.
  16628. //
  16629. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16630. // API operation ModifyLaunchTemplate for usage and error information.
  16631. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyLaunchTemplate
  16632. func (c *EC2) ModifyLaunchTemplate(input *ModifyLaunchTemplateInput) (*ModifyLaunchTemplateOutput, error) {
  16633. req, out := c.ModifyLaunchTemplateRequest(input)
  16634. return out, req.Send()
  16635. }
  16636. // ModifyLaunchTemplateWithContext is the same as ModifyLaunchTemplate with the addition of
  16637. // the ability to pass a context and additional request options.
  16638. //
  16639. // See ModifyLaunchTemplate for details on how to use this API operation.
  16640. //
  16641. // The context must be non-nil and will be used for request cancellation. If
  16642. // the context is nil a panic will occur. In the future the SDK may create
  16643. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16644. // for more information on using Contexts.
  16645. func (c *EC2) ModifyLaunchTemplateWithContext(ctx aws.Context, input *ModifyLaunchTemplateInput, opts ...request.Option) (*ModifyLaunchTemplateOutput, error) {
  16646. req, out := c.ModifyLaunchTemplateRequest(input)
  16647. req.SetContext(ctx)
  16648. req.ApplyOptions(opts...)
  16649. return out, req.Send()
  16650. }
  16651. const opModifyNetworkInterfaceAttribute = "ModifyNetworkInterfaceAttribute"
  16652. // ModifyNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
  16653. // client's request for the ModifyNetworkInterfaceAttribute operation. The "output" return
  16654. // value will be populated with the request's response once the request complets
  16655. // successfuly.
  16656. //
  16657. // Use "Send" method on the returned Request to send the API call to the service.
  16658. // the "output" return value is not valid until after Send returns without error.
  16659. //
  16660. // See ModifyNetworkInterfaceAttribute for more information on using the ModifyNetworkInterfaceAttribute
  16661. // API call, and error handling.
  16662. //
  16663. // This method is useful when you want to inject custom logic or configuration
  16664. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16665. //
  16666. //
  16667. // // Example sending a request using the ModifyNetworkInterfaceAttributeRequest method.
  16668. // req, resp := client.ModifyNetworkInterfaceAttributeRequest(params)
  16669. //
  16670. // err := req.Send()
  16671. // if err == nil { // resp is now filled
  16672. // fmt.Println(resp)
  16673. // }
  16674. //
  16675. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyNetworkInterfaceAttribute
  16676. func (c *EC2) ModifyNetworkInterfaceAttributeRequest(input *ModifyNetworkInterfaceAttributeInput) (req *request.Request, output *ModifyNetworkInterfaceAttributeOutput) {
  16677. op := &request.Operation{
  16678. Name: opModifyNetworkInterfaceAttribute,
  16679. HTTPMethod: "POST",
  16680. HTTPPath: "/",
  16681. }
  16682. if input == nil {
  16683. input = &ModifyNetworkInterfaceAttributeInput{}
  16684. }
  16685. output = &ModifyNetworkInterfaceAttributeOutput{}
  16686. req = c.newRequest(op, input, output)
  16687. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  16688. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  16689. return
  16690. }
  16691. // ModifyNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
  16692. //
  16693. // Modifies the specified network interface attribute. You can specify only
  16694. // one attribute at a time.
  16695. //
  16696. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16697. // with awserr.Error's Code and Message methods to get detailed information about
  16698. // the error.
  16699. //
  16700. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16701. // API operation ModifyNetworkInterfaceAttribute for usage and error information.
  16702. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyNetworkInterfaceAttribute
  16703. func (c *EC2) ModifyNetworkInterfaceAttribute(input *ModifyNetworkInterfaceAttributeInput) (*ModifyNetworkInterfaceAttributeOutput, error) {
  16704. req, out := c.ModifyNetworkInterfaceAttributeRequest(input)
  16705. return out, req.Send()
  16706. }
  16707. // ModifyNetworkInterfaceAttributeWithContext is the same as ModifyNetworkInterfaceAttribute with the addition of
  16708. // the ability to pass a context and additional request options.
  16709. //
  16710. // See ModifyNetworkInterfaceAttribute for details on how to use this API operation.
  16711. //
  16712. // The context must be non-nil and will be used for request cancellation. If
  16713. // the context is nil a panic will occur. In the future the SDK may create
  16714. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16715. // for more information on using Contexts.
  16716. func (c *EC2) ModifyNetworkInterfaceAttributeWithContext(ctx aws.Context, input *ModifyNetworkInterfaceAttributeInput, opts ...request.Option) (*ModifyNetworkInterfaceAttributeOutput, error) {
  16717. req, out := c.ModifyNetworkInterfaceAttributeRequest(input)
  16718. req.SetContext(ctx)
  16719. req.ApplyOptions(opts...)
  16720. return out, req.Send()
  16721. }
  16722. const opModifyReservedInstances = "ModifyReservedInstances"
  16723. // ModifyReservedInstancesRequest generates a "aws/request.Request" representing the
  16724. // client's request for the ModifyReservedInstances operation. The "output" return
  16725. // value will be populated with the request's response once the request complets
  16726. // successfuly.
  16727. //
  16728. // Use "Send" method on the returned Request to send the API call to the service.
  16729. // the "output" return value is not valid until after Send returns without error.
  16730. //
  16731. // See ModifyReservedInstances for more information on using the ModifyReservedInstances
  16732. // API call, and error handling.
  16733. //
  16734. // This method is useful when you want to inject custom logic or configuration
  16735. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16736. //
  16737. //
  16738. // // Example sending a request using the ModifyReservedInstancesRequest method.
  16739. // req, resp := client.ModifyReservedInstancesRequest(params)
  16740. //
  16741. // err := req.Send()
  16742. // if err == nil { // resp is now filled
  16743. // fmt.Println(resp)
  16744. // }
  16745. //
  16746. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyReservedInstances
  16747. func (c *EC2) ModifyReservedInstancesRequest(input *ModifyReservedInstancesInput) (req *request.Request, output *ModifyReservedInstancesOutput) {
  16748. op := &request.Operation{
  16749. Name: opModifyReservedInstances,
  16750. HTTPMethod: "POST",
  16751. HTTPPath: "/",
  16752. }
  16753. if input == nil {
  16754. input = &ModifyReservedInstancesInput{}
  16755. }
  16756. output = &ModifyReservedInstancesOutput{}
  16757. req = c.newRequest(op, input, output)
  16758. return
  16759. }
  16760. // ModifyReservedInstances API operation for Amazon Elastic Compute Cloud.
  16761. //
  16762. // Modifies the Availability Zone, instance count, instance type, or network
  16763. // platform (EC2-Classic or EC2-VPC) of your Reserved Instances. The Reserved
  16764. // Instances to be modified must be identical, except for Availability Zone,
  16765. // network platform, and instance type.
  16766. //
  16767. // For more information, see Modifying Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html)
  16768. // in the Amazon Elastic Compute Cloud User Guide.
  16769. //
  16770. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16771. // with awserr.Error's Code and Message methods to get detailed information about
  16772. // the error.
  16773. //
  16774. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16775. // API operation ModifyReservedInstances for usage and error information.
  16776. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyReservedInstances
  16777. func (c *EC2) ModifyReservedInstances(input *ModifyReservedInstancesInput) (*ModifyReservedInstancesOutput, error) {
  16778. req, out := c.ModifyReservedInstancesRequest(input)
  16779. return out, req.Send()
  16780. }
  16781. // ModifyReservedInstancesWithContext is the same as ModifyReservedInstances with the addition of
  16782. // the ability to pass a context and additional request options.
  16783. //
  16784. // See ModifyReservedInstances for details on how to use this API operation.
  16785. //
  16786. // The context must be non-nil and will be used for request cancellation. If
  16787. // the context is nil a panic will occur. In the future the SDK may create
  16788. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16789. // for more information on using Contexts.
  16790. func (c *EC2) ModifyReservedInstancesWithContext(ctx aws.Context, input *ModifyReservedInstancesInput, opts ...request.Option) (*ModifyReservedInstancesOutput, error) {
  16791. req, out := c.ModifyReservedInstancesRequest(input)
  16792. req.SetContext(ctx)
  16793. req.ApplyOptions(opts...)
  16794. return out, req.Send()
  16795. }
  16796. const opModifySnapshotAttribute = "ModifySnapshotAttribute"
  16797. // ModifySnapshotAttributeRequest generates a "aws/request.Request" representing the
  16798. // client's request for the ModifySnapshotAttribute operation. The "output" return
  16799. // value will be populated with the request's response once the request complets
  16800. // successfuly.
  16801. //
  16802. // Use "Send" method on the returned Request to send the API call to the service.
  16803. // the "output" return value is not valid until after Send returns without error.
  16804. //
  16805. // See ModifySnapshotAttribute for more information on using the ModifySnapshotAttribute
  16806. // API call, and error handling.
  16807. //
  16808. // This method is useful when you want to inject custom logic or configuration
  16809. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16810. //
  16811. //
  16812. // // Example sending a request using the ModifySnapshotAttributeRequest method.
  16813. // req, resp := client.ModifySnapshotAttributeRequest(params)
  16814. //
  16815. // err := req.Send()
  16816. // if err == nil { // resp is now filled
  16817. // fmt.Println(resp)
  16818. // }
  16819. //
  16820. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySnapshotAttribute
  16821. func (c *EC2) ModifySnapshotAttributeRequest(input *ModifySnapshotAttributeInput) (req *request.Request, output *ModifySnapshotAttributeOutput) {
  16822. op := &request.Operation{
  16823. Name: opModifySnapshotAttribute,
  16824. HTTPMethod: "POST",
  16825. HTTPPath: "/",
  16826. }
  16827. if input == nil {
  16828. input = &ModifySnapshotAttributeInput{}
  16829. }
  16830. output = &ModifySnapshotAttributeOutput{}
  16831. req = c.newRequest(op, input, output)
  16832. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  16833. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  16834. return
  16835. }
  16836. // ModifySnapshotAttribute API operation for Amazon Elastic Compute Cloud.
  16837. //
  16838. // Adds or removes permission settings for the specified snapshot. You may add
  16839. // or remove specified AWS account IDs from a snapshot's list of create volume
  16840. // permissions, but you cannot do both in a single API call. If you need to
  16841. // both add and remove account IDs for a snapshot, you must use multiple API
  16842. // calls.
  16843. //
  16844. // Encrypted snapshots and snapshots with AWS Marketplace product codes cannot
  16845. // be made public. Snapshots encrypted with your default CMK cannot be shared
  16846. // with other accounts.
  16847. //
  16848. // For more information on modifying snapshot permissions, see Sharing Snapshots
  16849. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html)
  16850. // in the Amazon Elastic Compute Cloud User Guide.
  16851. //
  16852. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16853. // with awserr.Error's Code and Message methods to get detailed information about
  16854. // the error.
  16855. //
  16856. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16857. // API operation ModifySnapshotAttribute for usage and error information.
  16858. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySnapshotAttribute
  16859. func (c *EC2) ModifySnapshotAttribute(input *ModifySnapshotAttributeInput) (*ModifySnapshotAttributeOutput, error) {
  16860. req, out := c.ModifySnapshotAttributeRequest(input)
  16861. return out, req.Send()
  16862. }
  16863. // ModifySnapshotAttributeWithContext is the same as ModifySnapshotAttribute with the addition of
  16864. // the ability to pass a context and additional request options.
  16865. //
  16866. // See ModifySnapshotAttribute for details on how to use this API operation.
  16867. //
  16868. // The context must be non-nil and will be used for request cancellation. If
  16869. // the context is nil a panic will occur. In the future the SDK may create
  16870. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16871. // for more information on using Contexts.
  16872. func (c *EC2) ModifySnapshotAttributeWithContext(ctx aws.Context, input *ModifySnapshotAttributeInput, opts ...request.Option) (*ModifySnapshotAttributeOutput, error) {
  16873. req, out := c.ModifySnapshotAttributeRequest(input)
  16874. req.SetContext(ctx)
  16875. req.ApplyOptions(opts...)
  16876. return out, req.Send()
  16877. }
  16878. const opModifySpotFleetRequest = "ModifySpotFleetRequest"
  16879. // ModifySpotFleetRequestRequest generates a "aws/request.Request" representing the
  16880. // client's request for the ModifySpotFleetRequest operation. The "output" return
  16881. // value will be populated with the request's response once the request complets
  16882. // successfuly.
  16883. //
  16884. // Use "Send" method on the returned Request to send the API call to the service.
  16885. // the "output" return value is not valid until after Send returns without error.
  16886. //
  16887. // See ModifySpotFleetRequest for more information on using the ModifySpotFleetRequest
  16888. // API call, and error handling.
  16889. //
  16890. // This method is useful when you want to inject custom logic or configuration
  16891. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16892. //
  16893. //
  16894. // // Example sending a request using the ModifySpotFleetRequestRequest method.
  16895. // req, resp := client.ModifySpotFleetRequestRequest(params)
  16896. //
  16897. // err := req.Send()
  16898. // if err == nil { // resp is now filled
  16899. // fmt.Println(resp)
  16900. // }
  16901. //
  16902. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySpotFleetRequest
  16903. func (c *EC2) ModifySpotFleetRequestRequest(input *ModifySpotFleetRequestInput) (req *request.Request, output *ModifySpotFleetRequestOutput) {
  16904. op := &request.Operation{
  16905. Name: opModifySpotFleetRequest,
  16906. HTTPMethod: "POST",
  16907. HTTPPath: "/",
  16908. }
  16909. if input == nil {
  16910. input = &ModifySpotFleetRequestInput{}
  16911. }
  16912. output = &ModifySpotFleetRequestOutput{}
  16913. req = c.newRequest(op, input, output)
  16914. return
  16915. }
  16916. // ModifySpotFleetRequest API operation for Amazon Elastic Compute Cloud.
  16917. //
  16918. // Modifies the specified Spot Fleet request.
  16919. //
  16920. // While the Spot Fleet request is being modified, it is in the modifying state.
  16921. //
  16922. // To scale up your Spot Fleet, increase its target capacity. The Spot Fleet
  16923. // launches the additional Spot Instances according to the allocation strategy
  16924. // for the Spot Fleet request. If the allocation strategy is lowestPrice, the
  16925. // Spot Fleet launches instances using the Spot pool with the lowest price.
  16926. // If the allocation strategy is diversified, the Spot Fleet distributes the
  16927. // instances across the Spot pools.
  16928. //
  16929. // To scale down your Spot Fleet, decrease its target capacity. First, the Spot
  16930. // Fleet cancels any open requests that exceed the new target capacity. You
  16931. // can request that the Spot Fleet terminate Spot Instances until the size of
  16932. // the fleet no longer exceeds the new target capacity. If the allocation strategy
  16933. // is lowestPrice, the Spot Fleet terminates the instances with the highest
  16934. // price per unit. If the allocation strategy is diversified, the Spot Fleet
  16935. // terminates instances across the Spot pools. Alternatively, you can request
  16936. // that the Spot Fleet keep the fleet at its current size, but not replace any
  16937. // Spot Instances that are interrupted or that you terminate manually.
  16938. //
  16939. // If you are finished with your Spot Fleet for now, but will use it again later,
  16940. // you can set the target capacity to 0.
  16941. //
  16942. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16943. // with awserr.Error's Code and Message methods to get detailed information about
  16944. // the error.
  16945. //
  16946. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16947. // API operation ModifySpotFleetRequest for usage and error information.
  16948. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySpotFleetRequest
  16949. func (c *EC2) ModifySpotFleetRequest(input *ModifySpotFleetRequestInput) (*ModifySpotFleetRequestOutput, error) {
  16950. req, out := c.ModifySpotFleetRequestRequest(input)
  16951. return out, req.Send()
  16952. }
  16953. // ModifySpotFleetRequestWithContext is the same as ModifySpotFleetRequest with the addition of
  16954. // the ability to pass a context and additional request options.
  16955. //
  16956. // See ModifySpotFleetRequest for details on how to use this API operation.
  16957. //
  16958. // The context must be non-nil and will be used for request cancellation. If
  16959. // the context is nil a panic will occur. In the future the SDK may create
  16960. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16961. // for more information on using Contexts.
  16962. func (c *EC2) ModifySpotFleetRequestWithContext(ctx aws.Context, input *ModifySpotFleetRequestInput, opts ...request.Option) (*ModifySpotFleetRequestOutput, error) {
  16963. req, out := c.ModifySpotFleetRequestRequest(input)
  16964. req.SetContext(ctx)
  16965. req.ApplyOptions(opts...)
  16966. return out, req.Send()
  16967. }
  16968. const opModifySubnetAttribute = "ModifySubnetAttribute"
  16969. // ModifySubnetAttributeRequest generates a "aws/request.Request" representing the
  16970. // client's request for the ModifySubnetAttribute operation. The "output" return
  16971. // value will be populated with the request's response once the request complets
  16972. // successfuly.
  16973. //
  16974. // Use "Send" method on the returned Request to send the API call to the service.
  16975. // the "output" return value is not valid until after Send returns without error.
  16976. //
  16977. // See ModifySubnetAttribute for more information on using the ModifySubnetAttribute
  16978. // API call, and error handling.
  16979. //
  16980. // This method is useful when you want to inject custom logic or configuration
  16981. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16982. //
  16983. //
  16984. // // Example sending a request using the ModifySubnetAttributeRequest method.
  16985. // req, resp := client.ModifySubnetAttributeRequest(params)
  16986. //
  16987. // err := req.Send()
  16988. // if err == nil { // resp is now filled
  16989. // fmt.Println(resp)
  16990. // }
  16991. //
  16992. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySubnetAttribute
  16993. func (c *EC2) ModifySubnetAttributeRequest(input *ModifySubnetAttributeInput) (req *request.Request, output *ModifySubnetAttributeOutput) {
  16994. op := &request.Operation{
  16995. Name: opModifySubnetAttribute,
  16996. HTTPMethod: "POST",
  16997. HTTPPath: "/",
  16998. }
  16999. if input == nil {
  17000. input = &ModifySubnetAttributeInput{}
  17001. }
  17002. output = &ModifySubnetAttributeOutput{}
  17003. req = c.newRequest(op, input, output)
  17004. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  17005. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  17006. return
  17007. }
  17008. // ModifySubnetAttribute API operation for Amazon Elastic Compute Cloud.
  17009. //
  17010. // Modifies a subnet attribute. You can only modify one attribute at a time.
  17011. //
  17012. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17013. // with awserr.Error's Code and Message methods to get detailed information about
  17014. // the error.
  17015. //
  17016. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17017. // API operation ModifySubnetAttribute for usage and error information.
  17018. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySubnetAttribute
  17019. func (c *EC2) ModifySubnetAttribute(input *ModifySubnetAttributeInput) (*ModifySubnetAttributeOutput, error) {
  17020. req, out := c.ModifySubnetAttributeRequest(input)
  17021. return out, req.Send()
  17022. }
  17023. // ModifySubnetAttributeWithContext is the same as ModifySubnetAttribute with the addition of
  17024. // the ability to pass a context and additional request options.
  17025. //
  17026. // See ModifySubnetAttribute for details on how to use this API operation.
  17027. //
  17028. // The context must be non-nil and will be used for request cancellation. If
  17029. // the context is nil a panic will occur. In the future the SDK may create
  17030. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17031. // for more information on using Contexts.
  17032. func (c *EC2) ModifySubnetAttributeWithContext(ctx aws.Context, input *ModifySubnetAttributeInput, opts ...request.Option) (*ModifySubnetAttributeOutput, error) {
  17033. req, out := c.ModifySubnetAttributeRequest(input)
  17034. req.SetContext(ctx)
  17035. req.ApplyOptions(opts...)
  17036. return out, req.Send()
  17037. }
  17038. const opModifyVolume = "ModifyVolume"
  17039. // ModifyVolumeRequest generates a "aws/request.Request" representing the
  17040. // client's request for the ModifyVolume operation. The "output" return
  17041. // value will be populated with the request's response once the request complets
  17042. // successfuly.
  17043. //
  17044. // Use "Send" method on the returned Request to send the API call to the service.
  17045. // the "output" return value is not valid until after Send returns without error.
  17046. //
  17047. // See ModifyVolume for more information on using the ModifyVolume
  17048. // API call, and error handling.
  17049. //
  17050. // This method is useful when you want to inject custom logic or configuration
  17051. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17052. //
  17053. //
  17054. // // Example sending a request using the ModifyVolumeRequest method.
  17055. // req, resp := client.ModifyVolumeRequest(params)
  17056. //
  17057. // err := req.Send()
  17058. // if err == nil { // resp is now filled
  17059. // fmt.Println(resp)
  17060. // }
  17061. //
  17062. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolume
  17063. func (c *EC2) ModifyVolumeRequest(input *ModifyVolumeInput) (req *request.Request, output *ModifyVolumeOutput) {
  17064. op := &request.Operation{
  17065. Name: opModifyVolume,
  17066. HTTPMethod: "POST",
  17067. HTTPPath: "/",
  17068. }
  17069. if input == nil {
  17070. input = &ModifyVolumeInput{}
  17071. }
  17072. output = &ModifyVolumeOutput{}
  17073. req = c.newRequest(op, input, output)
  17074. return
  17075. }
  17076. // ModifyVolume API operation for Amazon Elastic Compute Cloud.
  17077. //
  17078. // You can modify several parameters of an existing EBS volume, including volume
  17079. // size, volume type, and IOPS capacity. If your EBS volume is attached to a
  17080. // current-generation EC2 instance type, you may be able to apply these changes
  17081. // without stopping the instance or detaching the volume from it. For more information
  17082. // about modifying an EBS volume running Linux, see Modifying the Size, IOPS,
  17083. // or Type of an EBS Volume on Linux (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html).
  17084. // For more information about modifying an EBS volume running Windows, see Modifying
  17085. // the Size, IOPS, or Type of an EBS Volume on Windows (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html).
  17086. //
  17087. // When you complete a resize operation on your volume, you need to extend the
  17088. // volume's file-system size to take advantage of the new storage capacity.
  17089. // For information about extending a Linux file system, see Extending a Linux
  17090. // File System (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#recognize-expanded-volume-linux).
  17091. // For information about extending a Windows file system, see Extending a Windows
  17092. // File System (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html#recognize-expanded-volume-windows).
  17093. //
  17094. // You can use CloudWatch Events to check the status of a modification to an
  17095. // EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch
  17096. // Events User Guide (http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/).
  17097. // You can also track the status of a modification using the DescribeVolumesModifications
  17098. // API. For information about tracking status changes using either method, see
  17099. // Monitoring Volume Modifications (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#monitoring_mods).
  17100. //
  17101. // With previous-generation instance types, resizing an EBS volume may require
  17102. // detaching and reattaching the volume or stopping and restarting the instance.
  17103. // For more information about modifying an EBS volume running Linux, see Modifying
  17104. // the Size, IOPS, or Type of an EBS Volume on Linux (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html).
  17105. // For more information about modifying an EBS volume running Windows, see Modifying
  17106. // the Size, IOPS, or Type of an EBS Volume on Windows (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html).
  17107. //
  17108. // If you reach the maximum volume modification rate per volume limit, you will
  17109. // need to wait at least six hours before applying further modifications to
  17110. // the affected EBS volume.
  17111. //
  17112. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17113. // with awserr.Error's Code and Message methods to get detailed information about
  17114. // the error.
  17115. //
  17116. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17117. // API operation ModifyVolume for usage and error information.
  17118. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolume
  17119. func (c *EC2) ModifyVolume(input *ModifyVolumeInput) (*ModifyVolumeOutput, error) {
  17120. req, out := c.ModifyVolumeRequest(input)
  17121. return out, req.Send()
  17122. }
  17123. // ModifyVolumeWithContext is the same as ModifyVolume with the addition of
  17124. // the ability to pass a context and additional request options.
  17125. //
  17126. // See ModifyVolume for details on how to use this API operation.
  17127. //
  17128. // The context must be non-nil and will be used for request cancellation. If
  17129. // the context is nil a panic will occur. In the future the SDK may create
  17130. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17131. // for more information on using Contexts.
  17132. func (c *EC2) ModifyVolumeWithContext(ctx aws.Context, input *ModifyVolumeInput, opts ...request.Option) (*ModifyVolumeOutput, error) {
  17133. req, out := c.ModifyVolumeRequest(input)
  17134. req.SetContext(ctx)
  17135. req.ApplyOptions(opts...)
  17136. return out, req.Send()
  17137. }
  17138. const opModifyVolumeAttribute = "ModifyVolumeAttribute"
  17139. // ModifyVolumeAttributeRequest generates a "aws/request.Request" representing the
  17140. // client's request for the ModifyVolumeAttribute operation. The "output" return
  17141. // value will be populated with the request's response once the request complets
  17142. // successfuly.
  17143. //
  17144. // Use "Send" method on the returned Request to send the API call to the service.
  17145. // the "output" return value is not valid until after Send returns without error.
  17146. //
  17147. // See ModifyVolumeAttribute for more information on using the ModifyVolumeAttribute
  17148. // API call, and error handling.
  17149. //
  17150. // This method is useful when you want to inject custom logic or configuration
  17151. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17152. //
  17153. //
  17154. // // Example sending a request using the ModifyVolumeAttributeRequest method.
  17155. // req, resp := client.ModifyVolumeAttributeRequest(params)
  17156. //
  17157. // err := req.Send()
  17158. // if err == nil { // resp is now filled
  17159. // fmt.Println(resp)
  17160. // }
  17161. //
  17162. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeAttribute
  17163. func (c *EC2) ModifyVolumeAttributeRequest(input *ModifyVolumeAttributeInput) (req *request.Request, output *ModifyVolumeAttributeOutput) {
  17164. op := &request.Operation{
  17165. Name: opModifyVolumeAttribute,
  17166. HTTPMethod: "POST",
  17167. HTTPPath: "/",
  17168. }
  17169. if input == nil {
  17170. input = &ModifyVolumeAttributeInput{}
  17171. }
  17172. output = &ModifyVolumeAttributeOutput{}
  17173. req = c.newRequest(op, input, output)
  17174. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  17175. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  17176. return
  17177. }
  17178. // ModifyVolumeAttribute API operation for Amazon Elastic Compute Cloud.
  17179. //
  17180. // Modifies a volume attribute.
  17181. //
  17182. // By default, all I/O operations for the volume are suspended when the data
  17183. // on the volume is determined to be potentially inconsistent, to prevent undetectable,
  17184. // latent data corruption. The I/O access to the volume can be resumed by first
  17185. // enabling I/O access and then checking the data consistency on your volume.
  17186. //
  17187. // You can change the default behavior to resume I/O operations. We recommend
  17188. // that you change this only for boot volumes or for volumes that are stateless
  17189. // or disposable.
  17190. //
  17191. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17192. // with awserr.Error's Code and Message methods to get detailed information about
  17193. // the error.
  17194. //
  17195. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17196. // API operation ModifyVolumeAttribute for usage and error information.
  17197. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeAttribute
  17198. func (c *EC2) ModifyVolumeAttribute(input *ModifyVolumeAttributeInput) (*ModifyVolumeAttributeOutput, error) {
  17199. req, out := c.ModifyVolumeAttributeRequest(input)
  17200. return out, req.Send()
  17201. }
  17202. // ModifyVolumeAttributeWithContext is the same as ModifyVolumeAttribute with the addition of
  17203. // the ability to pass a context and additional request options.
  17204. //
  17205. // See ModifyVolumeAttribute for details on how to use this API operation.
  17206. //
  17207. // The context must be non-nil and will be used for request cancellation. If
  17208. // the context is nil a panic will occur. In the future the SDK may create
  17209. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17210. // for more information on using Contexts.
  17211. func (c *EC2) ModifyVolumeAttributeWithContext(ctx aws.Context, input *ModifyVolumeAttributeInput, opts ...request.Option) (*ModifyVolumeAttributeOutput, error) {
  17212. req, out := c.ModifyVolumeAttributeRequest(input)
  17213. req.SetContext(ctx)
  17214. req.ApplyOptions(opts...)
  17215. return out, req.Send()
  17216. }
  17217. const opModifyVpcAttribute = "ModifyVpcAttribute"
  17218. // ModifyVpcAttributeRequest generates a "aws/request.Request" representing the
  17219. // client's request for the ModifyVpcAttribute operation. The "output" return
  17220. // value will be populated with the request's response once the request complets
  17221. // successfuly.
  17222. //
  17223. // Use "Send" method on the returned Request to send the API call to the service.
  17224. // the "output" return value is not valid until after Send returns without error.
  17225. //
  17226. // See ModifyVpcAttribute for more information on using the ModifyVpcAttribute
  17227. // API call, and error handling.
  17228. //
  17229. // This method is useful when you want to inject custom logic or configuration
  17230. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17231. //
  17232. //
  17233. // // Example sending a request using the ModifyVpcAttributeRequest method.
  17234. // req, resp := client.ModifyVpcAttributeRequest(params)
  17235. //
  17236. // err := req.Send()
  17237. // if err == nil { // resp is now filled
  17238. // fmt.Println(resp)
  17239. // }
  17240. //
  17241. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcAttribute
  17242. func (c *EC2) ModifyVpcAttributeRequest(input *ModifyVpcAttributeInput) (req *request.Request, output *ModifyVpcAttributeOutput) {
  17243. op := &request.Operation{
  17244. Name: opModifyVpcAttribute,
  17245. HTTPMethod: "POST",
  17246. HTTPPath: "/",
  17247. }
  17248. if input == nil {
  17249. input = &ModifyVpcAttributeInput{}
  17250. }
  17251. output = &ModifyVpcAttributeOutput{}
  17252. req = c.newRequest(op, input, output)
  17253. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  17254. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  17255. return
  17256. }
  17257. // ModifyVpcAttribute API operation for Amazon Elastic Compute Cloud.
  17258. //
  17259. // Modifies the specified attribute of the specified VPC.
  17260. //
  17261. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17262. // with awserr.Error's Code and Message methods to get detailed information about
  17263. // the error.
  17264. //
  17265. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17266. // API operation ModifyVpcAttribute for usage and error information.
  17267. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcAttribute
  17268. func (c *EC2) ModifyVpcAttribute(input *ModifyVpcAttributeInput) (*ModifyVpcAttributeOutput, error) {
  17269. req, out := c.ModifyVpcAttributeRequest(input)
  17270. return out, req.Send()
  17271. }
  17272. // ModifyVpcAttributeWithContext is the same as ModifyVpcAttribute with the addition of
  17273. // the ability to pass a context and additional request options.
  17274. //
  17275. // See ModifyVpcAttribute for details on how to use this API operation.
  17276. //
  17277. // The context must be non-nil and will be used for request cancellation. If
  17278. // the context is nil a panic will occur. In the future the SDK may create
  17279. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17280. // for more information on using Contexts.
  17281. func (c *EC2) ModifyVpcAttributeWithContext(ctx aws.Context, input *ModifyVpcAttributeInput, opts ...request.Option) (*ModifyVpcAttributeOutput, error) {
  17282. req, out := c.ModifyVpcAttributeRequest(input)
  17283. req.SetContext(ctx)
  17284. req.ApplyOptions(opts...)
  17285. return out, req.Send()
  17286. }
  17287. const opModifyVpcEndpoint = "ModifyVpcEndpoint"
  17288. // ModifyVpcEndpointRequest generates a "aws/request.Request" representing the
  17289. // client's request for the ModifyVpcEndpoint operation. The "output" return
  17290. // value will be populated with the request's response once the request complets
  17291. // successfuly.
  17292. //
  17293. // Use "Send" method on the returned Request to send the API call to the service.
  17294. // the "output" return value is not valid until after Send returns without error.
  17295. //
  17296. // See ModifyVpcEndpoint for more information on using the ModifyVpcEndpoint
  17297. // API call, and error handling.
  17298. //
  17299. // This method is useful when you want to inject custom logic or configuration
  17300. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17301. //
  17302. //
  17303. // // Example sending a request using the ModifyVpcEndpointRequest method.
  17304. // req, resp := client.ModifyVpcEndpointRequest(params)
  17305. //
  17306. // err := req.Send()
  17307. // if err == nil { // resp is now filled
  17308. // fmt.Println(resp)
  17309. // }
  17310. //
  17311. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpoint
  17312. func (c *EC2) ModifyVpcEndpointRequest(input *ModifyVpcEndpointInput) (req *request.Request, output *ModifyVpcEndpointOutput) {
  17313. op := &request.Operation{
  17314. Name: opModifyVpcEndpoint,
  17315. HTTPMethod: "POST",
  17316. HTTPPath: "/",
  17317. }
  17318. if input == nil {
  17319. input = &ModifyVpcEndpointInput{}
  17320. }
  17321. output = &ModifyVpcEndpointOutput{}
  17322. req = c.newRequest(op, input, output)
  17323. return
  17324. }
  17325. // ModifyVpcEndpoint API operation for Amazon Elastic Compute Cloud.
  17326. //
  17327. // Modifies attributes of a specified VPC endpoint. The attributes that you
  17328. // can modify depend on the type of VPC endpoint (interface or gateway). For
  17329. // more information, see VPC Endpoints (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints.html)
  17330. // in the Amazon Virtual Private Cloud User Guide.
  17331. //
  17332. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17333. // with awserr.Error's Code and Message methods to get detailed information about
  17334. // the error.
  17335. //
  17336. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17337. // API operation ModifyVpcEndpoint for usage and error information.
  17338. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpoint
  17339. func (c *EC2) ModifyVpcEndpoint(input *ModifyVpcEndpointInput) (*ModifyVpcEndpointOutput, error) {
  17340. req, out := c.ModifyVpcEndpointRequest(input)
  17341. return out, req.Send()
  17342. }
  17343. // ModifyVpcEndpointWithContext is the same as ModifyVpcEndpoint with the addition of
  17344. // the ability to pass a context and additional request options.
  17345. //
  17346. // See ModifyVpcEndpoint for details on how to use this API operation.
  17347. //
  17348. // The context must be non-nil and will be used for request cancellation. If
  17349. // the context is nil a panic will occur. In the future the SDK may create
  17350. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17351. // for more information on using Contexts.
  17352. func (c *EC2) ModifyVpcEndpointWithContext(ctx aws.Context, input *ModifyVpcEndpointInput, opts ...request.Option) (*ModifyVpcEndpointOutput, error) {
  17353. req, out := c.ModifyVpcEndpointRequest(input)
  17354. req.SetContext(ctx)
  17355. req.ApplyOptions(opts...)
  17356. return out, req.Send()
  17357. }
  17358. const opModifyVpcEndpointConnectionNotification = "ModifyVpcEndpointConnectionNotification"
  17359. // ModifyVpcEndpointConnectionNotificationRequest generates a "aws/request.Request" representing the
  17360. // client's request for the ModifyVpcEndpointConnectionNotification operation. The "output" return
  17361. // value will be populated with the request's response once the request complets
  17362. // successfuly.
  17363. //
  17364. // Use "Send" method on the returned Request to send the API call to the service.
  17365. // the "output" return value is not valid until after Send returns without error.
  17366. //
  17367. // See ModifyVpcEndpointConnectionNotification for more information on using the ModifyVpcEndpointConnectionNotification
  17368. // API call, and error handling.
  17369. //
  17370. // This method is useful when you want to inject custom logic or configuration
  17371. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17372. //
  17373. //
  17374. // // Example sending a request using the ModifyVpcEndpointConnectionNotificationRequest method.
  17375. // req, resp := client.ModifyVpcEndpointConnectionNotificationRequest(params)
  17376. //
  17377. // err := req.Send()
  17378. // if err == nil { // resp is now filled
  17379. // fmt.Println(resp)
  17380. // }
  17381. //
  17382. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointConnectionNotification
  17383. func (c *EC2) ModifyVpcEndpointConnectionNotificationRequest(input *ModifyVpcEndpointConnectionNotificationInput) (req *request.Request, output *ModifyVpcEndpointConnectionNotificationOutput) {
  17384. op := &request.Operation{
  17385. Name: opModifyVpcEndpointConnectionNotification,
  17386. HTTPMethod: "POST",
  17387. HTTPPath: "/",
  17388. }
  17389. if input == nil {
  17390. input = &ModifyVpcEndpointConnectionNotificationInput{}
  17391. }
  17392. output = &ModifyVpcEndpointConnectionNotificationOutput{}
  17393. req = c.newRequest(op, input, output)
  17394. return
  17395. }
  17396. // ModifyVpcEndpointConnectionNotification API operation for Amazon Elastic Compute Cloud.
  17397. //
  17398. // Modifies a connection notification for VPC endpoint or VPC endpoint service.
  17399. // You can change the SNS topic for the notification, or the events for which
  17400. // to be notified.
  17401. //
  17402. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17403. // with awserr.Error's Code and Message methods to get detailed information about
  17404. // the error.
  17405. //
  17406. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17407. // API operation ModifyVpcEndpointConnectionNotification for usage and error information.
  17408. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointConnectionNotification
  17409. func (c *EC2) ModifyVpcEndpointConnectionNotification(input *ModifyVpcEndpointConnectionNotificationInput) (*ModifyVpcEndpointConnectionNotificationOutput, error) {
  17410. req, out := c.ModifyVpcEndpointConnectionNotificationRequest(input)
  17411. return out, req.Send()
  17412. }
  17413. // ModifyVpcEndpointConnectionNotificationWithContext is the same as ModifyVpcEndpointConnectionNotification with the addition of
  17414. // the ability to pass a context and additional request options.
  17415. //
  17416. // See ModifyVpcEndpointConnectionNotification for details on how to use this API operation.
  17417. //
  17418. // The context must be non-nil and will be used for request cancellation. If
  17419. // the context is nil a panic will occur. In the future the SDK may create
  17420. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17421. // for more information on using Contexts.
  17422. func (c *EC2) ModifyVpcEndpointConnectionNotificationWithContext(ctx aws.Context, input *ModifyVpcEndpointConnectionNotificationInput, opts ...request.Option) (*ModifyVpcEndpointConnectionNotificationOutput, error) {
  17423. req, out := c.ModifyVpcEndpointConnectionNotificationRequest(input)
  17424. req.SetContext(ctx)
  17425. req.ApplyOptions(opts...)
  17426. return out, req.Send()
  17427. }
  17428. const opModifyVpcEndpointServiceConfiguration = "ModifyVpcEndpointServiceConfiguration"
  17429. // ModifyVpcEndpointServiceConfigurationRequest generates a "aws/request.Request" representing the
  17430. // client's request for the ModifyVpcEndpointServiceConfiguration operation. The "output" return
  17431. // value will be populated with the request's response once the request complets
  17432. // successfuly.
  17433. //
  17434. // Use "Send" method on the returned Request to send the API call to the service.
  17435. // the "output" return value is not valid until after Send returns without error.
  17436. //
  17437. // See ModifyVpcEndpointServiceConfiguration for more information on using the ModifyVpcEndpointServiceConfiguration
  17438. // API call, and error handling.
  17439. //
  17440. // This method is useful when you want to inject custom logic or configuration
  17441. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17442. //
  17443. //
  17444. // // Example sending a request using the ModifyVpcEndpointServiceConfigurationRequest method.
  17445. // req, resp := client.ModifyVpcEndpointServiceConfigurationRequest(params)
  17446. //
  17447. // err := req.Send()
  17448. // if err == nil { // resp is now filled
  17449. // fmt.Println(resp)
  17450. // }
  17451. //
  17452. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServiceConfiguration
  17453. func (c *EC2) ModifyVpcEndpointServiceConfigurationRequest(input *ModifyVpcEndpointServiceConfigurationInput) (req *request.Request, output *ModifyVpcEndpointServiceConfigurationOutput) {
  17454. op := &request.Operation{
  17455. Name: opModifyVpcEndpointServiceConfiguration,
  17456. HTTPMethod: "POST",
  17457. HTTPPath: "/",
  17458. }
  17459. if input == nil {
  17460. input = &ModifyVpcEndpointServiceConfigurationInput{}
  17461. }
  17462. output = &ModifyVpcEndpointServiceConfigurationOutput{}
  17463. req = c.newRequest(op, input, output)
  17464. return
  17465. }
  17466. // ModifyVpcEndpointServiceConfiguration API operation for Amazon Elastic Compute Cloud.
  17467. //
  17468. // Modifies the attributes of your VPC endpoint service configuration. You can
  17469. // change the Network Load Balancers for your service, and you can specify whether
  17470. // acceptance is required for requests to connect to your endpoint service through
  17471. // an interface VPC endpoint.
  17472. //
  17473. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17474. // with awserr.Error's Code and Message methods to get detailed information about
  17475. // the error.
  17476. //
  17477. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17478. // API operation ModifyVpcEndpointServiceConfiguration for usage and error information.
  17479. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServiceConfiguration
  17480. func (c *EC2) ModifyVpcEndpointServiceConfiguration(input *ModifyVpcEndpointServiceConfigurationInput) (*ModifyVpcEndpointServiceConfigurationOutput, error) {
  17481. req, out := c.ModifyVpcEndpointServiceConfigurationRequest(input)
  17482. return out, req.Send()
  17483. }
  17484. // ModifyVpcEndpointServiceConfigurationWithContext is the same as ModifyVpcEndpointServiceConfiguration with the addition of
  17485. // the ability to pass a context and additional request options.
  17486. //
  17487. // See ModifyVpcEndpointServiceConfiguration for details on how to use this API operation.
  17488. //
  17489. // The context must be non-nil and will be used for request cancellation. If
  17490. // the context is nil a panic will occur. In the future the SDK may create
  17491. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17492. // for more information on using Contexts.
  17493. func (c *EC2) ModifyVpcEndpointServiceConfigurationWithContext(ctx aws.Context, input *ModifyVpcEndpointServiceConfigurationInput, opts ...request.Option) (*ModifyVpcEndpointServiceConfigurationOutput, error) {
  17494. req, out := c.ModifyVpcEndpointServiceConfigurationRequest(input)
  17495. req.SetContext(ctx)
  17496. req.ApplyOptions(opts...)
  17497. return out, req.Send()
  17498. }
  17499. const opModifyVpcEndpointServicePermissions = "ModifyVpcEndpointServicePermissions"
  17500. // ModifyVpcEndpointServicePermissionsRequest generates a "aws/request.Request" representing the
  17501. // client's request for the ModifyVpcEndpointServicePermissions operation. The "output" return
  17502. // value will be populated with the request's response once the request complets
  17503. // successfuly.
  17504. //
  17505. // Use "Send" method on the returned Request to send the API call to the service.
  17506. // the "output" return value is not valid until after Send returns without error.
  17507. //
  17508. // See ModifyVpcEndpointServicePermissions for more information on using the ModifyVpcEndpointServicePermissions
  17509. // API call, and error handling.
  17510. //
  17511. // This method is useful when you want to inject custom logic or configuration
  17512. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17513. //
  17514. //
  17515. // // Example sending a request using the ModifyVpcEndpointServicePermissionsRequest method.
  17516. // req, resp := client.ModifyVpcEndpointServicePermissionsRequest(params)
  17517. //
  17518. // err := req.Send()
  17519. // if err == nil { // resp is now filled
  17520. // fmt.Println(resp)
  17521. // }
  17522. //
  17523. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServicePermissions
  17524. func (c *EC2) ModifyVpcEndpointServicePermissionsRequest(input *ModifyVpcEndpointServicePermissionsInput) (req *request.Request, output *ModifyVpcEndpointServicePermissionsOutput) {
  17525. op := &request.Operation{
  17526. Name: opModifyVpcEndpointServicePermissions,
  17527. HTTPMethod: "POST",
  17528. HTTPPath: "/",
  17529. }
  17530. if input == nil {
  17531. input = &ModifyVpcEndpointServicePermissionsInput{}
  17532. }
  17533. output = &ModifyVpcEndpointServicePermissionsOutput{}
  17534. req = c.newRequest(op, input, output)
  17535. return
  17536. }
  17537. // ModifyVpcEndpointServicePermissions API operation for Amazon Elastic Compute Cloud.
  17538. //
  17539. // Modifies the permissions for your VPC endpoint service. You can add or remove
  17540. // permissions for service consumers (IAM users, IAM roles, and AWS accounts)
  17541. // to discover your endpoint service.
  17542. //
  17543. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17544. // with awserr.Error's Code and Message methods to get detailed information about
  17545. // the error.
  17546. //
  17547. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17548. // API operation ModifyVpcEndpointServicePermissions for usage and error information.
  17549. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServicePermissions
  17550. func (c *EC2) ModifyVpcEndpointServicePermissions(input *ModifyVpcEndpointServicePermissionsInput) (*ModifyVpcEndpointServicePermissionsOutput, error) {
  17551. req, out := c.ModifyVpcEndpointServicePermissionsRequest(input)
  17552. return out, req.Send()
  17553. }
  17554. // ModifyVpcEndpointServicePermissionsWithContext is the same as ModifyVpcEndpointServicePermissions with the addition of
  17555. // the ability to pass a context and additional request options.
  17556. //
  17557. // See ModifyVpcEndpointServicePermissions for details on how to use this API operation.
  17558. //
  17559. // The context must be non-nil and will be used for request cancellation. If
  17560. // the context is nil a panic will occur. In the future the SDK may create
  17561. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17562. // for more information on using Contexts.
  17563. func (c *EC2) ModifyVpcEndpointServicePermissionsWithContext(ctx aws.Context, input *ModifyVpcEndpointServicePermissionsInput, opts ...request.Option) (*ModifyVpcEndpointServicePermissionsOutput, error) {
  17564. req, out := c.ModifyVpcEndpointServicePermissionsRequest(input)
  17565. req.SetContext(ctx)
  17566. req.ApplyOptions(opts...)
  17567. return out, req.Send()
  17568. }
  17569. const opModifyVpcPeeringConnectionOptions = "ModifyVpcPeeringConnectionOptions"
  17570. // ModifyVpcPeeringConnectionOptionsRequest generates a "aws/request.Request" representing the
  17571. // client's request for the ModifyVpcPeeringConnectionOptions operation. The "output" return
  17572. // value will be populated with the request's response once the request complets
  17573. // successfuly.
  17574. //
  17575. // Use "Send" method on the returned Request to send the API call to the service.
  17576. // the "output" return value is not valid until after Send returns without error.
  17577. //
  17578. // See ModifyVpcPeeringConnectionOptions for more information on using the ModifyVpcPeeringConnectionOptions
  17579. // API call, and error handling.
  17580. //
  17581. // This method is useful when you want to inject custom logic or configuration
  17582. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17583. //
  17584. //
  17585. // // Example sending a request using the ModifyVpcPeeringConnectionOptionsRequest method.
  17586. // req, resp := client.ModifyVpcPeeringConnectionOptionsRequest(params)
  17587. //
  17588. // err := req.Send()
  17589. // if err == nil { // resp is now filled
  17590. // fmt.Println(resp)
  17591. // }
  17592. //
  17593. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcPeeringConnectionOptions
  17594. func (c *EC2) ModifyVpcPeeringConnectionOptionsRequest(input *ModifyVpcPeeringConnectionOptionsInput) (req *request.Request, output *ModifyVpcPeeringConnectionOptionsOutput) {
  17595. op := &request.Operation{
  17596. Name: opModifyVpcPeeringConnectionOptions,
  17597. HTTPMethod: "POST",
  17598. HTTPPath: "/",
  17599. }
  17600. if input == nil {
  17601. input = &ModifyVpcPeeringConnectionOptionsInput{}
  17602. }
  17603. output = &ModifyVpcPeeringConnectionOptionsOutput{}
  17604. req = c.newRequest(op, input, output)
  17605. return
  17606. }
  17607. // ModifyVpcPeeringConnectionOptions API operation for Amazon Elastic Compute Cloud.
  17608. //
  17609. // Modifies the VPC peering connection options on one side of a VPC peering
  17610. // connection. You can do the following:
  17611. //
  17612. // * Enable/disable communication over the peering connection between an
  17613. // EC2-Classic instance that's linked to your VPC (using ClassicLink) and
  17614. // instances in the peer VPC.
  17615. //
  17616. // * Enable/disable communication over the peering connection between instances
  17617. // in your VPC and an EC2-Classic instance that's linked to the peer VPC.
  17618. //
  17619. // * Enable/disable a local VPC to resolve public DNS hostnames to private
  17620. // IP addresses when queried from instances in the peer VPC.
  17621. //
  17622. // If the peered VPCs are in different accounts, each owner must initiate a
  17623. // separate request to modify the peering connection options, depending on whether
  17624. // their VPC was the requester or accepter for the VPC peering connection. If
  17625. // the peered VPCs are in the same account, you can modify the requester and
  17626. // accepter options in the same request. To confirm which VPC is the accepter
  17627. // and requester for a VPC peering connection, use the DescribeVpcPeeringConnections
  17628. // command.
  17629. //
  17630. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17631. // with awserr.Error's Code and Message methods to get detailed information about
  17632. // the error.
  17633. //
  17634. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17635. // API operation ModifyVpcPeeringConnectionOptions for usage and error information.
  17636. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcPeeringConnectionOptions
  17637. func (c *EC2) ModifyVpcPeeringConnectionOptions(input *ModifyVpcPeeringConnectionOptionsInput) (*ModifyVpcPeeringConnectionOptionsOutput, error) {
  17638. req, out := c.ModifyVpcPeeringConnectionOptionsRequest(input)
  17639. return out, req.Send()
  17640. }
  17641. // ModifyVpcPeeringConnectionOptionsWithContext is the same as ModifyVpcPeeringConnectionOptions with the addition of
  17642. // the ability to pass a context and additional request options.
  17643. //
  17644. // See ModifyVpcPeeringConnectionOptions for details on how to use this API operation.
  17645. //
  17646. // The context must be non-nil and will be used for request cancellation. If
  17647. // the context is nil a panic will occur. In the future the SDK may create
  17648. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17649. // for more information on using Contexts.
  17650. func (c *EC2) ModifyVpcPeeringConnectionOptionsWithContext(ctx aws.Context, input *ModifyVpcPeeringConnectionOptionsInput, opts ...request.Option) (*ModifyVpcPeeringConnectionOptionsOutput, error) {
  17651. req, out := c.ModifyVpcPeeringConnectionOptionsRequest(input)
  17652. req.SetContext(ctx)
  17653. req.ApplyOptions(opts...)
  17654. return out, req.Send()
  17655. }
  17656. const opModifyVpcTenancy = "ModifyVpcTenancy"
  17657. // ModifyVpcTenancyRequest generates a "aws/request.Request" representing the
  17658. // client's request for the ModifyVpcTenancy operation. The "output" return
  17659. // value will be populated with the request's response once the request complets
  17660. // successfuly.
  17661. //
  17662. // Use "Send" method on the returned Request to send the API call to the service.
  17663. // the "output" return value is not valid until after Send returns without error.
  17664. //
  17665. // See ModifyVpcTenancy for more information on using the ModifyVpcTenancy
  17666. // API call, and error handling.
  17667. //
  17668. // This method is useful when you want to inject custom logic or configuration
  17669. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17670. //
  17671. //
  17672. // // Example sending a request using the ModifyVpcTenancyRequest method.
  17673. // req, resp := client.ModifyVpcTenancyRequest(params)
  17674. //
  17675. // err := req.Send()
  17676. // if err == nil { // resp is now filled
  17677. // fmt.Println(resp)
  17678. // }
  17679. //
  17680. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcTenancy
  17681. func (c *EC2) ModifyVpcTenancyRequest(input *ModifyVpcTenancyInput) (req *request.Request, output *ModifyVpcTenancyOutput) {
  17682. op := &request.Operation{
  17683. Name: opModifyVpcTenancy,
  17684. HTTPMethod: "POST",
  17685. HTTPPath: "/",
  17686. }
  17687. if input == nil {
  17688. input = &ModifyVpcTenancyInput{}
  17689. }
  17690. output = &ModifyVpcTenancyOutput{}
  17691. req = c.newRequest(op, input, output)
  17692. return
  17693. }
  17694. // ModifyVpcTenancy API operation for Amazon Elastic Compute Cloud.
  17695. //
  17696. // Modifies the instance tenancy attribute of the specified VPC. You can change
  17697. // the instance tenancy attribute of a VPC to default only. You cannot change
  17698. // the instance tenancy attribute to dedicated.
  17699. //
  17700. // After you modify the tenancy of the VPC, any new instances that you launch
  17701. // into the VPC have a tenancy of default, unless you specify otherwise during
  17702. // launch. The tenancy of any existing instances in the VPC is not affected.
  17703. //
  17704. // For more information about Dedicated Instances, see Dedicated Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html)
  17705. // in the Amazon Elastic Compute Cloud User Guide.
  17706. //
  17707. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17708. // with awserr.Error's Code and Message methods to get detailed information about
  17709. // the error.
  17710. //
  17711. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17712. // API operation ModifyVpcTenancy for usage and error information.
  17713. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcTenancy
  17714. func (c *EC2) ModifyVpcTenancy(input *ModifyVpcTenancyInput) (*ModifyVpcTenancyOutput, error) {
  17715. req, out := c.ModifyVpcTenancyRequest(input)
  17716. return out, req.Send()
  17717. }
  17718. // ModifyVpcTenancyWithContext is the same as ModifyVpcTenancy with the addition of
  17719. // the ability to pass a context and additional request options.
  17720. //
  17721. // See ModifyVpcTenancy for details on how to use this API operation.
  17722. //
  17723. // The context must be non-nil and will be used for request cancellation. If
  17724. // the context is nil a panic will occur. In the future the SDK may create
  17725. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17726. // for more information on using Contexts.
  17727. func (c *EC2) ModifyVpcTenancyWithContext(ctx aws.Context, input *ModifyVpcTenancyInput, opts ...request.Option) (*ModifyVpcTenancyOutput, error) {
  17728. req, out := c.ModifyVpcTenancyRequest(input)
  17729. req.SetContext(ctx)
  17730. req.ApplyOptions(opts...)
  17731. return out, req.Send()
  17732. }
  17733. const opMonitorInstances = "MonitorInstances"
  17734. // MonitorInstancesRequest generates a "aws/request.Request" representing the
  17735. // client's request for the MonitorInstances operation. The "output" return
  17736. // value will be populated with the request's response once the request complets
  17737. // successfuly.
  17738. //
  17739. // Use "Send" method on the returned Request to send the API call to the service.
  17740. // the "output" return value is not valid until after Send returns without error.
  17741. //
  17742. // See MonitorInstances for more information on using the MonitorInstances
  17743. // API call, and error handling.
  17744. //
  17745. // This method is useful when you want to inject custom logic or configuration
  17746. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17747. //
  17748. //
  17749. // // Example sending a request using the MonitorInstancesRequest method.
  17750. // req, resp := client.MonitorInstancesRequest(params)
  17751. //
  17752. // err := req.Send()
  17753. // if err == nil { // resp is now filled
  17754. // fmt.Println(resp)
  17755. // }
  17756. //
  17757. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MonitorInstances
  17758. func (c *EC2) MonitorInstancesRequest(input *MonitorInstancesInput) (req *request.Request, output *MonitorInstancesOutput) {
  17759. op := &request.Operation{
  17760. Name: opMonitorInstances,
  17761. HTTPMethod: "POST",
  17762. HTTPPath: "/",
  17763. }
  17764. if input == nil {
  17765. input = &MonitorInstancesInput{}
  17766. }
  17767. output = &MonitorInstancesOutput{}
  17768. req = c.newRequest(op, input, output)
  17769. return
  17770. }
  17771. // MonitorInstances API operation for Amazon Elastic Compute Cloud.
  17772. //
  17773. // Enables detailed monitoring for a running instance. Otherwise, basic monitoring
  17774. // is enabled. For more information, see Monitoring Your Instances and Volumes
  17775. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html)
  17776. // in the Amazon Elastic Compute Cloud User Guide.
  17777. //
  17778. // To disable detailed monitoring, see .
  17779. //
  17780. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17781. // with awserr.Error's Code and Message methods to get detailed information about
  17782. // the error.
  17783. //
  17784. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17785. // API operation MonitorInstances for usage and error information.
  17786. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MonitorInstances
  17787. func (c *EC2) MonitorInstances(input *MonitorInstancesInput) (*MonitorInstancesOutput, error) {
  17788. req, out := c.MonitorInstancesRequest(input)
  17789. return out, req.Send()
  17790. }
  17791. // MonitorInstancesWithContext is the same as MonitorInstances with the addition of
  17792. // the ability to pass a context and additional request options.
  17793. //
  17794. // See MonitorInstances for details on how to use this API operation.
  17795. //
  17796. // The context must be non-nil and will be used for request cancellation. If
  17797. // the context is nil a panic will occur. In the future the SDK may create
  17798. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17799. // for more information on using Contexts.
  17800. func (c *EC2) MonitorInstancesWithContext(ctx aws.Context, input *MonitorInstancesInput, opts ...request.Option) (*MonitorInstancesOutput, error) {
  17801. req, out := c.MonitorInstancesRequest(input)
  17802. req.SetContext(ctx)
  17803. req.ApplyOptions(opts...)
  17804. return out, req.Send()
  17805. }
  17806. const opMoveAddressToVpc = "MoveAddressToVpc"
  17807. // MoveAddressToVpcRequest generates a "aws/request.Request" representing the
  17808. // client's request for the MoveAddressToVpc operation. The "output" return
  17809. // value will be populated with the request's response once the request complets
  17810. // successfuly.
  17811. //
  17812. // Use "Send" method on the returned Request to send the API call to the service.
  17813. // the "output" return value is not valid until after Send returns without error.
  17814. //
  17815. // See MoveAddressToVpc for more information on using the MoveAddressToVpc
  17816. // API call, and error handling.
  17817. //
  17818. // This method is useful when you want to inject custom logic or configuration
  17819. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17820. //
  17821. //
  17822. // // Example sending a request using the MoveAddressToVpcRequest method.
  17823. // req, resp := client.MoveAddressToVpcRequest(params)
  17824. //
  17825. // err := req.Send()
  17826. // if err == nil { // resp is now filled
  17827. // fmt.Println(resp)
  17828. // }
  17829. //
  17830. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MoveAddressToVpc
  17831. func (c *EC2) MoveAddressToVpcRequest(input *MoveAddressToVpcInput) (req *request.Request, output *MoveAddressToVpcOutput) {
  17832. op := &request.Operation{
  17833. Name: opMoveAddressToVpc,
  17834. HTTPMethod: "POST",
  17835. HTTPPath: "/",
  17836. }
  17837. if input == nil {
  17838. input = &MoveAddressToVpcInput{}
  17839. }
  17840. output = &MoveAddressToVpcOutput{}
  17841. req = c.newRequest(op, input, output)
  17842. return
  17843. }
  17844. // MoveAddressToVpc API operation for Amazon Elastic Compute Cloud.
  17845. //
  17846. // Moves an Elastic IP address from the EC2-Classic platform to the EC2-VPC
  17847. // platform. The Elastic IP address must be allocated to your account for more
  17848. // than 24 hours, and it must not be associated with an instance. After the
  17849. // Elastic IP address is moved, it is no longer available for use in the EC2-Classic
  17850. // platform, unless you move it back using the RestoreAddressToClassic request.
  17851. // You cannot move an Elastic IP address that was originally allocated for use
  17852. // in the EC2-VPC platform to the EC2-Classic platform.
  17853. //
  17854. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17855. // with awserr.Error's Code and Message methods to get detailed information about
  17856. // the error.
  17857. //
  17858. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17859. // API operation MoveAddressToVpc for usage and error information.
  17860. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MoveAddressToVpc
  17861. func (c *EC2) MoveAddressToVpc(input *MoveAddressToVpcInput) (*MoveAddressToVpcOutput, error) {
  17862. req, out := c.MoveAddressToVpcRequest(input)
  17863. return out, req.Send()
  17864. }
  17865. // MoveAddressToVpcWithContext is the same as MoveAddressToVpc with the addition of
  17866. // the ability to pass a context and additional request options.
  17867. //
  17868. // See MoveAddressToVpc for details on how to use this API operation.
  17869. //
  17870. // The context must be non-nil and will be used for request cancellation. If
  17871. // the context is nil a panic will occur. In the future the SDK may create
  17872. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17873. // for more information on using Contexts.
  17874. func (c *EC2) MoveAddressToVpcWithContext(ctx aws.Context, input *MoveAddressToVpcInput, opts ...request.Option) (*MoveAddressToVpcOutput, error) {
  17875. req, out := c.MoveAddressToVpcRequest(input)
  17876. req.SetContext(ctx)
  17877. req.ApplyOptions(opts...)
  17878. return out, req.Send()
  17879. }
  17880. const opPurchaseHostReservation = "PurchaseHostReservation"
  17881. // PurchaseHostReservationRequest generates a "aws/request.Request" representing the
  17882. // client's request for the PurchaseHostReservation operation. The "output" return
  17883. // value will be populated with the request's response once the request complets
  17884. // successfuly.
  17885. //
  17886. // Use "Send" method on the returned Request to send the API call to the service.
  17887. // the "output" return value is not valid until after Send returns without error.
  17888. //
  17889. // See PurchaseHostReservation for more information on using the PurchaseHostReservation
  17890. // API call, and error handling.
  17891. //
  17892. // This method is useful when you want to inject custom logic or configuration
  17893. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17894. //
  17895. //
  17896. // // Example sending a request using the PurchaseHostReservationRequest method.
  17897. // req, resp := client.PurchaseHostReservationRequest(params)
  17898. //
  17899. // err := req.Send()
  17900. // if err == nil { // resp is now filled
  17901. // fmt.Println(resp)
  17902. // }
  17903. //
  17904. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseHostReservation
  17905. func (c *EC2) PurchaseHostReservationRequest(input *PurchaseHostReservationInput) (req *request.Request, output *PurchaseHostReservationOutput) {
  17906. op := &request.Operation{
  17907. Name: opPurchaseHostReservation,
  17908. HTTPMethod: "POST",
  17909. HTTPPath: "/",
  17910. }
  17911. if input == nil {
  17912. input = &PurchaseHostReservationInput{}
  17913. }
  17914. output = &PurchaseHostReservationOutput{}
  17915. req = c.newRequest(op, input, output)
  17916. return
  17917. }
  17918. // PurchaseHostReservation API operation for Amazon Elastic Compute Cloud.
  17919. //
  17920. // Purchase a reservation with configurations that match those of your Dedicated
  17921. // Host. You must have active Dedicated Hosts in your account before you purchase
  17922. // a reservation. This action results in the specified reservation being purchased
  17923. // and charged to your account.
  17924. //
  17925. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17926. // with awserr.Error's Code and Message methods to get detailed information about
  17927. // the error.
  17928. //
  17929. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17930. // API operation PurchaseHostReservation for usage and error information.
  17931. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseHostReservation
  17932. func (c *EC2) PurchaseHostReservation(input *PurchaseHostReservationInput) (*PurchaseHostReservationOutput, error) {
  17933. req, out := c.PurchaseHostReservationRequest(input)
  17934. return out, req.Send()
  17935. }
  17936. // PurchaseHostReservationWithContext is the same as PurchaseHostReservation with the addition of
  17937. // the ability to pass a context and additional request options.
  17938. //
  17939. // See PurchaseHostReservation for details on how to use this API operation.
  17940. //
  17941. // The context must be non-nil and will be used for request cancellation. If
  17942. // the context is nil a panic will occur. In the future the SDK may create
  17943. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17944. // for more information on using Contexts.
  17945. func (c *EC2) PurchaseHostReservationWithContext(ctx aws.Context, input *PurchaseHostReservationInput, opts ...request.Option) (*PurchaseHostReservationOutput, error) {
  17946. req, out := c.PurchaseHostReservationRequest(input)
  17947. req.SetContext(ctx)
  17948. req.ApplyOptions(opts...)
  17949. return out, req.Send()
  17950. }
  17951. const opPurchaseReservedInstancesOffering = "PurchaseReservedInstancesOffering"
  17952. // PurchaseReservedInstancesOfferingRequest generates a "aws/request.Request" representing the
  17953. // client's request for the PurchaseReservedInstancesOffering operation. The "output" return
  17954. // value will be populated with the request's response once the request complets
  17955. // successfuly.
  17956. //
  17957. // Use "Send" method on the returned Request to send the API call to the service.
  17958. // the "output" return value is not valid until after Send returns without error.
  17959. //
  17960. // See PurchaseReservedInstancesOffering for more information on using the PurchaseReservedInstancesOffering
  17961. // API call, and error handling.
  17962. //
  17963. // This method is useful when you want to inject custom logic or configuration
  17964. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17965. //
  17966. //
  17967. // // Example sending a request using the PurchaseReservedInstancesOfferingRequest method.
  17968. // req, resp := client.PurchaseReservedInstancesOfferingRequest(params)
  17969. //
  17970. // err := req.Send()
  17971. // if err == nil { // resp is now filled
  17972. // fmt.Println(resp)
  17973. // }
  17974. //
  17975. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseReservedInstancesOffering
  17976. func (c *EC2) PurchaseReservedInstancesOfferingRequest(input *PurchaseReservedInstancesOfferingInput) (req *request.Request, output *PurchaseReservedInstancesOfferingOutput) {
  17977. op := &request.Operation{
  17978. Name: opPurchaseReservedInstancesOffering,
  17979. HTTPMethod: "POST",
  17980. HTTPPath: "/",
  17981. }
  17982. if input == nil {
  17983. input = &PurchaseReservedInstancesOfferingInput{}
  17984. }
  17985. output = &PurchaseReservedInstancesOfferingOutput{}
  17986. req = c.newRequest(op, input, output)
  17987. return
  17988. }
  17989. // PurchaseReservedInstancesOffering API operation for Amazon Elastic Compute Cloud.
  17990. //
  17991. // Purchases a Reserved Instance for use with your account. With Reserved Instances,
  17992. // you pay a lower hourly rate compared to On-Demand instance pricing.
  17993. //
  17994. // Use DescribeReservedInstancesOfferings to get a list of Reserved Instance
  17995. // offerings that match your specifications. After you've purchased a Reserved
  17996. // Instance, you can check for your new Reserved Instance with DescribeReservedInstances.
  17997. //
  17998. // For more information, see Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html)
  17999. // and Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  18000. // in the Amazon Elastic Compute Cloud User Guide.
  18001. //
  18002. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18003. // with awserr.Error's Code and Message methods to get detailed information about
  18004. // the error.
  18005. //
  18006. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18007. // API operation PurchaseReservedInstancesOffering for usage and error information.
  18008. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseReservedInstancesOffering
  18009. func (c *EC2) PurchaseReservedInstancesOffering(input *PurchaseReservedInstancesOfferingInput) (*PurchaseReservedInstancesOfferingOutput, error) {
  18010. req, out := c.PurchaseReservedInstancesOfferingRequest(input)
  18011. return out, req.Send()
  18012. }
  18013. // PurchaseReservedInstancesOfferingWithContext is the same as PurchaseReservedInstancesOffering with the addition of
  18014. // the ability to pass a context and additional request options.
  18015. //
  18016. // See PurchaseReservedInstancesOffering for details on how to use this API operation.
  18017. //
  18018. // The context must be non-nil and will be used for request cancellation. If
  18019. // the context is nil a panic will occur. In the future the SDK may create
  18020. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18021. // for more information on using Contexts.
  18022. func (c *EC2) PurchaseReservedInstancesOfferingWithContext(ctx aws.Context, input *PurchaseReservedInstancesOfferingInput, opts ...request.Option) (*PurchaseReservedInstancesOfferingOutput, error) {
  18023. req, out := c.PurchaseReservedInstancesOfferingRequest(input)
  18024. req.SetContext(ctx)
  18025. req.ApplyOptions(opts...)
  18026. return out, req.Send()
  18027. }
  18028. const opPurchaseScheduledInstances = "PurchaseScheduledInstances"
  18029. // PurchaseScheduledInstancesRequest generates a "aws/request.Request" representing the
  18030. // client's request for the PurchaseScheduledInstances operation. The "output" return
  18031. // value will be populated with the request's response once the request complets
  18032. // successfuly.
  18033. //
  18034. // Use "Send" method on the returned Request to send the API call to the service.
  18035. // the "output" return value is not valid until after Send returns without error.
  18036. //
  18037. // See PurchaseScheduledInstances for more information on using the PurchaseScheduledInstances
  18038. // API call, and error handling.
  18039. //
  18040. // This method is useful when you want to inject custom logic or configuration
  18041. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18042. //
  18043. //
  18044. // // Example sending a request using the PurchaseScheduledInstancesRequest method.
  18045. // req, resp := client.PurchaseScheduledInstancesRequest(params)
  18046. //
  18047. // err := req.Send()
  18048. // if err == nil { // resp is now filled
  18049. // fmt.Println(resp)
  18050. // }
  18051. //
  18052. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseScheduledInstances
  18053. func (c *EC2) PurchaseScheduledInstancesRequest(input *PurchaseScheduledInstancesInput) (req *request.Request, output *PurchaseScheduledInstancesOutput) {
  18054. op := &request.Operation{
  18055. Name: opPurchaseScheduledInstances,
  18056. HTTPMethod: "POST",
  18057. HTTPPath: "/",
  18058. }
  18059. if input == nil {
  18060. input = &PurchaseScheduledInstancesInput{}
  18061. }
  18062. output = &PurchaseScheduledInstancesOutput{}
  18063. req = c.newRequest(op, input, output)
  18064. return
  18065. }
  18066. // PurchaseScheduledInstances API operation for Amazon Elastic Compute Cloud.
  18067. //
  18068. // Purchases one or more Scheduled Instances with the specified schedule.
  18069. //
  18070. // Scheduled Instances enable you to purchase Amazon EC2 compute capacity by
  18071. // the hour for a one-year term. Before you can purchase a Scheduled Instance,
  18072. // you must call DescribeScheduledInstanceAvailability to check for available
  18073. // schedules and obtain a purchase token. After you purchase a Scheduled Instance,
  18074. // you must call RunScheduledInstances during each scheduled time period.
  18075. //
  18076. // After you purchase a Scheduled Instance, you can't cancel, modify, or resell
  18077. // your purchase.
  18078. //
  18079. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18080. // with awserr.Error's Code and Message methods to get detailed information about
  18081. // the error.
  18082. //
  18083. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18084. // API operation PurchaseScheduledInstances for usage and error information.
  18085. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseScheduledInstances
  18086. func (c *EC2) PurchaseScheduledInstances(input *PurchaseScheduledInstancesInput) (*PurchaseScheduledInstancesOutput, error) {
  18087. req, out := c.PurchaseScheduledInstancesRequest(input)
  18088. return out, req.Send()
  18089. }
  18090. // PurchaseScheduledInstancesWithContext is the same as PurchaseScheduledInstances with the addition of
  18091. // the ability to pass a context and additional request options.
  18092. //
  18093. // See PurchaseScheduledInstances for details on how to use this API operation.
  18094. //
  18095. // The context must be non-nil and will be used for request cancellation. If
  18096. // the context is nil a panic will occur. In the future the SDK may create
  18097. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18098. // for more information on using Contexts.
  18099. func (c *EC2) PurchaseScheduledInstancesWithContext(ctx aws.Context, input *PurchaseScheduledInstancesInput, opts ...request.Option) (*PurchaseScheduledInstancesOutput, error) {
  18100. req, out := c.PurchaseScheduledInstancesRequest(input)
  18101. req.SetContext(ctx)
  18102. req.ApplyOptions(opts...)
  18103. return out, req.Send()
  18104. }
  18105. const opRebootInstances = "RebootInstances"
  18106. // RebootInstancesRequest generates a "aws/request.Request" representing the
  18107. // client's request for the RebootInstances operation. The "output" return
  18108. // value will be populated with the request's response once the request complets
  18109. // successfuly.
  18110. //
  18111. // Use "Send" method on the returned Request to send the API call to the service.
  18112. // the "output" return value is not valid until after Send returns without error.
  18113. //
  18114. // See RebootInstances for more information on using the RebootInstances
  18115. // API call, and error handling.
  18116. //
  18117. // This method is useful when you want to inject custom logic or configuration
  18118. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18119. //
  18120. //
  18121. // // Example sending a request using the RebootInstancesRequest method.
  18122. // req, resp := client.RebootInstancesRequest(params)
  18123. //
  18124. // err := req.Send()
  18125. // if err == nil { // resp is now filled
  18126. // fmt.Println(resp)
  18127. // }
  18128. //
  18129. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RebootInstances
  18130. func (c *EC2) RebootInstancesRequest(input *RebootInstancesInput) (req *request.Request, output *RebootInstancesOutput) {
  18131. op := &request.Operation{
  18132. Name: opRebootInstances,
  18133. HTTPMethod: "POST",
  18134. HTTPPath: "/",
  18135. }
  18136. if input == nil {
  18137. input = &RebootInstancesInput{}
  18138. }
  18139. output = &RebootInstancesOutput{}
  18140. req = c.newRequest(op, input, output)
  18141. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  18142. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  18143. return
  18144. }
  18145. // RebootInstances API operation for Amazon Elastic Compute Cloud.
  18146. //
  18147. // Requests a reboot of one or more instances. This operation is asynchronous;
  18148. // it only queues a request to reboot the specified instances. The operation
  18149. // succeeds if the instances are valid and belong to you. Requests to reboot
  18150. // terminated instances are ignored.
  18151. //
  18152. // If an instance does not cleanly shut down within four minutes, Amazon EC2
  18153. // performs a hard reboot.
  18154. //
  18155. // For more information about troubleshooting, see Getting Console Output and
  18156. // Rebooting Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html)
  18157. // in the Amazon Elastic Compute Cloud User Guide.
  18158. //
  18159. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18160. // with awserr.Error's Code and Message methods to get detailed information about
  18161. // the error.
  18162. //
  18163. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18164. // API operation RebootInstances for usage and error information.
  18165. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RebootInstances
  18166. func (c *EC2) RebootInstances(input *RebootInstancesInput) (*RebootInstancesOutput, error) {
  18167. req, out := c.RebootInstancesRequest(input)
  18168. return out, req.Send()
  18169. }
  18170. // RebootInstancesWithContext is the same as RebootInstances with the addition of
  18171. // the ability to pass a context and additional request options.
  18172. //
  18173. // See RebootInstances for details on how to use this API operation.
  18174. //
  18175. // The context must be non-nil and will be used for request cancellation. If
  18176. // the context is nil a panic will occur. In the future the SDK may create
  18177. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18178. // for more information on using Contexts.
  18179. func (c *EC2) RebootInstancesWithContext(ctx aws.Context, input *RebootInstancesInput, opts ...request.Option) (*RebootInstancesOutput, error) {
  18180. req, out := c.RebootInstancesRequest(input)
  18181. req.SetContext(ctx)
  18182. req.ApplyOptions(opts...)
  18183. return out, req.Send()
  18184. }
  18185. const opRegisterImage = "RegisterImage"
  18186. // RegisterImageRequest generates a "aws/request.Request" representing the
  18187. // client's request for the RegisterImage operation. The "output" return
  18188. // value will be populated with the request's response once the request complets
  18189. // successfuly.
  18190. //
  18191. // Use "Send" method on the returned Request to send the API call to the service.
  18192. // the "output" return value is not valid until after Send returns without error.
  18193. //
  18194. // See RegisterImage for more information on using the RegisterImage
  18195. // API call, and error handling.
  18196. //
  18197. // This method is useful when you want to inject custom logic or configuration
  18198. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18199. //
  18200. //
  18201. // // Example sending a request using the RegisterImageRequest method.
  18202. // req, resp := client.RegisterImageRequest(params)
  18203. //
  18204. // err := req.Send()
  18205. // if err == nil { // resp is now filled
  18206. // fmt.Println(resp)
  18207. // }
  18208. //
  18209. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterImage
  18210. func (c *EC2) RegisterImageRequest(input *RegisterImageInput) (req *request.Request, output *RegisterImageOutput) {
  18211. op := &request.Operation{
  18212. Name: opRegisterImage,
  18213. HTTPMethod: "POST",
  18214. HTTPPath: "/",
  18215. }
  18216. if input == nil {
  18217. input = &RegisterImageInput{}
  18218. }
  18219. output = &RegisterImageOutput{}
  18220. req = c.newRequest(op, input, output)
  18221. return
  18222. }
  18223. // RegisterImage API operation for Amazon Elastic Compute Cloud.
  18224. //
  18225. // Registers an AMI. When you're creating an AMI, this is the final step you
  18226. // must complete before you can launch an instance from the AMI. For more information
  18227. // about creating AMIs, see Creating Your Own AMIs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami.html)
  18228. // in the Amazon Elastic Compute Cloud User Guide.
  18229. //
  18230. // For Amazon EBS-backed instances, CreateImage creates and registers the AMI
  18231. // in a single request, so you don't have to register the AMI yourself.
  18232. //
  18233. // You can also use RegisterImage to create an Amazon EBS-backed Linux AMI from
  18234. // a snapshot of a root device volume. You specify the snapshot using the block
  18235. // device mapping. For more information, see Launching a Linux Instance from
  18236. // a Backup (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-launch-snapshot.html)
  18237. // in the Amazon Elastic Compute Cloud User Guide.
  18238. //
  18239. // You can't register an image where a secondary (non-root) snapshot has AWS
  18240. // Marketplace product codes.
  18241. //
  18242. // Some Linux distributions, such as Red Hat Enterprise Linux (RHEL) and SUSE
  18243. // Linux Enterprise Server (SLES), use the EC2 billing product code associated
  18244. // with an AMI to verify the subscription status for package updates. Creating
  18245. // an AMI from an EBS snapshot does not maintain this billing code, and subsequent
  18246. // instances launched from such an AMI will not be able to connect to package
  18247. // update infrastructure. To create an AMI that must retain billing codes, see
  18248. // CreateImage.
  18249. //
  18250. // If needed, you can deregister an AMI at any time. Any modifications you make
  18251. // to an AMI backed by an instance store volume invalidates its registration.
  18252. // If you make changes to an image, deregister the previous image and register
  18253. // the new image.
  18254. //
  18255. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18256. // with awserr.Error's Code and Message methods to get detailed information about
  18257. // the error.
  18258. //
  18259. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18260. // API operation RegisterImage for usage and error information.
  18261. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterImage
  18262. func (c *EC2) RegisterImage(input *RegisterImageInput) (*RegisterImageOutput, error) {
  18263. req, out := c.RegisterImageRequest(input)
  18264. return out, req.Send()
  18265. }
  18266. // RegisterImageWithContext is the same as RegisterImage with the addition of
  18267. // the ability to pass a context and additional request options.
  18268. //
  18269. // See RegisterImage for details on how to use this API operation.
  18270. //
  18271. // The context must be non-nil and will be used for request cancellation. If
  18272. // the context is nil a panic will occur. In the future the SDK may create
  18273. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18274. // for more information on using Contexts.
  18275. func (c *EC2) RegisterImageWithContext(ctx aws.Context, input *RegisterImageInput, opts ...request.Option) (*RegisterImageOutput, error) {
  18276. req, out := c.RegisterImageRequest(input)
  18277. req.SetContext(ctx)
  18278. req.ApplyOptions(opts...)
  18279. return out, req.Send()
  18280. }
  18281. const opRejectVpcEndpointConnections = "RejectVpcEndpointConnections"
  18282. // RejectVpcEndpointConnectionsRequest generates a "aws/request.Request" representing the
  18283. // client's request for the RejectVpcEndpointConnections operation. The "output" return
  18284. // value will be populated with the request's response once the request complets
  18285. // successfuly.
  18286. //
  18287. // Use "Send" method on the returned Request to send the API call to the service.
  18288. // the "output" return value is not valid until after Send returns without error.
  18289. //
  18290. // See RejectVpcEndpointConnections for more information on using the RejectVpcEndpointConnections
  18291. // API call, and error handling.
  18292. //
  18293. // This method is useful when you want to inject custom logic or configuration
  18294. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18295. //
  18296. //
  18297. // // Example sending a request using the RejectVpcEndpointConnectionsRequest method.
  18298. // req, resp := client.RejectVpcEndpointConnectionsRequest(params)
  18299. //
  18300. // err := req.Send()
  18301. // if err == nil { // resp is now filled
  18302. // fmt.Println(resp)
  18303. // }
  18304. //
  18305. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcEndpointConnections
  18306. func (c *EC2) RejectVpcEndpointConnectionsRequest(input *RejectVpcEndpointConnectionsInput) (req *request.Request, output *RejectVpcEndpointConnectionsOutput) {
  18307. op := &request.Operation{
  18308. Name: opRejectVpcEndpointConnections,
  18309. HTTPMethod: "POST",
  18310. HTTPPath: "/",
  18311. }
  18312. if input == nil {
  18313. input = &RejectVpcEndpointConnectionsInput{}
  18314. }
  18315. output = &RejectVpcEndpointConnectionsOutput{}
  18316. req = c.newRequest(op, input, output)
  18317. return
  18318. }
  18319. // RejectVpcEndpointConnections API operation for Amazon Elastic Compute Cloud.
  18320. //
  18321. // Rejects one or more VPC endpoint connection requests to your VPC endpoint
  18322. // service.
  18323. //
  18324. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18325. // with awserr.Error's Code and Message methods to get detailed information about
  18326. // the error.
  18327. //
  18328. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18329. // API operation RejectVpcEndpointConnections for usage and error information.
  18330. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcEndpointConnections
  18331. func (c *EC2) RejectVpcEndpointConnections(input *RejectVpcEndpointConnectionsInput) (*RejectVpcEndpointConnectionsOutput, error) {
  18332. req, out := c.RejectVpcEndpointConnectionsRequest(input)
  18333. return out, req.Send()
  18334. }
  18335. // RejectVpcEndpointConnectionsWithContext is the same as RejectVpcEndpointConnections with the addition of
  18336. // the ability to pass a context and additional request options.
  18337. //
  18338. // See RejectVpcEndpointConnections for details on how to use this API operation.
  18339. //
  18340. // The context must be non-nil and will be used for request cancellation. If
  18341. // the context is nil a panic will occur. In the future the SDK may create
  18342. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18343. // for more information on using Contexts.
  18344. func (c *EC2) RejectVpcEndpointConnectionsWithContext(ctx aws.Context, input *RejectVpcEndpointConnectionsInput, opts ...request.Option) (*RejectVpcEndpointConnectionsOutput, error) {
  18345. req, out := c.RejectVpcEndpointConnectionsRequest(input)
  18346. req.SetContext(ctx)
  18347. req.ApplyOptions(opts...)
  18348. return out, req.Send()
  18349. }
  18350. const opRejectVpcPeeringConnection = "RejectVpcPeeringConnection"
  18351. // RejectVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
  18352. // client's request for the RejectVpcPeeringConnection operation. The "output" return
  18353. // value will be populated with the request's response once the request complets
  18354. // successfuly.
  18355. //
  18356. // Use "Send" method on the returned Request to send the API call to the service.
  18357. // the "output" return value is not valid until after Send returns without error.
  18358. //
  18359. // See RejectVpcPeeringConnection for more information on using the RejectVpcPeeringConnection
  18360. // API call, and error handling.
  18361. //
  18362. // This method is useful when you want to inject custom logic or configuration
  18363. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18364. //
  18365. //
  18366. // // Example sending a request using the RejectVpcPeeringConnectionRequest method.
  18367. // req, resp := client.RejectVpcPeeringConnectionRequest(params)
  18368. //
  18369. // err := req.Send()
  18370. // if err == nil { // resp is now filled
  18371. // fmt.Println(resp)
  18372. // }
  18373. //
  18374. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcPeeringConnection
  18375. func (c *EC2) RejectVpcPeeringConnectionRequest(input *RejectVpcPeeringConnectionInput) (req *request.Request, output *RejectVpcPeeringConnectionOutput) {
  18376. op := &request.Operation{
  18377. Name: opRejectVpcPeeringConnection,
  18378. HTTPMethod: "POST",
  18379. HTTPPath: "/",
  18380. }
  18381. if input == nil {
  18382. input = &RejectVpcPeeringConnectionInput{}
  18383. }
  18384. output = &RejectVpcPeeringConnectionOutput{}
  18385. req = c.newRequest(op, input, output)
  18386. return
  18387. }
  18388. // RejectVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
  18389. //
  18390. // Rejects a VPC peering connection request. The VPC peering connection must
  18391. // be in the pending-acceptance state. Use the DescribeVpcPeeringConnections
  18392. // request to view your outstanding VPC peering connection requests. To delete
  18393. // an active VPC peering connection, or to delete a VPC peering connection request
  18394. // that you initiated, use DeleteVpcPeeringConnection.
  18395. //
  18396. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18397. // with awserr.Error's Code and Message methods to get detailed information about
  18398. // the error.
  18399. //
  18400. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18401. // API operation RejectVpcPeeringConnection for usage and error information.
  18402. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcPeeringConnection
  18403. func (c *EC2) RejectVpcPeeringConnection(input *RejectVpcPeeringConnectionInput) (*RejectVpcPeeringConnectionOutput, error) {
  18404. req, out := c.RejectVpcPeeringConnectionRequest(input)
  18405. return out, req.Send()
  18406. }
  18407. // RejectVpcPeeringConnectionWithContext is the same as RejectVpcPeeringConnection with the addition of
  18408. // the ability to pass a context and additional request options.
  18409. //
  18410. // See RejectVpcPeeringConnection for details on how to use this API operation.
  18411. //
  18412. // The context must be non-nil and will be used for request cancellation. If
  18413. // the context is nil a panic will occur. In the future the SDK may create
  18414. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18415. // for more information on using Contexts.
  18416. func (c *EC2) RejectVpcPeeringConnectionWithContext(ctx aws.Context, input *RejectVpcPeeringConnectionInput, opts ...request.Option) (*RejectVpcPeeringConnectionOutput, error) {
  18417. req, out := c.RejectVpcPeeringConnectionRequest(input)
  18418. req.SetContext(ctx)
  18419. req.ApplyOptions(opts...)
  18420. return out, req.Send()
  18421. }
  18422. const opReleaseAddress = "ReleaseAddress"
  18423. // ReleaseAddressRequest generates a "aws/request.Request" representing the
  18424. // client's request for the ReleaseAddress operation. The "output" return
  18425. // value will be populated with the request's response once the request complets
  18426. // successfuly.
  18427. //
  18428. // Use "Send" method on the returned Request to send the API call to the service.
  18429. // the "output" return value is not valid until after Send returns without error.
  18430. //
  18431. // See ReleaseAddress for more information on using the ReleaseAddress
  18432. // API call, and error handling.
  18433. //
  18434. // This method is useful when you want to inject custom logic or configuration
  18435. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18436. //
  18437. //
  18438. // // Example sending a request using the ReleaseAddressRequest method.
  18439. // req, resp := client.ReleaseAddressRequest(params)
  18440. //
  18441. // err := req.Send()
  18442. // if err == nil { // resp is now filled
  18443. // fmt.Println(resp)
  18444. // }
  18445. //
  18446. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseAddress
  18447. func (c *EC2) ReleaseAddressRequest(input *ReleaseAddressInput) (req *request.Request, output *ReleaseAddressOutput) {
  18448. op := &request.Operation{
  18449. Name: opReleaseAddress,
  18450. HTTPMethod: "POST",
  18451. HTTPPath: "/",
  18452. }
  18453. if input == nil {
  18454. input = &ReleaseAddressInput{}
  18455. }
  18456. output = &ReleaseAddressOutput{}
  18457. req = c.newRequest(op, input, output)
  18458. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  18459. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  18460. return
  18461. }
  18462. // ReleaseAddress API operation for Amazon Elastic Compute Cloud.
  18463. //
  18464. // Releases the specified Elastic IP address.
  18465. //
  18466. // [EC2-Classic, default VPC] Releasing an Elastic IP address automatically
  18467. // disassociates it from any instance that it's associated with. To disassociate
  18468. // an Elastic IP address without releasing it, use DisassociateAddress.
  18469. //
  18470. // [Nondefault VPC] You must use DisassociateAddress to disassociate the Elastic
  18471. // IP address before you can release it. Otherwise, Amazon EC2 returns an error
  18472. // (InvalidIPAddress.InUse).
  18473. //
  18474. // After releasing an Elastic IP address, it is released to the IP address pool.
  18475. // Be sure to update your DNS records and any servers or devices that communicate
  18476. // with the address. If you attempt to release an Elastic IP address that you
  18477. // already released, you'll get an AuthFailure error if the address is already
  18478. // allocated to another AWS account.
  18479. //
  18480. // [EC2-VPC] After you release an Elastic IP address for use in a VPC, you might
  18481. // be able to recover it. For more information, see AllocateAddress.
  18482. //
  18483. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18484. // with awserr.Error's Code and Message methods to get detailed information about
  18485. // the error.
  18486. //
  18487. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18488. // API operation ReleaseAddress for usage and error information.
  18489. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseAddress
  18490. func (c *EC2) ReleaseAddress(input *ReleaseAddressInput) (*ReleaseAddressOutput, error) {
  18491. req, out := c.ReleaseAddressRequest(input)
  18492. return out, req.Send()
  18493. }
  18494. // ReleaseAddressWithContext is the same as ReleaseAddress with the addition of
  18495. // the ability to pass a context and additional request options.
  18496. //
  18497. // See ReleaseAddress for details on how to use this API operation.
  18498. //
  18499. // The context must be non-nil and will be used for request cancellation. If
  18500. // the context is nil a panic will occur. In the future the SDK may create
  18501. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18502. // for more information on using Contexts.
  18503. func (c *EC2) ReleaseAddressWithContext(ctx aws.Context, input *ReleaseAddressInput, opts ...request.Option) (*ReleaseAddressOutput, error) {
  18504. req, out := c.ReleaseAddressRequest(input)
  18505. req.SetContext(ctx)
  18506. req.ApplyOptions(opts...)
  18507. return out, req.Send()
  18508. }
  18509. const opReleaseHosts = "ReleaseHosts"
  18510. // ReleaseHostsRequest generates a "aws/request.Request" representing the
  18511. // client's request for the ReleaseHosts operation. The "output" return
  18512. // value will be populated with the request's response once the request complets
  18513. // successfuly.
  18514. //
  18515. // Use "Send" method on the returned Request to send the API call to the service.
  18516. // the "output" return value is not valid until after Send returns without error.
  18517. //
  18518. // See ReleaseHosts for more information on using the ReleaseHosts
  18519. // API call, and error handling.
  18520. //
  18521. // This method is useful when you want to inject custom logic or configuration
  18522. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18523. //
  18524. //
  18525. // // Example sending a request using the ReleaseHostsRequest method.
  18526. // req, resp := client.ReleaseHostsRequest(params)
  18527. //
  18528. // err := req.Send()
  18529. // if err == nil { // resp is now filled
  18530. // fmt.Println(resp)
  18531. // }
  18532. //
  18533. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseHosts
  18534. func (c *EC2) ReleaseHostsRequest(input *ReleaseHostsInput) (req *request.Request, output *ReleaseHostsOutput) {
  18535. op := &request.Operation{
  18536. Name: opReleaseHosts,
  18537. HTTPMethod: "POST",
  18538. HTTPPath: "/",
  18539. }
  18540. if input == nil {
  18541. input = &ReleaseHostsInput{}
  18542. }
  18543. output = &ReleaseHostsOutput{}
  18544. req = c.newRequest(op, input, output)
  18545. return
  18546. }
  18547. // ReleaseHosts API operation for Amazon Elastic Compute Cloud.
  18548. //
  18549. // When you no longer want to use an On-Demand Dedicated Host it can be released.
  18550. // On-Demand billing is stopped and the host goes into released state. The host
  18551. // ID of Dedicated Hosts that have been released can no longer be specified
  18552. // in another request, e.g., ModifyHosts. You must stop or terminate all instances
  18553. // on a host before it can be released.
  18554. //
  18555. // When Dedicated Hosts are released, it make take some time for them to stop
  18556. // counting toward your limit and you may receive capacity errors when trying
  18557. // to allocate new Dedicated hosts. Try waiting a few minutes, and then try
  18558. // again.
  18559. //
  18560. // Released hosts will still appear in a DescribeHosts response.
  18561. //
  18562. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18563. // with awserr.Error's Code and Message methods to get detailed information about
  18564. // the error.
  18565. //
  18566. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18567. // API operation ReleaseHosts for usage and error information.
  18568. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseHosts
  18569. func (c *EC2) ReleaseHosts(input *ReleaseHostsInput) (*ReleaseHostsOutput, error) {
  18570. req, out := c.ReleaseHostsRequest(input)
  18571. return out, req.Send()
  18572. }
  18573. // ReleaseHostsWithContext is the same as ReleaseHosts with the addition of
  18574. // the ability to pass a context and additional request options.
  18575. //
  18576. // See ReleaseHosts for details on how to use this API operation.
  18577. //
  18578. // The context must be non-nil and will be used for request cancellation. If
  18579. // the context is nil a panic will occur. In the future the SDK may create
  18580. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18581. // for more information on using Contexts.
  18582. func (c *EC2) ReleaseHostsWithContext(ctx aws.Context, input *ReleaseHostsInput, opts ...request.Option) (*ReleaseHostsOutput, error) {
  18583. req, out := c.ReleaseHostsRequest(input)
  18584. req.SetContext(ctx)
  18585. req.ApplyOptions(opts...)
  18586. return out, req.Send()
  18587. }
  18588. const opReplaceIamInstanceProfileAssociation = "ReplaceIamInstanceProfileAssociation"
  18589. // ReplaceIamInstanceProfileAssociationRequest generates a "aws/request.Request" representing the
  18590. // client's request for the ReplaceIamInstanceProfileAssociation operation. The "output" return
  18591. // value will be populated with the request's response once the request complets
  18592. // successfuly.
  18593. //
  18594. // Use "Send" method on the returned Request to send the API call to the service.
  18595. // the "output" return value is not valid until after Send returns without error.
  18596. //
  18597. // See ReplaceIamInstanceProfileAssociation for more information on using the ReplaceIamInstanceProfileAssociation
  18598. // API call, and error handling.
  18599. //
  18600. // This method is useful when you want to inject custom logic or configuration
  18601. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18602. //
  18603. //
  18604. // // Example sending a request using the ReplaceIamInstanceProfileAssociationRequest method.
  18605. // req, resp := client.ReplaceIamInstanceProfileAssociationRequest(params)
  18606. //
  18607. // err := req.Send()
  18608. // if err == nil { // resp is now filled
  18609. // fmt.Println(resp)
  18610. // }
  18611. //
  18612. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceIamInstanceProfileAssociation
  18613. func (c *EC2) ReplaceIamInstanceProfileAssociationRequest(input *ReplaceIamInstanceProfileAssociationInput) (req *request.Request, output *ReplaceIamInstanceProfileAssociationOutput) {
  18614. op := &request.Operation{
  18615. Name: opReplaceIamInstanceProfileAssociation,
  18616. HTTPMethod: "POST",
  18617. HTTPPath: "/",
  18618. }
  18619. if input == nil {
  18620. input = &ReplaceIamInstanceProfileAssociationInput{}
  18621. }
  18622. output = &ReplaceIamInstanceProfileAssociationOutput{}
  18623. req = c.newRequest(op, input, output)
  18624. return
  18625. }
  18626. // ReplaceIamInstanceProfileAssociation API operation for Amazon Elastic Compute Cloud.
  18627. //
  18628. // Replaces an IAM instance profile for the specified running instance. You
  18629. // can use this action to change the IAM instance profile that's associated
  18630. // with an instance without having to disassociate the existing IAM instance
  18631. // profile first.
  18632. //
  18633. // Use DescribeIamInstanceProfileAssociations to get the association ID.
  18634. //
  18635. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18636. // with awserr.Error's Code and Message methods to get detailed information about
  18637. // the error.
  18638. //
  18639. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18640. // API operation ReplaceIamInstanceProfileAssociation for usage and error information.
  18641. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceIamInstanceProfileAssociation
  18642. func (c *EC2) ReplaceIamInstanceProfileAssociation(input *ReplaceIamInstanceProfileAssociationInput) (*ReplaceIamInstanceProfileAssociationOutput, error) {
  18643. req, out := c.ReplaceIamInstanceProfileAssociationRequest(input)
  18644. return out, req.Send()
  18645. }
  18646. // ReplaceIamInstanceProfileAssociationWithContext is the same as ReplaceIamInstanceProfileAssociation with the addition of
  18647. // the ability to pass a context and additional request options.
  18648. //
  18649. // See ReplaceIamInstanceProfileAssociation for details on how to use this API operation.
  18650. //
  18651. // The context must be non-nil and will be used for request cancellation. If
  18652. // the context is nil a panic will occur. In the future the SDK may create
  18653. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18654. // for more information on using Contexts.
  18655. func (c *EC2) ReplaceIamInstanceProfileAssociationWithContext(ctx aws.Context, input *ReplaceIamInstanceProfileAssociationInput, opts ...request.Option) (*ReplaceIamInstanceProfileAssociationOutput, error) {
  18656. req, out := c.ReplaceIamInstanceProfileAssociationRequest(input)
  18657. req.SetContext(ctx)
  18658. req.ApplyOptions(opts...)
  18659. return out, req.Send()
  18660. }
  18661. const opReplaceNetworkAclAssociation = "ReplaceNetworkAclAssociation"
  18662. // ReplaceNetworkAclAssociationRequest generates a "aws/request.Request" representing the
  18663. // client's request for the ReplaceNetworkAclAssociation operation. The "output" return
  18664. // value will be populated with the request's response once the request complets
  18665. // successfuly.
  18666. //
  18667. // Use "Send" method on the returned Request to send the API call to the service.
  18668. // the "output" return value is not valid until after Send returns without error.
  18669. //
  18670. // See ReplaceNetworkAclAssociation for more information on using the ReplaceNetworkAclAssociation
  18671. // API call, and error handling.
  18672. //
  18673. // This method is useful when you want to inject custom logic or configuration
  18674. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18675. //
  18676. //
  18677. // // Example sending a request using the ReplaceNetworkAclAssociationRequest method.
  18678. // req, resp := client.ReplaceNetworkAclAssociationRequest(params)
  18679. //
  18680. // err := req.Send()
  18681. // if err == nil { // resp is now filled
  18682. // fmt.Println(resp)
  18683. // }
  18684. //
  18685. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclAssociation
  18686. func (c *EC2) ReplaceNetworkAclAssociationRequest(input *ReplaceNetworkAclAssociationInput) (req *request.Request, output *ReplaceNetworkAclAssociationOutput) {
  18687. op := &request.Operation{
  18688. Name: opReplaceNetworkAclAssociation,
  18689. HTTPMethod: "POST",
  18690. HTTPPath: "/",
  18691. }
  18692. if input == nil {
  18693. input = &ReplaceNetworkAclAssociationInput{}
  18694. }
  18695. output = &ReplaceNetworkAclAssociationOutput{}
  18696. req = c.newRequest(op, input, output)
  18697. return
  18698. }
  18699. // ReplaceNetworkAclAssociation API operation for Amazon Elastic Compute Cloud.
  18700. //
  18701. // Changes which network ACL a subnet is associated with. By default when you
  18702. // create a subnet, it's automatically associated with the default network ACL.
  18703. // For more information about network ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  18704. // in the Amazon Virtual Private Cloud User Guide.
  18705. //
  18706. // This is an idempotent operation.
  18707. //
  18708. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18709. // with awserr.Error's Code and Message methods to get detailed information about
  18710. // the error.
  18711. //
  18712. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18713. // API operation ReplaceNetworkAclAssociation for usage and error information.
  18714. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclAssociation
  18715. func (c *EC2) ReplaceNetworkAclAssociation(input *ReplaceNetworkAclAssociationInput) (*ReplaceNetworkAclAssociationOutput, error) {
  18716. req, out := c.ReplaceNetworkAclAssociationRequest(input)
  18717. return out, req.Send()
  18718. }
  18719. // ReplaceNetworkAclAssociationWithContext is the same as ReplaceNetworkAclAssociation with the addition of
  18720. // the ability to pass a context and additional request options.
  18721. //
  18722. // See ReplaceNetworkAclAssociation for details on how to use this API operation.
  18723. //
  18724. // The context must be non-nil and will be used for request cancellation. If
  18725. // the context is nil a panic will occur. In the future the SDK may create
  18726. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18727. // for more information on using Contexts.
  18728. func (c *EC2) ReplaceNetworkAclAssociationWithContext(ctx aws.Context, input *ReplaceNetworkAclAssociationInput, opts ...request.Option) (*ReplaceNetworkAclAssociationOutput, error) {
  18729. req, out := c.ReplaceNetworkAclAssociationRequest(input)
  18730. req.SetContext(ctx)
  18731. req.ApplyOptions(opts...)
  18732. return out, req.Send()
  18733. }
  18734. const opReplaceNetworkAclEntry = "ReplaceNetworkAclEntry"
  18735. // ReplaceNetworkAclEntryRequest generates a "aws/request.Request" representing the
  18736. // client's request for the ReplaceNetworkAclEntry operation. The "output" return
  18737. // value will be populated with the request's response once the request complets
  18738. // successfuly.
  18739. //
  18740. // Use "Send" method on the returned Request to send the API call to the service.
  18741. // the "output" return value is not valid until after Send returns without error.
  18742. //
  18743. // See ReplaceNetworkAclEntry for more information on using the ReplaceNetworkAclEntry
  18744. // API call, and error handling.
  18745. //
  18746. // This method is useful when you want to inject custom logic or configuration
  18747. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18748. //
  18749. //
  18750. // // Example sending a request using the ReplaceNetworkAclEntryRequest method.
  18751. // req, resp := client.ReplaceNetworkAclEntryRequest(params)
  18752. //
  18753. // err := req.Send()
  18754. // if err == nil { // resp is now filled
  18755. // fmt.Println(resp)
  18756. // }
  18757. //
  18758. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclEntry
  18759. func (c *EC2) ReplaceNetworkAclEntryRequest(input *ReplaceNetworkAclEntryInput) (req *request.Request, output *ReplaceNetworkAclEntryOutput) {
  18760. op := &request.Operation{
  18761. Name: opReplaceNetworkAclEntry,
  18762. HTTPMethod: "POST",
  18763. HTTPPath: "/",
  18764. }
  18765. if input == nil {
  18766. input = &ReplaceNetworkAclEntryInput{}
  18767. }
  18768. output = &ReplaceNetworkAclEntryOutput{}
  18769. req = c.newRequest(op, input, output)
  18770. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  18771. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  18772. return
  18773. }
  18774. // ReplaceNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
  18775. //
  18776. // Replaces an entry (rule) in a network ACL. For more information about network
  18777. // ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  18778. // in the Amazon Virtual Private Cloud User Guide.
  18779. //
  18780. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18781. // with awserr.Error's Code and Message methods to get detailed information about
  18782. // the error.
  18783. //
  18784. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18785. // API operation ReplaceNetworkAclEntry for usage and error information.
  18786. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclEntry
  18787. func (c *EC2) ReplaceNetworkAclEntry(input *ReplaceNetworkAclEntryInput) (*ReplaceNetworkAclEntryOutput, error) {
  18788. req, out := c.ReplaceNetworkAclEntryRequest(input)
  18789. return out, req.Send()
  18790. }
  18791. // ReplaceNetworkAclEntryWithContext is the same as ReplaceNetworkAclEntry with the addition of
  18792. // the ability to pass a context and additional request options.
  18793. //
  18794. // See ReplaceNetworkAclEntry for details on how to use this API operation.
  18795. //
  18796. // The context must be non-nil and will be used for request cancellation. If
  18797. // the context is nil a panic will occur. In the future the SDK may create
  18798. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18799. // for more information on using Contexts.
  18800. func (c *EC2) ReplaceNetworkAclEntryWithContext(ctx aws.Context, input *ReplaceNetworkAclEntryInput, opts ...request.Option) (*ReplaceNetworkAclEntryOutput, error) {
  18801. req, out := c.ReplaceNetworkAclEntryRequest(input)
  18802. req.SetContext(ctx)
  18803. req.ApplyOptions(opts...)
  18804. return out, req.Send()
  18805. }
  18806. const opReplaceRoute = "ReplaceRoute"
  18807. // ReplaceRouteRequest generates a "aws/request.Request" representing the
  18808. // client's request for the ReplaceRoute operation. The "output" return
  18809. // value will be populated with the request's response once the request complets
  18810. // successfuly.
  18811. //
  18812. // Use "Send" method on the returned Request to send the API call to the service.
  18813. // the "output" return value is not valid until after Send returns without error.
  18814. //
  18815. // See ReplaceRoute for more information on using the ReplaceRoute
  18816. // API call, and error handling.
  18817. //
  18818. // This method is useful when you want to inject custom logic or configuration
  18819. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18820. //
  18821. //
  18822. // // Example sending a request using the ReplaceRouteRequest method.
  18823. // req, resp := client.ReplaceRouteRequest(params)
  18824. //
  18825. // err := req.Send()
  18826. // if err == nil { // resp is now filled
  18827. // fmt.Println(resp)
  18828. // }
  18829. //
  18830. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRoute
  18831. func (c *EC2) ReplaceRouteRequest(input *ReplaceRouteInput) (req *request.Request, output *ReplaceRouteOutput) {
  18832. op := &request.Operation{
  18833. Name: opReplaceRoute,
  18834. HTTPMethod: "POST",
  18835. HTTPPath: "/",
  18836. }
  18837. if input == nil {
  18838. input = &ReplaceRouteInput{}
  18839. }
  18840. output = &ReplaceRouteOutput{}
  18841. req = c.newRequest(op, input, output)
  18842. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  18843. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  18844. return
  18845. }
  18846. // ReplaceRoute API operation for Amazon Elastic Compute Cloud.
  18847. //
  18848. // Replaces an existing route within a route table in a VPC. You must provide
  18849. // only one of the following: Internet gateway or virtual private gateway, NAT
  18850. // instance, NAT gateway, VPC peering connection, network interface, or egress-only
  18851. // Internet gateway.
  18852. //
  18853. // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  18854. // in the Amazon Virtual Private Cloud User Guide.
  18855. //
  18856. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18857. // with awserr.Error's Code and Message methods to get detailed information about
  18858. // the error.
  18859. //
  18860. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18861. // API operation ReplaceRoute for usage and error information.
  18862. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRoute
  18863. func (c *EC2) ReplaceRoute(input *ReplaceRouteInput) (*ReplaceRouteOutput, error) {
  18864. req, out := c.ReplaceRouteRequest(input)
  18865. return out, req.Send()
  18866. }
  18867. // ReplaceRouteWithContext is the same as ReplaceRoute with the addition of
  18868. // the ability to pass a context and additional request options.
  18869. //
  18870. // See ReplaceRoute for details on how to use this API operation.
  18871. //
  18872. // The context must be non-nil and will be used for request cancellation. If
  18873. // the context is nil a panic will occur. In the future the SDK may create
  18874. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18875. // for more information on using Contexts.
  18876. func (c *EC2) ReplaceRouteWithContext(ctx aws.Context, input *ReplaceRouteInput, opts ...request.Option) (*ReplaceRouteOutput, error) {
  18877. req, out := c.ReplaceRouteRequest(input)
  18878. req.SetContext(ctx)
  18879. req.ApplyOptions(opts...)
  18880. return out, req.Send()
  18881. }
  18882. const opReplaceRouteTableAssociation = "ReplaceRouteTableAssociation"
  18883. // ReplaceRouteTableAssociationRequest generates a "aws/request.Request" representing the
  18884. // client's request for the ReplaceRouteTableAssociation operation. The "output" return
  18885. // value will be populated with the request's response once the request complets
  18886. // successfuly.
  18887. //
  18888. // Use "Send" method on the returned Request to send the API call to the service.
  18889. // the "output" return value is not valid until after Send returns without error.
  18890. //
  18891. // See ReplaceRouteTableAssociation for more information on using the ReplaceRouteTableAssociation
  18892. // API call, and error handling.
  18893. //
  18894. // This method is useful when you want to inject custom logic or configuration
  18895. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18896. //
  18897. //
  18898. // // Example sending a request using the ReplaceRouteTableAssociationRequest method.
  18899. // req, resp := client.ReplaceRouteTableAssociationRequest(params)
  18900. //
  18901. // err := req.Send()
  18902. // if err == nil { // resp is now filled
  18903. // fmt.Println(resp)
  18904. // }
  18905. //
  18906. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteTableAssociation
  18907. func (c *EC2) ReplaceRouteTableAssociationRequest(input *ReplaceRouteTableAssociationInput) (req *request.Request, output *ReplaceRouteTableAssociationOutput) {
  18908. op := &request.Operation{
  18909. Name: opReplaceRouteTableAssociation,
  18910. HTTPMethod: "POST",
  18911. HTTPPath: "/",
  18912. }
  18913. if input == nil {
  18914. input = &ReplaceRouteTableAssociationInput{}
  18915. }
  18916. output = &ReplaceRouteTableAssociationOutput{}
  18917. req = c.newRequest(op, input, output)
  18918. return
  18919. }
  18920. // ReplaceRouteTableAssociation API operation for Amazon Elastic Compute Cloud.
  18921. //
  18922. // Changes the route table associated with a given subnet in a VPC. After the
  18923. // operation completes, the subnet uses the routes in the new route table it's
  18924. // associated with. For more information about route tables, see Route Tables
  18925. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  18926. // in the Amazon Virtual Private Cloud User Guide.
  18927. //
  18928. // You can also use ReplaceRouteTableAssociation to change which table is the
  18929. // main route table in the VPC. You just specify the main route table's association
  18930. // ID and the route table to be the new main route table.
  18931. //
  18932. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18933. // with awserr.Error's Code and Message methods to get detailed information about
  18934. // the error.
  18935. //
  18936. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18937. // API operation ReplaceRouteTableAssociation for usage and error information.
  18938. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteTableAssociation
  18939. func (c *EC2) ReplaceRouteTableAssociation(input *ReplaceRouteTableAssociationInput) (*ReplaceRouteTableAssociationOutput, error) {
  18940. req, out := c.ReplaceRouteTableAssociationRequest(input)
  18941. return out, req.Send()
  18942. }
  18943. // ReplaceRouteTableAssociationWithContext is the same as ReplaceRouteTableAssociation with the addition of
  18944. // the ability to pass a context and additional request options.
  18945. //
  18946. // See ReplaceRouteTableAssociation for details on how to use this API operation.
  18947. //
  18948. // The context must be non-nil and will be used for request cancellation. If
  18949. // the context is nil a panic will occur. In the future the SDK may create
  18950. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18951. // for more information on using Contexts.
  18952. func (c *EC2) ReplaceRouteTableAssociationWithContext(ctx aws.Context, input *ReplaceRouteTableAssociationInput, opts ...request.Option) (*ReplaceRouteTableAssociationOutput, error) {
  18953. req, out := c.ReplaceRouteTableAssociationRequest(input)
  18954. req.SetContext(ctx)
  18955. req.ApplyOptions(opts...)
  18956. return out, req.Send()
  18957. }
  18958. const opReportInstanceStatus = "ReportInstanceStatus"
  18959. // ReportInstanceStatusRequest generates a "aws/request.Request" representing the
  18960. // client's request for the ReportInstanceStatus operation. The "output" return
  18961. // value will be populated with the request's response once the request complets
  18962. // successfuly.
  18963. //
  18964. // Use "Send" method on the returned Request to send the API call to the service.
  18965. // the "output" return value is not valid until after Send returns without error.
  18966. //
  18967. // See ReportInstanceStatus for more information on using the ReportInstanceStatus
  18968. // API call, and error handling.
  18969. //
  18970. // This method is useful when you want to inject custom logic or configuration
  18971. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18972. //
  18973. //
  18974. // // Example sending a request using the ReportInstanceStatusRequest method.
  18975. // req, resp := client.ReportInstanceStatusRequest(params)
  18976. //
  18977. // err := req.Send()
  18978. // if err == nil { // resp is now filled
  18979. // fmt.Println(resp)
  18980. // }
  18981. //
  18982. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReportInstanceStatus
  18983. func (c *EC2) ReportInstanceStatusRequest(input *ReportInstanceStatusInput) (req *request.Request, output *ReportInstanceStatusOutput) {
  18984. op := &request.Operation{
  18985. Name: opReportInstanceStatus,
  18986. HTTPMethod: "POST",
  18987. HTTPPath: "/",
  18988. }
  18989. if input == nil {
  18990. input = &ReportInstanceStatusInput{}
  18991. }
  18992. output = &ReportInstanceStatusOutput{}
  18993. req = c.newRequest(op, input, output)
  18994. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  18995. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  18996. return
  18997. }
  18998. // ReportInstanceStatus API operation for Amazon Elastic Compute Cloud.
  18999. //
  19000. // Submits feedback about the status of an instance. The instance must be in
  19001. // the running state. If your experience with the instance differs from the
  19002. // instance status returned by DescribeInstanceStatus, use ReportInstanceStatus
  19003. // to report your experience with the instance. Amazon EC2 collects this information
  19004. // to improve the accuracy of status checks.
  19005. //
  19006. // Use of this action does not change the value returned by DescribeInstanceStatus.
  19007. //
  19008. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19009. // with awserr.Error's Code and Message methods to get detailed information about
  19010. // the error.
  19011. //
  19012. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19013. // API operation ReportInstanceStatus for usage and error information.
  19014. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReportInstanceStatus
  19015. func (c *EC2) ReportInstanceStatus(input *ReportInstanceStatusInput) (*ReportInstanceStatusOutput, error) {
  19016. req, out := c.ReportInstanceStatusRequest(input)
  19017. return out, req.Send()
  19018. }
  19019. // ReportInstanceStatusWithContext is the same as ReportInstanceStatus with the addition of
  19020. // the ability to pass a context and additional request options.
  19021. //
  19022. // See ReportInstanceStatus for details on how to use this API operation.
  19023. //
  19024. // The context must be non-nil and will be used for request cancellation. If
  19025. // the context is nil a panic will occur. In the future the SDK may create
  19026. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19027. // for more information on using Contexts.
  19028. func (c *EC2) ReportInstanceStatusWithContext(ctx aws.Context, input *ReportInstanceStatusInput, opts ...request.Option) (*ReportInstanceStatusOutput, error) {
  19029. req, out := c.ReportInstanceStatusRequest(input)
  19030. req.SetContext(ctx)
  19031. req.ApplyOptions(opts...)
  19032. return out, req.Send()
  19033. }
  19034. const opRequestSpotFleet = "RequestSpotFleet"
  19035. // RequestSpotFleetRequest generates a "aws/request.Request" representing the
  19036. // client's request for the RequestSpotFleet operation. The "output" return
  19037. // value will be populated with the request's response once the request complets
  19038. // successfuly.
  19039. //
  19040. // Use "Send" method on the returned Request to send the API call to the service.
  19041. // the "output" return value is not valid until after Send returns without error.
  19042. //
  19043. // See RequestSpotFleet for more information on using the RequestSpotFleet
  19044. // API call, and error handling.
  19045. //
  19046. // This method is useful when you want to inject custom logic or configuration
  19047. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  19048. //
  19049. //
  19050. // // Example sending a request using the RequestSpotFleetRequest method.
  19051. // req, resp := client.RequestSpotFleetRequest(params)
  19052. //
  19053. // err := req.Send()
  19054. // if err == nil { // resp is now filled
  19055. // fmt.Println(resp)
  19056. // }
  19057. //
  19058. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotFleet
  19059. func (c *EC2) RequestSpotFleetRequest(input *RequestSpotFleetInput) (req *request.Request, output *RequestSpotFleetOutput) {
  19060. op := &request.Operation{
  19061. Name: opRequestSpotFleet,
  19062. HTTPMethod: "POST",
  19063. HTTPPath: "/",
  19064. }
  19065. if input == nil {
  19066. input = &RequestSpotFleetInput{}
  19067. }
  19068. output = &RequestSpotFleetOutput{}
  19069. req = c.newRequest(op, input, output)
  19070. return
  19071. }
  19072. // RequestSpotFleet API operation for Amazon Elastic Compute Cloud.
  19073. //
  19074. // Creates a Spot Fleet request.
  19075. //
  19076. // You can submit a single request that includes multiple launch specifications
  19077. // that vary by instance type, AMI, Availability Zone, or subnet.
  19078. //
  19079. // By default, the Spot Fleet requests Spot Instances in the Spot pool where
  19080. // the price per unit is the lowest. Each launch specification can include its
  19081. // own instance weighting that reflects the value of the instance type to your
  19082. // application workload.
  19083. //
  19084. // Alternatively, you can specify that the Spot Fleet distribute the target
  19085. // capacity across the Spot pools included in its launch specifications. By
  19086. // ensuring that the Spot Instances in your Spot Fleet are in different Spot
  19087. // pools, you can improve the availability of your fleet.
  19088. //
  19089. // You can specify tags for the Spot Instances. You cannot tag other resource
  19090. // types in a Spot Fleet request; only the instance resource type is supported.
  19091. //
  19092. // For more information, see Spot Fleet Requests (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html)
  19093. // in the Amazon Elastic Compute Cloud User Guide.
  19094. //
  19095. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19096. // with awserr.Error's Code and Message methods to get detailed information about
  19097. // the error.
  19098. //
  19099. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19100. // API operation RequestSpotFleet for usage and error information.
  19101. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotFleet
  19102. func (c *EC2) RequestSpotFleet(input *RequestSpotFleetInput) (*RequestSpotFleetOutput, error) {
  19103. req, out := c.RequestSpotFleetRequest(input)
  19104. return out, req.Send()
  19105. }
  19106. // RequestSpotFleetWithContext is the same as RequestSpotFleet with the addition of
  19107. // the ability to pass a context and additional request options.
  19108. //
  19109. // See RequestSpotFleet for details on how to use this API operation.
  19110. //
  19111. // The context must be non-nil and will be used for request cancellation. If
  19112. // the context is nil a panic will occur. In the future the SDK may create
  19113. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19114. // for more information on using Contexts.
  19115. func (c *EC2) RequestSpotFleetWithContext(ctx aws.Context, input *RequestSpotFleetInput, opts ...request.Option) (*RequestSpotFleetOutput, error) {
  19116. req, out := c.RequestSpotFleetRequest(input)
  19117. req.SetContext(ctx)
  19118. req.ApplyOptions(opts...)
  19119. return out, req.Send()
  19120. }
  19121. const opRequestSpotInstances = "RequestSpotInstances"
  19122. // RequestSpotInstancesRequest generates a "aws/request.Request" representing the
  19123. // client's request for the RequestSpotInstances operation. The "output" return
  19124. // value will be populated with the request's response once the request complets
  19125. // successfuly.
  19126. //
  19127. // Use "Send" method on the returned Request to send the API call to the service.
  19128. // the "output" return value is not valid until after Send returns without error.
  19129. //
  19130. // See RequestSpotInstances for more information on using the RequestSpotInstances
  19131. // API call, and error handling.
  19132. //
  19133. // This method is useful when you want to inject custom logic or configuration
  19134. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  19135. //
  19136. //
  19137. // // Example sending a request using the RequestSpotInstancesRequest method.
  19138. // req, resp := client.RequestSpotInstancesRequest(params)
  19139. //
  19140. // err := req.Send()
  19141. // if err == nil { // resp is now filled
  19142. // fmt.Println(resp)
  19143. // }
  19144. //
  19145. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotInstances
  19146. func (c *EC2) RequestSpotInstancesRequest(input *RequestSpotInstancesInput) (req *request.Request, output *RequestSpotInstancesOutput) {
  19147. op := &request.Operation{
  19148. Name: opRequestSpotInstances,
  19149. HTTPMethod: "POST",
  19150. HTTPPath: "/",
  19151. }
  19152. if input == nil {
  19153. input = &RequestSpotInstancesInput{}
  19154. }
  19155. output = &RequestSpotInstancesOutput{}
  19156. req = c.newRequest(op, input, output)
  19157. return
  19158. }
  19159. // RequestSpotInstances API operation for Amazon Elastic Compute Cloud.
  19160. //
  19161. // Creates a Spot Instance request. Spot Instances are instances that Amazon
  19162. // EC2 launches when the maximum price that you specify exceeds the current
  19163. // Spot price. For more information, see Spot Instance Requests (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html)
  19164. // in the Amazon Elastic Compute Cloud User Guide.
  19165. //
  19166. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19167. // with awserr.Error's Code and Message methods to get detailed information about
  19168. // the error.
  19169. //
  19170. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19171. // API operation RequestSpotInstances for usage and error information.
  19172. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotInstances
  19173. func (c *EC2) RequestSpotInstances(input *RequestSpotInstancesInput) (*RequestSpotInstancesOutput, error) {
  19174. req, out := c.RequestSpotInstancesRequest(input)
  19175. return out, req.Send()
  19176. }
  19177. // RequestSpotInstancesWithContext is the same as RequestSpotInstances with the addition of
  19178. // the ability to pass a context and additional request options.
  19179. //
  19180. // See RequestSpotInstances for details on how to use this API operation.
  19181. //
  19182. // The context must be non-nil and will be used for request cancellation. If
  19183. // the context is nil a panic will occur. In the future the SDK may create
  19184. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19185. // for more information on using Contexts.
  19186. func (c *EC2) RequestSpotInstancesWithContext(ctx aws.Context, input *RequestSpotInstancesInput, opts ...request.Option) (*RequestSpotInstancesOutput, error) {
  19187. req, out := c.RequestSpotInstancesRequest(input)
  19188. req.SetContext(ctx)
  19189. req.ApplyOptions(opts...)
  19190. return out, req.Send()
  19191. }
  19192. const opResetFpgaImageAttribute = "ResetFpgaImageAttribute"
  19193. // ResetFpgaImageAttributeRequest generates a "aws/request.Request" representing the
  19194. // client's request for the ResetFpgaImageAttribute operation. The "output" return
  19195. // value will be populated with the request's response once the request complets
  19196. // successfuly.
  19197. //
  19198. // Use "Send" method on the returned Request to send the API call to the service.
  19199. // the "output" return value is not valid until after Send returns without error.
  19200. //
  19201. // See ResetFpgaImageAttribute for more information on using the ResetFpgaImageAttribute
  19202. // API call, and error handling.
  19203. //
  19204. // This method is useful when you want to inject custom logic or configuration
  19205. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  19206. //
  19207. //
  19208. // // Example sending a request using the ResetFpgaImageAttributeRequest method.
  19209. // req, resp := client.ResetFpgaImageAttributeRequest(params)
  19210. //
  19211. // err := req.Send()
  19212. // if err == nil { // resp is now filled
  19213. // fmt.Println(resp)
  19214. // }
  19215. //
  19216. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetFpgaImageAttribute
  19217. func (c *EC2) ResetFpgaImageAttributeRequest(input *ResetFpgaImageAttributeInput) (req *request.Request, output *ResetFpgaImageAttributeOutput) {
  19218. op := &request.Operation{
  19219. Name: opResetFpgaImageAttribute,
  19220. HTTPMethod: "POST",
  19221. HTTPPath: "/",
  19222. }
  19223. if input == nil {
  19224. input = &ResetFpgaImageAttributeInput{}
  19225. }
  19226. output = &ResetFpgaImageAttributeOutput{}
  19227. req = c.newRequest(op, input, output)
  19228. return
  19229. }
  19230. // ResetFpgaImageAttribute API operation for Amazon Elastic Compute Cloud.
  19231. //
  19232. // Resets the specified attribute of the specified Amazon FPGA Image (AFI) to
  19233. // its default value. You can only reset the load permission attribute.
  19234. //
  19235. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19236. // with awserr.Error's Code and Message methods to get detailed information about
  19237. // the error.
  19238. //
  19239. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19240. // API operation ResetFpgaImageAttribute for usage and error information.
  19241. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetFpgaImageAttribute
  19242. func (c *EC2) ResetFpgaImageAttribute(input *ResetFpgaImageAttributeInput) (*ResetFpgaImageAttributeOutput, error) {
  19243. req, out := c.ResetFpgaImageAttributeRequest(input)
  19244. return out, req.Send()
  19245. }
  19246. // ResetFpgaImageAttributeWithContext is the same as ResetFpgaImageAttribute with the addition of
  19247. // the ability to pass a context and additional request options.
  19248. //
  19249. // See ResetFpgaImageAttribute for details on how to use this API operation.
  19250. //
  19251. // The context must be non-nil and will be used for request cancellation. If
  19252. // the context is nil a panic will occur. In the future the SDK may create
  19253. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19254. // for more information on using Contexts.
  19255. func (c *EC2) ResetFpgaImageAttributeWithContext(ctx aws.Context, input *ResetFpgaImageAttributeInput, opts ...request.Option) (*ResetFpgaImageAttributeOutput, error) {
  19256. req, out := c.ResetFpgaImageAttributeRequest(input)
  19257. req.SetContext(ctx)
  19258. req.ApplyOptions(opts...)
  19259. return out, req.Send()
  19260. }
  19261. const opResetImageAttribute = "ResetImageAttribute"
  19262. // ResetImageAttributeRequest generates a "aws/request.Request" representing the
  19263. // client's request for the ResetImageAttribute operation. The "output" return
  19264. // value will be populated with the request's response once the request complets
  19265. // successfuly.
  19266. //
  19267. // Use "Send" method on the returned Request to send the API call to the service.
  19268. // the "output" return value is not valid until after Send returns without error.
  19269. //
  19270. // See ResetImageAttribute for more information on using the ResetImageAttribute
  19271. // API call, and error handling.
  19272. //
  19273. // This method is useful when you want to inject custom logic or configuration
  19274. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  19275. //
  19276. //
  19277. // // Example sending a request using the ResetImageAttributeRequest method.
  19278. // req, resp := client.ResetImageAttributeRequest(params)
  19279. //
  19280. // err := req.Send()
  19281. // if err == nil { // resp is now filled
  19282. // fmt.Println(resp)
  19283. // }
  19284. //
  19285. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetImageAttribute
  19286. func (c *EC2) ResetImageAttributeRequest(input *ResetImageAttributeInput) (req *request.Request, output *ResetImageAttributeOutput) {
  19287. op := &request.Operation{
  19288. Name: opResetImageAttribute,
  19289. HTTPMethod: "POST",
  19290. HTTPPath: "/",
  19291. }
  19292. if input == nil {
  19293. input = &ResetImageAttributeInput{}
  19294. }
  19295. output = &ResetImageAttributeOutput{}
  19296. req = c.newRequest(op, input, output)
  19297. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  19298. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  19299. return
  19300. }
  19301. // ResetImageAttribute API operation for Amazon Elastic Compute Cloud.
  19302. //
  19303. // Resets an attribute of an AMI to its default value.
  19304. //
  19305. // The productCodes attribute can't be reset.
  19306. //
  19307. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19308. // with awserr.Error's Code and Message methods to get detailed information about
  19309. // the error.
  19310. //
  19311. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19312. // API operation ResetImageAttribute for usage and error information.
  19313. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetImageAttribute
  19314. func (c *EC2) ResetImageAttribute(input *ResetImageAttributeInput) (*ResetImageAttributeOutput, error) {
  19315. req, out := c.ResetImageAttributeRequest(input)
  19316. return out, req.Send()
  19317. }
  19318. // ResetImageAttributeWithContext is the same as ResetImageAttribute with the addition of
  19319. // the ability to pass a context and additional request options.
  19320. //
  19321. // See ResetImageAttribute for details on how to use this API operation.
  19322. //
  19323. // The context must be non-nil and will be used for request cancellation. If
  19324. // the context is nil a panic will occur. In the future the SDK may create
  19325. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19326. // for more information on using Contexts.
  19327. func (c *EC2) ResetImageAttributeWithContext(ctx aws.Context, input *ResetImageAttributeInput, opts ...request.Option) (*ResetImageAttributeOutput, error) {
  19328. req, out := c.ResetImageAttributeRequest(input)
  19329. req.SetContext(ctx)
  19330. req.ApplyOptions(opts...)
  19331. return out, req.Send()
  19332. }
  19333. const opResetInstanceAttribute = "ResetInstanceAttribute"
  19334. // ResetInstanceAttributeRequest generates a "aws/request.Request" representing the
  19335. // client's request for the ResetInstanceAttribute operation. The "output" return
  19336. // value will be populated with the request's response once the request complets
  19337. // successfuly.
  19338. //
  19339. // Use "Send" method on the returned Request to send the API call to the service.
  19340. // the "output" return value is not valid until after Send returns without error.
  19341. //
  19342. // See ResetInstanceAttribute for more information on using the ResetInstanceAttribute
  19343. // API call, and error handling.
  19344. //
  19345. // This method is useful when you want to inject custom logic or configuration
  19346. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  19347. //
  19348. //
  19349. // // Example sending a request using the ResetInstanceAttributeRequest method.
  19350. // req, resp := client.ResetInstanceAttributeRequest(params)
  19351. //
  19352. // err := req.Send()
  19353. // if err == nil { // resp is now filled
  19354. // fmt.Println(resp)
  19355. // }
  19356. //
  19357. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetInstanceAttribute
  19358. func (c *EC2) ResetInstanceAttributeRequest(input *ResetInstanceAttributeInput) (req *request.Request, output *ResetInstanceAttributeOutput) {
  19359. op := &request.Operation{
  19360. Name: opResetInstanceAttribute,
  19361. HTTPMethod: "POST",
  19362. HTTPPath: "/",
  19363. }
  19364. if input == nil {
  19365. input = &ResetInstanceAttributeInput{}
  19366. }
  19367. output = &ResetInstanceAttributeOutput{}
  19368. req = c.newRequest(op, input, output)
  19369. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  19370. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  19371. return
  19372. }
  19373. // ResetInstanceAttribute API operation for Amazon Elastic Compute Cloud.
  19374. //
  19375. // Resets an attribute of an instance to its default value. To reset the kernel
  19376. // or ramdisk, the instance must be in a stopped state. To reset the sourceDestCheck,
  19377. // the instance can be either running or stopped.
  19378. //
  19379. // The sourceDestCheck attribute controls whether source/destination checking
  19380. // is enabled. The default value is true, which means checking is enabled. This
  19381. // value must be false for a NAT instance to perform NAT. For more information,
  19382. // see NAT Instances (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
  19383. // in the Amazon Virtual Private Cloud User Guide.
  19384. //
  19385. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19386. // with awserr.Error's Code and Message methods to get detailed information about
  19387. // the error.
  19388. //
  19389. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19390. // API operation ResetInstanceAttribute for usage and error information.
  19391. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetInstanceAttribute
  19392. func (c *EC2) ResetInstanceAttribute(input *ResetInstanceAttributeInput) (*ResetInstanceAttributeOutput, error) {
  19393. req, out := c.ResetInstanceAttributeRequest(input)
  19394. return out, req.Send()
  19395. }
  19396. // ResetInstanceAttributeWithContext is the same as ResetInstanceAttribute with the addition of
  19397. // the ability to pass a context and additional request options.
  19398. //
  19399. // See ResetInstanceAttribute for details on how to use this API operation.
  19400. //
  19401. // The context must be non-nil and will be used for request cancellation. If
  19402. // the context is nil a panic will occur. In the future the SDK may create
  19403. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19404. // for more information on using Contexts.
  19405. func (c *EC2) ResetInstanceAttributeWithContext(ctx aws.Context, input *ResetInstanceAttributeInput, opts ...request.Option) (*ResetInstanceAttributeOutput, error) {
  19406. req, out := c.ResetInstanceAttributeRequest(input)
  19407. req.SetContext(ctx)
  19408. req.ApplyOptions(opts...)
  19409. return out, req.Send()
  19410. }
  19411. const opResetNetworkInterfaceAttribute = "ResetNetworkInterfaceAttribute"
  19412. // ResetNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
  19413. // client's request for the ResetNetworkInterfaceAttribute operation. The "output" return
  19414. // value will be populated with the request's response once the request complets
  19415. // successfuly.
  19416. //
  19417. // Use "Send" method on the returned Request to send the API call to the service.
  19418. // the "output" return value is not valid until after Send returns without error.
  19419. //
  19420. // See ResetNetworkInterfaceAttribute for more information on using the ResetNetworkInterfaceAttribute
  19421. // API call, and error handling.
  19422. //
  19423. // This method is useful when you want to inject custom logic or configuration
  19424. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  19425. //
  19426. //
  19427. // // Example sending a request using the ResetNetworkInterfaceAttributeRequest method.
  19428. // req, resp := client.ResetNetworkInterfaceAttributeRequest(params)
  19429. //
  19430. // err := req.Send()
  19431. // if err == nil { // resp is now filled
  19432. // fmt.Println(resp)
  19433. // }
  19434. //
  19435. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetNetworkInterfaceAttribute
  19436. func (c *EC2) ResetNetworkInterfaceAttributeRequest(input *ResetNetworkInterfaceAttributeInput) (req *request.Request, output *ResetNetworkInterfaceAttributeOutput) {
  19437. op := &request.Operation{
  19438. Name: opResetNetworkInterfaceAttribute,
  19439. HTTPMethod: "POST",
  19440. HTTPPath: "/",
  19441. }
  19442. if input == nil {
  19443. input = &ResetNetworkInterfaceAttributeInput{}
  19444. }
  19445. output = &ResetNetworkInterfaceAttributeOutput{}
  19446. req = c.newRequest(op, input, output)
  19447. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  19448. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  19449. return
  19450. }
  19451. // ResetNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
  19452. //
  19453. // Resets a network interface attribute. You can specify only one attribute
  19454. // at a time.
  19455. //
  19456. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19457. // with awserr.Error's Code and Message methods to get detailed information about
  19458. // the error.
  19459. //
  19460. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19461. // API operation ResetNetworkInterfaceAttribute for usage and error information.
  19462. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetNetworkInterfaceAttribute
  19463. func (c *EC2) ResetNetworkInterfaceAttribute(input *ResetNetworkInterfaceAttributeInput) (*ResetNetworkInterfaceAttributeOutput, error) {
  19464. req, out := c.ResetNetworkInterfaceAttributeRequest(input)
  19465. return out, req.Send()
  19466. }
  19467. // ResetNetworkInterfaceAttributeWithContext is the same as ResetNetworkInterfaceAttribute with the addition of
  19468. // the ability to pass a context and additional request options.
  19469. //
  19470. // See ResetNetworkInterfaceAttribute for details on how to use this API operation.
  19471. //
  19472. // The context must be non-nil and will be used for request cancellation. If
  19473. // the context is nil a panic will occur. In the future the SDK may create
  19474. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19475. // for more information on using Contexts.
  19476. func (c *EC2) ResetNetworkInterfaceAttributeWithContext(ctx aws.Context, input *ResetNetworkInterfaceAttributeInput, opts ...request.Option) (*ResetNetworkInterfaceAttributeOutput, error) {
  19477. req, out := c.ResetNetworkInterfaceAttributeRequest(input)
  19478. req.SetContext(ctx)
  19479. req.ApplyOptions(opts...)
  19480. return out, req.Send()
  19481. }
  19482. const opResetSnapshotAttribute = "ResetSnapshotAttribute"
  19483. // ResetSnapshotAttributeRequest generates a "aws/request.Request" representing the
  19484. // client's request for the ResetSnapshotAttribute operation. The "output" return
  19485. // value will be populated with the request's response once the request complets
  19486. // successfuly.
  19487. //
  19488. // Use "Send" method on the returned Request to send the API call to the service.
  19489. // the "output" return value is not valid until after Send returns without error.
  19490. //
  19491. // See ResetSnapshotAttribute for more information on using the ResetSnapshotAttribute
  19492. // API call, and error handling.
  19493. //
  19494. // This method is useful when you want to inject custom logic or configuration
  19495. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  19496. //
  19497. //
  19498. // // Example sending a request using the ResetSnapshotAttributeRequest method.
  19499. // req, resp := client.ResetSnapshotAttributeRequest(params)
  19500. //
  19501. // err := req.Send()
  19502. // if err == nil { // resp is now filled
  19503. // fmt.Println(resp)
  19504. // }
  19505. //
  19506. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetSnapshotAttribute
  19507. func (c *EC2) ResetSnapshotAttributeRequest(input *ResetSnapshotAttributeInput) (req *request.Request, output *ResetSnapshotAttributeOutput) {
  19508. op := &request.Operation{
  19509. Name: opResetSnapshotAttribute,
  19510. HTTPMethod: "POST",
  19511. HTTPPath: "/",
  19512. }
  19513. if input == nil {
  19514. input = &ResetSnapshotAttributeInput{}
  19515. }
  19516. output = &ResetSnapshotAttributeOutput{}
  19517. req = c.newRequest(op, input, output)
  19518. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  19519. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  19520. return
  19521. }
  19522. // ResetSnapshotAttribute API operation for Amazon Elastic Compute Cloud.
  19523. //
  19524. // Resets permission settings for the specified snapshot.
  19525. //
  19526. // For more information on modifying snapshot permissions, see Sharing Snapshots
  19527. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html)
  19528. // in the Amazon Elastic Compute Cloud User Guide.
  19529. //
  19530. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19531. // with awserr.Error's Code and Message methods to get detailed information about
  19532. // the error.
  19533. //
  19534. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19535. // API operation ResetSnapshotAttribute for usage and error information.
  19536. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetSnapshotAttribute
  19537. func (c *EC2) ResetSnapshotAttribute(input *ResetSnapshotAttributeInput) (*ResetSnapshotAttributeOutput, error) {
  19538. req, out := c.ResetSnapshotAttributeRequest(input)
  19539. return out, req.Send()
  19540. }
  19541. // ResetSnapshotAttributeWithContext is the same as ResetSnapshotAttribute with the addition of
  19542. // the ability to pass a context and additional request options.
  19543. //
  19544. // See ResetSnapshotAttribute for details on how to use this API operation.
  19545. //
  19546. // The context must be non-nil and will be used for request cancellation. If
  19547. // the context is nil a panic will occur. In the future the SDK may create
  19548. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19549. // for more information on using Contexts.
  19550. func (c *EC2) ResetSnapshotAttributeWithContext(ctx aws.Context, input *ResetSnapshotAttributeInput, opts ...request.Option) (*ResetSnapshotAttributeOutput, error) {
  19551. req, out := c.ResetSnapshotAttributeRequest(input)
  19552. req.SetContext(ctx)
  19553. req.ApplyOptions(opts...)
  19554. return out, req.Send()
  19555. }
  19556. const opRestoreAddressToClassic = "RestoreAddressToClassic"
  19557. // RestoreAddressToClassicRequest generates a "aws/request.Request" representing the
  19558. // client's request for the RestoreAddressToClassic operation. The "output" return
  19559. // value will be populated with the request's response once the request complets
  19560. // successfuly.
  19561. //
  19562. // Use "Send" method on the returned Request to send the API call to the service.
  19563. // the "output" return value is not valid until after Send returns without error.
  19564. //
  19565. // See RestoreAddressToClassic for more information on using the RestoreAddressToClassic
  19566. // API call, and error handling.
  19567. //
  19568. // This method is useful when you want to inject custom logic or configuration
  19569. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  19570. //
  19571. //
  19572. // // Example sending a request using the RestoreAddressToClassicRequest method.
  19573. // req, resp := client.RestoreAddressToClassicRequest(params)
  19574. //
  19575. // err := req.Send()
  19576. // if err == nil { // resp is now filled
  19577. // fmt.Println(resp)
  19578. // }
  19579. //
  19580. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreAddressToClassic
  19581. func (c *EC2) RestoreAddressToClassicRequest(input *RestoreAddressToClassicInput) (req *request.Request, output *RestoreAddressToClassicOutput) {
  19582. op := &request.Operation{
  19583. Name: opRestoreAddressToClassic,
  19584. HTTPMethod: "POST",
  19585. HTTPPath: "/",
  19586. }
  19587. if input == nil {
  19588. input = &RestoreAddressToClassicInput{}
  19589. }
  19590. output = &RestoreAddressToClassicOutput{}
  19591. req = c.newRequest(op, input, output)
  19592. return
  19593. }
  19594. // RestoreAddressToClassic API operation for Amazon Elastic Compute Cloud.
  19595. //
  19596. // Restores an Elastic IP address that was previously moved to the EC2-VPC platform
  19597. // back to the EC2-Classic platform. You cannot move an Elastic IP address that
  19598. // was originally allocated for use in EC2-VPC. The Elastic IP address must
  19599. // not be associated with an instance or network interface.
  19600. //
  19601. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19602. // with awserr.Error's Code and Message methods to get detailed information about
  19603. // the error.
  19604. //
  19605. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19606. // API operation RestoreAddressToClassic for usage and error information.
  19607. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreAddressToClassic
  19608. func (c *EC2) RestoreAddressToClassic(input *RestoreAddressToClassicInput) (*RestoreAddressToClassicOutput, error) {
  19609. req, out := c.RestoreAddressToClassicRequest(input)
  19610. return out, req.Send()
  19611. }
  19612. // RestoreAddressToClassicWithContext is the same as RestoreAddressToClassic with the addition of
  19613. // the ability to pass a context and additional request options.
  19614. //
  19615. // See RestoreAddressToClassic for details on how to use this API operation.
  19616. //
  19617. // The context must be non-nil and will be used for request cancellation. If
  19618. // the context is nil a panic will occur. In the future the SDK may create
  19619. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19620. // for more information on using Contexts.
  19621. func (c *EC2) RestoreAddressToClassicWithContext(ctx aws.Context, input *RestoreAddressToClassicInput, opts ...request.Option) (*RestoreAddressToClassicOutput, error) {
  19622. req, out := c.RestoreAddressToClassicRequest(input)
  19623. req.SetContext(ctx)
  19624. req.ApplyOptions(opts...)
  19625. return out, req.Send()
  19626. }
  19627. const opRevokeSecurityGroupEgress = "RevokeSecurityGroupEgress"
  19628. // RevokeSecurityGroupEgressRequest generates a "aws/request.Request" representing the
  19629. // client's request for the RevokeSecurityGroupEgress operation. The "output" return
  19630. // value will be populated with the request's response once the request complets
  19631. // successfuly.
  19632. //
  19633. // Use "Send" method on the returned Request to send the API call to the service.
  19634. // the "output" return value is not valid until after Send returns without error.
  19635. //
  19636. // See RevokeSecurityGroupEgress for more information on using the RevokeSecurityGroupEgress
  19637. // API call, and error handling.
  19638. //
  19639. // This method is useful when you want to inject custom logic or configuration
  19640. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  19641. //
  19642. //
  19643. // // Example sending a request using the RevokeSecurityGroupEgressRequest method.
  19644. // req, resp := client.RevokeSecurityGroupEgressRequest(params)
  19645. //
  19646. // err := req.Send()
  19647. // if err == nil { // resp is now filled
  19648. // fmt.Println(resp)
  19649. // }
  19650. //
  19651. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupEgress
  19652. func (c *EC2) RevokeSecurityGroupEgressRequest(input *RevokeSecurityGroupEgressInput) (req *request.Request, output *RevokeSecurityGroupEgressOutput) {
  19653. op := &request.Operation{
  19654. Name: opRevokeSecurityGroupEgress,
  19655. HTTPMethod: "POST",
  19656. HTTPPath: "/",
  19657. }
  19658. if input == nil {
  19659. input = &RevokeSecurityGroupEgressInput{}
  19660. }
  19661. output = &RevokeSecurityGroupEgressOutput{}
  19662. req = c.newRequest(op, input, output)
  19663. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  19664. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  19665. return
  19666. }
  19667. // RevokeSecurityGroupEgress API operation for Amazon Elastic Compute Cloud.
  19668. //
  19669. // [EC2-VPC only] Removes one or more egress rules from a security group for
  19670. // EC2-VPC. This action doesn't apply to security groups for use in EC2-Classic.
  19671. // To remove a rule, the values that you specify (for example, ports) must match
  19672. // the existing rule's values exactly.
  19673. //
  19674. // Each rule consists of the protocol and the IPv4 or IPv6 CIDR range or source
  19675. // security group. For the TCP and UDP protocols, you must also specify the
  19676. // destination port or range of ports. For the ICMP protocol, you must also
  19677. // specify the ICMP type and code. If the security group rule has a description,
  19678. // you do not have to specify the description to revoke the rule.
  19679. //
  19680. // Rule changes are propagated to instances within the security group as quickly
  19681. // as possible. However, a small delay might occur.
  19682. //
  19683. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19684. // with awserr.Error's Code and Message methods to get detailed information about
  19685. // the error.
  19686. //
  19687. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19688. // API operation RevokeSecurityGroupEgress for usage and error information.
  19689. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupEgress
  19690. func (c *EC2) RevokeSecurityGroupEgress(input *RevokeSecurityGroupEgressInput) (*RevokeSecurityGroupEgressOutput, error) {
  19691. req, out := c.RevokeSecurityGroupEgressRequest(input)
  19692. return out, req.Send()
  19693. }
  19694. // RevokeSecurityGroupEgressWithContext is the same as RevokeSecurityGroupEgress with the addition of
  19695. // the ability to pass a context and additional request options.
  19696. //
  19697. // See RevokeSecurityGroupEgress for details on how to use this API operation.
  19698. //
  19699. // The context must be non-nil and will be used for request cancellation. If
  19700. // the context is nil a panic will occur. In the future the SDK may create
  19701. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19702. // for more information on using Contexts.
  19703. func (c *EC2) RevokeSecurityGroupEgressWithContext(ctx aws.Context, input *RevokeSecurityGroupEgressInput, opts ...request.Option) (*RevokeSecurityGroupEgressOutput, error) {
  19704. req, out := c.RevokeSecurityGroupEgressRequest(input)
  19705. req.SetContext(ctx)
  19706. req.ApplyOptions(opts...)
  19707. return out, req.Send()
  19708. }
  19709. const opRevokeSecurityGroupIngress = "RevokeSecurityGroupIngress"
  19710. // RevokeSecurityGroupIngressRequest generates a "aws/request.Request" representing the
  19711. // client's request for the RevokeSecurityGroupIngress operation. The "output" return
  19712. // value will be populated with the request's response once the request complets
  19713. // successfuly.
  19714. //
  19715. // Use "Send" method on the returned Request to send the API call to the service.
  19716. // the "output" return value is not valid until after Send returns without error.
  19717. //
  19718. // See RevokeSecurityGroupIngress for more information on using the RevokeSecurityGroupIngress
  19719. // API call, and error handling.
  19720. //
  19721. // This method is useful when you want to inject custom logic or configuration
  19722. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  19723. //
  19724. //
  19725. // // Example sending a request using the RevokeSecurityGroupIngressRequest method.
  19726. // req, resp := client.RevokeSecurityGroupIngressRequest(params)
  19727. //
  19728. // err := req.Send()
  19729. // if err == nil { // resp is now filled
  19730. // fmt.Println(resp)
  19731. // }
  19732. //
  19733. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupIngress
  19734. func (c *EC2) RevokeSecurityGroupIngressRequest(input *RevokeSecurityGroupIngressInput) (req *request.Request, output *RevokeSecurityGroupIngressOutput) {
  19735. op := &request.Operation{
  19736. Name: opRevokeSecurityGroupIngress,
  19737. HTTPMethod: "POST",
  19738. HTTPPath: "/",
  19739. }
  19740. if input == nil {
  19741. input = &RevokeSecurityGroupIngressInput{}
  19742. }
  19743. output = &RevokeSecurityGroupIngressOutput{}
  19744. req = c.newRequest(op, input, output)
  19745. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  19746. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  19747. return
  19748. }
  19749. // RevokeSecurityGroupIngress API operation for Amazon Elastic Compute Cloud.
  19750. //
  19751. // Removes one or more ingress rules from a security group. To remove a rule,
  19752. // the values that you specify (for example, ports) must match the existing
  19753. // rule's values exactly.
  19754. //
  19755. // [EC2-Classic security groups only] If the values you specify do not match
  19756. // the existing rule's values, no error is returned. Use DescribeSecurityGroups
  19757. // to verify that the rule has been removed.
  19758. //
  19759. // Each rule consists of the protocol and the CIDR range or source security
  19760. // group. For the TCP and UDP protocols, you must also specify the destination
  19761. // port or range of ports. For the ICMP protocol, you must also specify the
  19762. // ICMP type and code. If the security group rule has a description, you do
  19763. // not have to specify the description to revoke the rule.
  19764. //
  19765. // Rule changes are propagated to instances within the security group as quickly
  19766. // as possible. However, a small delay might occur.
  19767. //
  19768. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19769. // with awserr.Error's Code and Message methods to get detailed information about
  19770. // the error.
  19771. //
  19772. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19773. // API operation RevokeSecurityGroupIngress for usage and error information.
  19774. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupIngress
  19775. func (c *EC2) RevokeSecurityGroupIngress(input *RevokeSecurityGroupIngressInput) (*RevokeSecurityGroupIngressOutput, error) {
  19776. req, out := c.RevokeSecurityGroupIngressRequest(input)
  19777. return out, req.Send()
  19778. }
  19779. // RevokeSecurityGroupIngressWithContext is the same as RevokeSecurityGroupIngress with the addition of
  19780. // the ability to pass a context and additional request options.
  19781. //
  19782. // See RevokeSecurityGroupIngress for details on how to use this API operation.
  19783. //
  19784. // The context must be non-nil and will be used for request cancellation. If
  19785. // the context is nil a panic will occur. In the future the SDK may create
  19786. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19787. // for more information on using Contexts.
  19788. func (c *EC2) RevokeSecurityGroupIngressWithContext(ctx aws.Context, input *RevokeSecurityGroupIngressInput, opts ...request.Option) (*RevokeSecurityGroupIngressOutput, error) {
  19789. req, out := c.RevokeSecurityGroupIngressRequest(input)
  19790. req.SetContext(ctx)
  19791. req.ApplyOptions(opts...)
  19792. return out, req.Send()
  19793. }
  19794. const opRunInstances = "RunInstances"
  19795. // RunInstancesRequest generates a "aws/request.Request" representing the
  19796. // client's request for the RunInstances operation. The "output" return
  19797. // value will be populated with the request's response once the request complets
  19798. // successfuly.
  19799. //
  19800. // Use "Send" method on the returned Request to send the API call to the service.
  19801. // the "output" return value is not valid until after Send returns without error.
  19802. //
  19803. // See RunInstances for more information on using the RunInstances
  19804. // API call, and error handling.
  19805. //
  19806. // This method is useful when you want to inject custom logic or configuration
  19807. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  19808. //
  19809. //
  19810. // // Example sending a request using the RunInstancesRequest method.
  19811. // req, resp := client.RunInstancesRequest(params)
  19812. //
  19813. // err := req.Send()
  19814. // if err == nil { // resp is now filled
  19815. // fmt.Println(resp)
  19816. // }
  19817. //
  19818. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunInstances
  19819. func (c *EC2) RunInstancesRequest(input *RunInstancesInput) (req *request.Request, output *Reservation) {
  19820. op := &request.Operation{
  19821. Name: opRunInstances,
  19822. HTTPMethod: "POST",
  19823. HTTPPath: "/",
  19824. }
  19825. if input == nil {
  19826. input = &RunInstancesInput{}
  19827. }
  19828. output = &Reservation{}
  19829. req = c.newRequest(op, input, output)
  19830. return
  19831. }
  19832. // RunInstances API operation for Amazon Elastic Compute Cloud.
  19833. //
  19834. // Launches the specified number of instances using an AMI for which you have
  19835. // permissions.
  19836. //
  19837. // You can specify a number of options, or leave the default options. The following
  19838. // rules apply:
  19839. //
  19840. // * [EC2-VPC] If you don't specify a subnet ID, we choose a default subnet
  19841. // from your default VPC for you. If you don't have a default VPC, you must
  19842. // specify a subnet ID in the request.
  19843. //
  19844. // * [EC2-Classic] If don't specify an Availability Zone, we choose one for
  19845. // you.
  19846. //
  19847. // * Some instance types must be launched into a VPC. If you do not have
  19848. // a default VPC, or if you do not specify a subnet ID, the request fails.
  19849. // For more information, see Instance Types Available Only in a VPC (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-vpc.html#vpc-only-instance-types).
  19850. //
  19851. // * [EC2-VPC] All instances have a network interface with a primary private
  19852. // IPv4 address. If you don't specify this address, we choose one from the
  19853. // IPv4 range of your subnet.
  19854. //
  19855. // * Not all instance types support IPv6 addresses. For more information,
  19856. // see Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).
  19857. //
  19858. // * If you don't specify a security group ID, we use the default security
  19859. // group. For more information, see Security Groups (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html).
  19860. //
  19861. // * If any of the AMIs have a product code attached for which the user has
  19862. // not subscribed, the request fails.
  19863. //
  19864. // You can create a launch template (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html),
  19865. // which is a resource that contains the parameters to launch an instance. When
  19866. // you launch an instance using RunInstances, you can specify the launch template
  19867. // instead of specifying the launch parameters.
  19868. //
  19869. // To ensure faster instance launches, break up large requests into smaller
  19870. // batches. For example, create five separate launch requests for 100 instances
  19871. // each instead of one launch request for 500 instances.
  19872. //
  19873. // An instance is ready for you to use when it's in the running state. You can
  19874. // check the state of your instance using DescribeInstances. You can tag instances
  19875. // and EBS volumes during launch, after launch, or both. For more information,
  19876. // see CreateTags and Tagging Your Amazon EC2 Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html).
  19877. //
  19878. // Linux instances have access to the public key of the key pair at boot. You
  19879. // can use this key to provide secure access to the instance. Amazon EC2 public
  19880. // images use this feature to provide secure access without passwords. For more
  19881. // information, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
  19882. // in the Amazon Elastic Compute Cloud User Guide.
  19883. //
  19884. // For troubleshooting, see What To Do If An Instance Immediately Terminates
  19885. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_InstanceStraightToTerminated.html),
  19886. // and Troubleshooting Connecting to Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html)
  19887. // in the Amazon Elastic Compute Cloud User Guide.
  19888. //
  19889. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19890. // with awserr.Error's Code and Message methods to get detailed information about
  19891. // the error.
  19892. //
  19893. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19894. // API operation RunInstances for usage and error information.
  19895. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunInstances
  19896. func (c *EC2) RunInstances(input *RunInstancesInput) (*Reservation, error) {
  19897. req, out := c.RunInstancesRequest(input)
  19898. return out, req.Send()
  19899. }
  19900. // RunInstancesWithContext is the same as RunInstances with the addition of
  19901. // the ability to pass a context and additional request options.
  19902. //
  19903. // See RunInstances for details on how to use this API operation.
  19904. //
  19905. // The context must be non-nil and will be used for request cancellation. If
  19906. // the context is nil a panic will occur. In the future the SDK may create
  19907. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19908. // for more information on using Contexts.
  19909. func (c *EC2) RunInstancesWithContext(ctx aws.Context, input *RunInstancesInput, opts ...request.Option) (*Reservation, error) {
  19910. req, out := c.RunInstancesRequest(input)
  19911. req.SetContext(ctx)
  19912. req.ApplyOptions(opts...)
  19913. return out, req.Send()
  19914. }
  19915. const opRunScheduledInstances = "RunScheduledInstances"
  19916. // RunScheduledInstancesRequest generates a "aws/request.Request" representing the
  19917. // client's request for the RunScheduledInstances operation. The "output" return
  19918. // value will be populated with the request's response once the request complets
  19919. // successfuly.
  19920. //
  19921. // Use "Send" method on the returned Request to send the API call to the service.
  19922. // the "output" return value is not valid until after Send returns without error.
  19923. //
  19924. // See RunScheduledInstances for more information on using the RunScheduledInstances
  19925. // API call, and error handling.
  19926. //
  19927. // This method is useful when you want to inject custom logic or configuration
  19928. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  19929. //
  19930. //
  19931. // // Example sending a request using the RunScheduledInstancesRequest method.
  19932. // req, resp := client.RunScheduledInstancesRequest(params)
  19933. //
  19934. // err := req.Send()
  19935. // if err == nil { // resp is now filled
  19936. // fmt.Println(resp)
  19937. // }
  19938. //
  19939. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunScheduledInstances
  19940. func (c *EC2) RunScheduledInstancesRequest(input *RunScheduledInstancesInput) (req *request.Request, output *RunScheduledInstancesOutput) {
  19941. op := &request.Operation{
  19942. Name: opRunScheduledInstances,
  19943. HTTPMethod: "POST",
  19944. HTTPPath: "/",
  19945. }
  19946. if input == nil {
  19947. input = &RunScheduledInstancesInput{}
  19948. }
  19949. output = &RunScheduledInstancesOutput{}
  19950. req = c.newRequest(op, input, output)
  19951. return
  19952. }
  19953. // RunScheduledInstances API operation for Amazon Elastic Compute Cloud.
  19954. //
  19955. // Launches the specified Scheduled Instances.
  19956. //
  19957. // Before you can launch a Scheduled Instance, you must purchase it and obtain
  19958. // an identifier using PurchaseScheduledInstances.
  19959. //
  19960. // You must launch a Scheduled Instance during its scheduled time period. You
  19961. // can't stop or reboot a Scheduled Instance, but you can terminate it as needed.
  19962. // If you terminate a Scheduled Instance before the current scheduled time period
  19963. // ends, you can launch it again after a few minutes. For more information,
  19964. // see Scheduled Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-scheduled-instances.html)
  19965. // in the Amazon Elastic Compute Cloud User Guide.
  19966. //
  19967. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19968. // with awserr.Error's Code and Message methods to get detailed information about
  19969. // the error.
  19970. //
  19971. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19972. // API operation RunScheduledInstances for usage and error information.
  19973. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunScheduledInstances
  19974. func (c *EC2) RunScheduledInstances(input *RunScheduledInstancesInput) (*RunScheduledInstancesOutput, error) {
  19975. req, out := c.RunScheduledInstancesRequest(input)
  19976. return out, req.Send()
  19977. }
  19978. // RunScheduledInstancesWithContext is the same as RunScheduledInstances with the addition of
  19979. // the ability to pass a context and additional request options.
  19980. //
  19981. // See RunScheduledInstances for details on how to use this API operation.
  19982. //
  19983. // The context must be non-nil and will be used for request cancellation. If
  19984. // the context is nil a panic will occur. In the future the SDK may create
  19985. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19986. // for more information on using Contexts.
  19987. func (c *EC2) RunScheduledInstancesWithContext(ctx aws.Context, input *RunScheduledInstancesInput, opts ...request.Option) (*RunScheduledInstancesOutput, error) {
  19988. req, out := c.RunScheduledInstancesRequest(input)
  19989. req.SetContext(ctx)
  19990. req.ApplyOptions(opts...)
  19991. return out, req.Send()
  19992. }
  19993. const opStartInstances = "StartInstances"
  19994. // StartInstancesRequest generates a "aws/request.Request" representing the
  19995. // client's request for the StartInstances operation. The "output" return
  19996. // value will be populated with the request's response once the request complets
  19997. // successfuly.
  19998. //
  19999. // Use "Send" method on the returned Request to send the API call to the service.
  20000. // the "output" return value is not valid until after Send returns without error.
  20001. //
  20002. // See StartInstances for more information on using the StartInstances
  20003. // API call, and error handling.
  20004. //
  20005. // This method is useful when you want to inject custom logic or configuration
  20006. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  20007. //
  20008. //
  20009. // // Example sending a request using the StartInstancesRequest method.
  20010. // req, resp := client.StartInstancesRequest(params)
  20011. //
  20012. // err := req.Send()
  20013. // if err == nil { // resp is now filled
  20014. // fmt.Println(resp)
  20015. // }
  20016. //
  20017. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartInstances
  20018. func (c *EC2) StartInstancesRequest(input *StartInstancesInput) (req *request.Request, output *StartInstancesOutput) {
  20019. op := &request.Operation{
  20020. Name: opStartInstances,
  20021. HTTPMethod: "POST",
  20022. HTTPPath: "/",
  20023. }
  20024. if input == nil {
  20025. input = &StartInstancesInput{}
  20026. }
  20027. output = &StartInstancesOutput{}
  20028. req = c.newRequest(op, input, output)
  20029. return
  20030. }
  20031. // StartInstances API operation for Amazon Elastic Compute Cloud.
  20032. //
  20033. // Starts an Amazon EBS-backed instance that you've previously stopped.
  20034. //
  20035. // Instances that use Amazon EBS volumes as their root devices can be quickly
  20036. // stopped and started. When an instance is stopped, the compute resources are
  20037. // released and you are not billed for instance usage. However, your root partition
  20038. // Amazon EBS volume remains and continues to persist your data, and you are
  20039. // charged for Amazon EBS volume usage. You can restart your instance at any
  20040. // time. Every time you start your Windows instance, Amazon EC2 charges you
  20041. // for a full instance hour. If you stop and restart your Windows instance,
  20042. // a new instance hour begins and Amazon EC2 charges you for another full instance
  20043. // hour even if you are still within the same 60-minute period when it was stopped.
  20044. // Every time you start your Linux instance, Amazon EC2 charges a one-minute
  20045. // minimum for instance usage, and thereafter charges per second for instance
  20046. // usage.
  20047. //
  20048. // Before stopping an instance, make sure it is in a state from which it can
  20049. // be restarted. Stopping an instance does not preserve data stored in RAM.
  20050. //
  20051. // Performing this operation on an instance that uses an instance store as its
  20052. // root device returns an error.
  20053. //
  20054. // For more information, see Stopping Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html)
  20055. // in the Amazon Elastic Compute Cloud User Guide.
  20056. //
  20057. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  20058. // with awserr.Error's Code and Message methods to get detailed information about
  20059. // the error.
  20060. //
  20061. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  20062. // API operation StartInstances for usage and error information.
  20063. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartInstances
  20064. func (c *EC2) StartInstances(input *StartInstancesInput) (*StartInstancesOutput, error) {
  20065. req, out := c.StartInstancesRequest(input)
  20066. return out, req.Send()
  20067. }
  20068. // StartInstancesWithContext is the same as StartInstances with the addition of
  20069. // the ability to pass a context and additional request options.
  20070. //
  20071. // See StartInstances for details on how to use this API operation.
  20072. //
  20073. // The context must be non-nil and will be used for request cancellation. If
  20074. // the context is nil a panic will occur. In the future the SDK may create
  20075. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20076. // for more information on using Contexts.
  20077. func (c *EC2) StartInstancesWithContext(ctx aws.Context, input *StartInstancesInput, opts ...request.Option) (*StartInstancesOutput, error) {
  20078. req, out := c.StartInstancesRequest(input)
  20079. req.SetContext(ctx)
  20080. req.ApplyOptions(opts...)
  20081. return out, req.Send()
  20082. }
  20083. const opStopInstances = "StopInstances"
  20084. // StopInstancesRequest generates a "aws/request.Request" representing the
  20085. // client's request for the StopInstances operation. The "output" return
  20086. // value will be populated with the request's response once the request complets
  20087. // successfuly.
  20088. //
  20089. // Use "Send" method on the returned Request to send the API call to the service.
  20090. // the "output" return value is not valid until after Send returns without error.
  20091. //
  20092. // See StopInstances for more information on using the StopInstances
  20093. // API call, and error handling.
  20094. //
  20095. // This method is useful when you want to inject custom logic or configuration
  20096. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  20097. //
  20098. //
  20099. // // Example sending a request using the StopInstancesRequest method.
  20100. // req, resp := client.StopInstancesRequest(params)
  20101. //
  20102. // err := req.Send()
  20103. // if err == nil { // resp is now filled
  20104. // fmt.Println(resp)
  20105. // }
  20106. //
  20107. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StopInstances
  20108. func (c *EC2) StopInstancesRequest(input *StopInstancesInput) (req *request.Request, output *StopInstancesOutput) {
  20109. op := &request.Operation{
  20110. Name: opStopInstances,
  20111. HTTPMethod: "POST",
  20112. HTTPPath: "/",
  20113. }
  20114. if input == nil {
  20115. input = &StopInstancesInput{}
  20116. }
  20117. output = &StopInstancesOutput{}
  20118. req = c.newRequest(op, input, output)
  20119. return
  20120. }
  20121. // StopInstances API operation for Amazon Elastic Compute Cloud.
  20122. //
  20123. // Stops an Amazon EBS-backed instance.
  20124. //
  20125. // We don't charge usage for a stopped instance, or data transfer fees; however,
  20126. // your root partition Amazon EBS volume remains and continues to persist your
  20127. // data, and you are charged for Amazon EBS volume usage. Every time you start
  20128. // your Windows instance, Amazon EC2 charges you for a full instance hour. If
  20129. // you stop and restart your Windows instance, a new instance hour begins and
  20130. // Amazon EC2 charges you for another full instance hour even if you are still
  20131. // within the same 60-minute period when it was stopped. Every time you start
  20132. // your Linux instance, Amazon EC2 charges a one-minute minimum for instance
  20133. // usage, and thereafter charges per second for instance usage.
  20134. //
  20135. // You can't start or stop Spot Instances, and you can't stop instance store-backed
  20136. // instances.
  20137. //
  20138. // When you stop an instance, we shut it down. You can restart your instance
  20139. // at any time. Before stopping an instance, make sure it is in a state from
  20140. // which it can be restarted. Stopping an instance does not preserve data stored
  20141. // in RAM.
  20142. //
  20143. // Stopping an instance is different to rebooting or terminating it. For example,
  20144. // when you stop an instance, the root device and any other devices attached
  20145. // to the instance persist. When you terminate an instance, the root device
  20146. // and any other devices attached during the instance launch are automatically
  20147. // deleted. For more information about the differences between rebooting, stopping,
  20148. // and terminating instances, see Instance Lifecycle (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
  20149. // in the Amazon Elastic Compute Cloud User Guide.
  20150. //
  20151. // When you stop an instance, we attempt to shut it down forcibly after a short
  20152. // while. If your instance appears stuck in the stopping state after a period
  20153. // of time, there may be an issue with the underlying host computer. For more
  20154. // information, see Troubleshooting Stopping Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesStopping.html)
  20155. // in the Amazon Elastic Compute Cloud User Guide.
  20156. //
  20157. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  20158. // with awserr.Error's Code and Message methods to get detailed information about
  20159. // the error.
  20160. //
  20161. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  20162. // API operation StopInstances for usage and error information.
  20163. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StopInstances
  20164. func (c *EC2) StopInstances(input *StopInstancesInput) (*StopInstancesOutput, error) {
  20165. req, out := c.StopInstancesRequest(input)
  20166. return out, req.Send()
  20167. }
  20168. // StopInstancesWithContext is the same as StopInstances with the addition of
  20169. // the ability to pass a context and additional request options.
  20170. //
  20171. // See StopInstances for details on how to use this API operation.
  20172. //
  20173. // The context must be non-nil and will be used for request cancellation. If
  20174. // the context is nil a panic will occur. In the future the SDK may create
  20175. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20176. // for more information on using Contexts.
  20177. func (c *EC2) StopInstancesWithContext(ctx aws.Context, input *StopInstancesInput, opts ...request.Option) (*StopInstancesOutput, error) {
  20178. req, out := c.StopInstancesRequest(input)
  20179. req.SetContext(ctx)
  20180. req.ApplyOptions(opts...)
  20181. return out, req.Send()
  20182. }
  20183. const opTerminateInstances = "TerminateInstances"
  20184. // TerminateInstancesRequest generates a "aws/request.Request" representing the
  20185. // client's request for the TerminateInstances operation. The "output" return
  20186. // value will be populated with the request's response once the request complets
  20187. // successfuly.
  20188. //
  20189. // Use "Send" method on the returned Request to send the API call to the service.
  20190. // the "output" return value is not valid until after Send returns without error.
  20191. //
  20192. // See TerminateInstances for more information on using the TerminateInstances
  20193. // API call, and error handling.
  20194. //
  20195. // This method is useful when you want to inject custom logic or configuration
  20196. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  20197. //
  20198. //
  20199. // // Example sending a request using the TerminateInstancesRequest method.
  20200. // req, resp := client.TerminateInstancesRequest(params)
  20201. //
  20202. // err := req.Send()
  20203. // if err == nil { // resp is now filled
  20204. // fmt.Println(resp)
  20205. // }
  20206. //
  20207. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateInstances
  20208. func (c *EC2) TerminateInstancesRequest(input *TerminateInstancesInput) (req *request.Request, output *TerminateInstancesOutput) {
  20209. op := &request.Operation{
  20210. Name: opTerminateInstances,
  20211. HTTPMethod: "POST",
  20212. HTTPPath: "/",
  20213. }
  20214. if input == nil {
  20215. input = &TerminateInstancesInput{}
  20216. }
  20217. output = &TerminateInstancesOutput{}
  20218. req = c.newRequest(op, input, output)
  20219. return
  20220. }
  20221. // TerminateInstances API operation for Amazon Elastic Compute Cloud.
  20222. //
  20223. // Shuts down one or more instances. This operation is idempotent; if you terminate
  20224. // an instance more than once, each call succeeds.
  20225. //
  20226. // If you specify multiple instances and the request fails (for example, because
  20227. // of a single incorrect instance ID), none of the instances are terminated.
  20228. //
  20229. // Terminated instances remain visible after termination (for approximately
  20230. // one hour).
  20231. //
  20232. // By default, Amazon EC2 deletes all EBS volumes that were attached when the
  20233. // instance launched. Volumes attached after instance launch continue running.
  20234. //
  20235. // You can stop, start, and terminate EBS-backed instances. You can only terminate
  20236. // instance store-backed instances. What happens to an instance differs if you
  20237. // stop it or terminate it. For example, when you stop an instance, the root
  20238. // device and any other devices attached to the instance persist. When you terminate
  20239. // an instance, any attached EBS volumes with the DeleteOnTermination block
  20240. // device mapping parameter set to true are automatically deleted. For more
  20241. // information about the differences between stopping and terminating instances,
  20242. // see Instance Lifecycle (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
  20243. // in the Amazon Elastic Compute Cloud User Guide.
  20244. //
  20245. // For more information about troubleshooting, see Troubleshooting Terminating
  20246. // Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesShuttingDown.html)
  20247. // in the Amazon Elastic Compute Cloud User Guide.
  20248. //
  20249. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  20250. // with awserr.Error's Code and Message methods to get detailed information about
  20251. // the error.
  20252. //
  20253. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  20254. // API operation TerminateInstances for usage and error information.
  20255. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateInstances
  20256. func (c *EC2) TerminateInstances(input *TerminateInstancesInput) (*TerminateInstancesOutput, error) {
  20257. req, out := c.TerminateInstancesRequest(input)
  20258. return out, req.Send()
  20259. }
  20260. // TerminateInstancesWithContext is the same as TerminateInstances with the addition of
  20261. // the ability to pass a context and additional request options.
  20262. //
  20263. // See TerminateInstances for details on how to use this API operation.
  20264. //
  20265. // The context must be non-nil and will be used for request cancellation. If
  20266. // the context is nil a panic will occur. In the future the SDK may create
  20267. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20268. // for more information on using Contexts.
  20269. func (c *EC2) TerminateInstancesWithContext(ctx aws.Context, input *TerminateInstancesInput, opts ...request.Option) (*TerminateInstancesOutput, error) {
  20270. req, out := c.TerminateInstancesRequest(input)
  20271. req.SetContext(ctx)
  20272. req.ApplyOptions(opts...)
  20273. return out, req.Send()
  20274. }
  20275. const opUnassignIpv6Addresses = "UnassignIpv6Addresses"
  20276. // UnassignIpv6AddressesRequest generates a "aws/request.Request" representing the
  20277. // client's request for the UnassignIpv6Addresses operation. The "output" return
  20278. // value will be populated with the request's response once the request complets
  20279. // successfuly.
  20280. //
  20281. // Use "Send" method on the returned Request to send the API call to the service.
  20282. // the "output" return value is not valid until after Send returns without error.
  20283. //
  20284. // See UnassignIpv6Addresses for more information on using the UnassignIpv6Addresses
  20285. // API call, and error handling.
  20286. //
  20287. // This method is useful when you want to inject custom logic or configuration
  20288. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  20289. //
  20290. //
  20291. // // Example sending a request using the UnassignIpv6AddressesRequest method.
  20292. // req, resp := client.UnassignIpv6AddressesRequest(params)
  20293. //
  20294. // err := req.Send()
  20295. // if err == nil { // resp is now filled
  20296. // fmt.Println(resp)
  20297. // }
  20298. //
  20299. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignIpv6Addresses
  20300. func (c *EC2) UnassignIpv6AddressesRequest(input *UnassignIpv6AddressesInput) (req *request.Request, output *UnassignIpv6AddressesOutput) {
  20301. op := &request.Operation{
  20302. Name: opUnassignIpv6Addresses,
  20303. HTTPMethod: "POST",
  20304. HTTPPath: "/",
  20305. }
  20306. if input == nil {
  20307. input = &UnassignIpv6AddressesInput{}
  20308. }
  20309. output = &UnassignIpv6AddressesOutput{}
  20310. req = c.newRequest(op, input, output)
  20311. return
  20312. }
  20313. // UnassignIpv6Addresses API operation for Amazon Elastic Compute Cloud.
  20314. //
  20315. // Unassigns one or more IPv6 addresses from a network interface.
  20316. //
  20317. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  20318. // with awserr.Error's Code and Message methods to get detailed information about
  20319. // the error.
  20320. //
  20321. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  20322. // API operation UnassignIpv6Addresses for usage and error information.
  20323. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignIpv6Addresses
  20324. func (c *EC2) UnassignIpv6Addresses(input *UnassignIpv6AddressesInput) (*UnassignIpv6AddressesOutput, error) {
  20325. req, out := c.UnassignIpv6AddressesRequest(input)
  20326. return out, req.Send()
  20327. }
  20328. // UnassignIpv6AddressesWithContext is the same as UnassignIpv6Addresses with the addition of
  20329. // the ability to pass a context and additional request options.
  20330. //
  20331. // See UnassignIpv6Addresses for details on how to use this API operation.
  20332. //
  20333. // The context must be non-nil and will be used for request cancellation. If
  20334. // the context is nil a panic will occur. In the future the SDK may create
  20335. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20336. // for more information on using Contexts.
  20337. func (c *EC2) UnassignIpv6AddressesWithContext(ctx aws.Context, input *UnassignIpv6AddressesInput, opts ...request.Option) (*UnassignIpv6AddressesOutput, error) {
  20338. req, out := c.UnassignIpv6AddressesRequest(input)
  20339. req.SetContext(ctx)
  20340. req.ApplyOptions(opts...)
  20341. return out, req.Send()
  20342. }
  20343. const opUnassignPrivateIpAddresses = "UnassignPrivateIpAddresses"
  20344. // UnassignPrivateIpAddressesRequest generates a "aws/request.Request" representing the
  20345. // client's request for the UnassignPrivateIpAddresses operation. The "output" return
  20346. // value will be populated with the request's response once the request complets
  20347. // successfuly.
  20348. //
  20349. // Use "Send" method on the returned Request to send the API call to the service.
  20350. // the "output" return value is not valid until after Send returns without error.
  20351. //
  20352. // See UnassignPrivateIpAddresses for more information on using the UnassignPrivateIpAddresses
  20353. // API call, and error handling.
  20354. //
  20355. // This method is useful when you want to inject custom logic or configuration
  20356. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  20357. //
  20358. //
  20359. // // Example sending a request using the UnassignPrivateIpAddressesRequest method.
  20360. // req, resp := client.UnassignPrivateIpAddressesRequest(params)
  20361. //
  20362. // err := req.Send()
  20363. // if err == nil { // resp is now filled
  20364. // fmt.Println(resp)
  20365. // }
  20366. //
  20367. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignPrivateIpAddresses
  20368. func (c *EC2) UnassignPrivateIpAddressesRequest(input *UnassignPrivateIpAddressesInput) (req *request.Request, output *UnassignPrivateIpAddressesOutput) {
  20369. op := &request.Operation{
  20370. Name: opUnassignPrivateIpAddresses,
  20371. HTTPMethod: "POST",
  20372. HTTPPath: "/",
  20373. }
  20374. if input == nil {
  20375. input = &UnassignPrivateIpAddressesInput{}
  20376. }
  20377. output = &UnassignPrivateIpAddressesOutput{}
  20378. req = c.newRequest(op, input, output)
  20379. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  20380. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  20381. return
  20382. }
  20383. // UnassignPrivateIpAddresses API operation for Amazon Elastic Compute Cloud.
  20384. //
  20385. // Unassigns one or more secondary private IP addresses from a network interface.
  20386. //
  20387. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  20388. // with awserr.Error's Code and Message methods to get detailed information about
  20389. // the error.
  20390. //
  20391. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  20392. // API operation UnassignPrivateIpAddresses for usage and error information.
  20393. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignPrivateIpAddresses
  20394. func (c *EC2) UnassignPrivateIpAddresses(input *UnassignPrivateIpAddressesInput) (*UnassignPrivateIpAddressesOutput, error) {
  20395. req, out := c.UnassignPrivateIpAddressesRequest(input)
  20396. return out, req.Send()
  20397. }
  20398. // UnassignPrivateIpAddressesWithContext is the same as UnassignPrivateIpAddresses with the addition of
  20399. // the ability to pass a context and additional request options.
  20400. //
  20401. // See UnassignPrivateIpAddresses for details on how to use this API operation.
  20402. //
  20403. // The context must be non-nil and will be used for request cancellation. If
  20404. // the context is nil a panic will occur. In the future the SDK may create
  20405. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20406. // for more information on using Contexts.
  20407. func (c *EC2) UnassignPrivateIpAddressesWithContext(ctx aws.Context, input *UnassignPrivateIpAddressesInput, opts ...request.Option) (*UnassignPrivateIpAddressesOutput, error) {
  20408. req, out := c.UnassignPrivateIpAddressesRequest(input)
  20409. req.SetContext(ctx)
  20410. req.ApplyOptions(opts...)
  20411. return out, req.Send()
  20412. }
  20413. const opUnmonitorInstances = "UnmonitorInstances"
  20414. // UnmonitorInstancesRequest generates a "aws/request.Request" representing the
  20415. // client's request for the UnmonitorInstances operation. The "output" return
  20416. // value will be populated with the request's response once the request complets
  20417. // successfuly.
  20418. //
  20419. // Use "Send" method on the returned Request to send the API call to the service.
  20420. // the "output" return value is not valid until after Send returns without error.
  20421. //
  20422. // See UnmonitorInstances for more information on using the UnmonitorInstances
  20423. // API call, and error handling.
  20424. //
  20425. // This method is useful when you want to inject custom logic or configuration
  20426. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  20427. //
  20428. //
  20429. // // Example sending a request using the UnmonitorInstancesRequest method.
  20430. // req, resp := client.UnmonitorInstancesRequest(params)
  20431. //
  20432. // err := req.Send()
  20433. // if err == nil { // resp is now filled
  20434. // fmt.Println(resp)
  20435. // }
  20436. //
  20437. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnmonitorInstances
  20438. func (c *EC2) UnmonitorInstancesRequest(input *UnmonitorInstancesInput) (req *request.Request, output *UnmonitorInstancesOutput) {
  20439. op := &request.Operation{
  20440. Name: opUnmonitorInstances,
  20441. HTTPMethod: "POST",
  20442. HTTPPath: "/",
  20443. }
  20444. if input == nil {
  20445. input = &UnmonitorInstancesInput{}
  20446. }
  20447. output = &UnmonitorInstancesOutput{}
  20448. req = c.newRequest(op, input, output)
  20449. return
  20450. }
  20451. // UnmonitorInstances API operation for Amazon Elastic Compute Cloud.
  20452. //
  20453. // Disables detailed monitoring for a running instance. For more information,
  20454. // see Monitoring Your Instances and Volumes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html)
  20455. // in the Amazon Elastic Compute Cloud User Guide.
  20456. //
  20457. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  20458. // with awserr.Error's Code and Message methods to get detailed information about
  20459. // the error.
  20460. //
  20461. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  20462. // API operation UnmonitorInstances for usage and error information.
  20463. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnmonitorInstances
  20464. func (c *EC2) UnmonitorInstances(input *UnmonitorInstancesInput) (*UnmonitorInstancesOutput, error) {
  20465. req, out := c.UnmonitorInstancesRequest(input)
  20466. return out, req.Send()
  20467. }
  20468. // UnmonitorInstancesWithContext is the same as UnmonitorInstances with the addition of
  20469. // the ability to pass a context and additional request options.
  20470. //
  20471. // See UnmonitorInstances for details on how to use this API operation.
  20472. //
  20473. // The context must be non-nil and will be used for request cancellation. If
  20474. // the context is nil a panic will occur. In the future the SDK may create
  20475. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20476. // for more information on using Contexts.
  20477. func (c *EC2) UnmonitorInstancesWithContext(ctx aws.Context, input *UnmonitorInstancesInput, opts ...request.Option) (*UnmonitorInstancesOutput, error) {
  20478. req, out := c.UnmonitorInstancesRequest(input)
  20479. req.SetContext(ctx)
  20480. req.ApplyOptions(opts...)
  20481. return out, req.Send()
  20482. }
  20483. const opUpdateSecurityGroupRuleDescriptionsEgress = "UpdateSecurityGroupRuleDescriptionsEgress"
  20484. // UpdateSecurityGroupRuleDescriptionsEgressRequest generates a "aws/request.Request" representing the
  20485. // client's request for the UpdateSecurityGroupRuleDescriptionsEgress operation. The "output" return
  20486. // value will be populated with the request's response once the request complets
  20487. // successfuly.
  20488. //
  20489. // Use "Send" method on the returned Request to send the API call to the service.
  20490. // the "output" return value is not valid until after Send returns without error.
  20491. //
  20492. // See UpdateSecurityGroupRuleDescriptionsEgress for more information on using the UpdateSecurityGroupRuleDescriptionsEgress
  20493. // API call, and error handling.
  20494. //
  20495. // This method is useful when you want to inject custom logic or configuration
  20496. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  20497. //
  20498. //
  20499. // // Example sending a request using the UpdateSecurityGroupRuleDescriptionsEgressRequest method.
  20500. // req, resp := client.UpdateSecurityGroupRuleDescriptionsEgressRequest(params)
  20501. //
  20502. // err := req.Send()
  20503. // if err == nil { // resp is now filled
  20504. // fmt.Println(resp)
  20505. // }
  20506. //
  20507. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsEgress
  20508. func (c *EC2) UpdateSecurityGroupRuleDescriptionsEgressRequest(input *UpdateSecurityGroupRuleDescriptionsEgressInput) (req *request.Request, output *UpdateSecurityGroupRuleDescriptionsEgressOutput) {
  20509. op := &request.Operation{
  20510. Name: opUpdateSecurityGroupRuleDescriptionsEgress,
  20511. HTTPMethod: "POST",
  20512. HTTPPath: "/",
  20513. }
  20514. if input == nil {
  20515. input = &UpdateSecurityGroupRuleDescriptionsEgressInput{}
  20516. }
  20517. output = &UpdateSecurityGroupRuleDescriptionsEgressOutput{}
  20518. req = c.newRequest(op, input, output)
  20519. return
  20520. }
  20521. // UpdateSecurityGroupRuleDescriptionsEgress API operation for Amazon Elastic Compute Cloud.
  20522. //
  20523. // [EC2-VPC only] Updates the description of an egress (outbound) security group
  20524. // rule. You can replace an existing description, or add a description to a
  20525. // rule that did not have one previously.
  20526. //
  20527. // You specify the description as part of the IP permissions structure. You
  20528. // can remove a description for a security group rule by omitting the description
  20529. // parameter in the request.
  20530. //
  20531. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  20532. // with awserr.Error's Code and Message methods to get detailed information about
  20533. // the error.
  20534. //
  20535. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  20536. // API operation UpdateSecurityGroupRuleDescriptionsEgress for usage and error information.
  20537. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsEgress
  20538. func (c *EC2) UpdateSecurityGroupRuleDescriptionsEgress(input *UpdateSecurityGroupRuleDescriptionsEgressInput) (*UpdateSecurityGroupRuleDescriptionsEgressOutput, error) {
  20539. req, out := c.UpdateSecurityGroupRuleDescriptionsEgressRequest(input)
  20540. return out, req.Send()
  20541. }
  20542. // UpdateSecurityGroupRuleDescriptionsEgressWithContext is the same as UpdateSecurityGroupRuleDescriptionsEgress with the addition of
  20543. // the ability to pass a context and additional request options.
  20544. //
  20545. // See UpdateSecurityGroupRuleDescriptionsEgress for details on how to use this API operation.
  20546. //
  20547. // The context must be non-nil and will be used for request cancellation. If
  20548. // the context is nil a panic will occur. In the future the SDK may create
  20549. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20550. // for more information on using Contexts.
  20551. func (c *EC2) UpdateSecurityGroupRuleDescriptionsEgressWithContext(ctx aws.Context, input *UpdateSecurityGroupRuleDescriptionsEgressInput, opts ...request.Option) (*UpdateSecurityGroupRuleDescriptionsEgressOutput, error) {
  20552. req, out := c.UpdateSecurityGroupRuleDescriptionsEgressRequest(input)
  20553. req.SetContext(ctx)
  20554. req.ApplyOptions(opts...)
  20555. return out, req.Send()
  20556. }
  20557. const opUpdateSecurityGroupRuleDescriptionsIngress = "UpdateSecurityGroupRuleDescriptionsIngress"
  20558. // UpdateSecurityGroupRuleDescriptionsIngressRequest generates a "aws/request.Request" representing the
  20559. // client's request for the UpdateSecurityGroupRuleDescriptionsIngress operation. The "output" return
  20560. // value will be populated with the request's response once the request complets
  20561. // successfuly.
  20562. //
  20563. // Use "Send" method on the returned Request to send the API call to the service.
  20564. // the "output" return value is not valid until after Send returns without error.
  20565. //
  20566. // See UpdateSecurityGroupRuleDescriptionsIngress for more information on using the UpdateSecurityGroupRuleDescriptionsIngress
  20567. // API call, and error handling.
  20568. //
  20569. // This method is useful when you want to inject custom logic or configuration
  20570. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  20571. //
  20572. //
  20573. // // Example sending a request using the UpdateSecurityGroupRuleDescriptionsIngressRequest method.
  20574. // req, resp := client.UpdateSecurityGroupRuleDescriptionsIngressRequest(params)
  20575. //
  20576. // err := req.Send()
  20577. // if err == nil { // resp is now filled
  20578. // fmt.Println(resp)
  20579. // }
  20580. //
  20581. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsIngress
  20582. func (c *EC2) UpdateSecurityGroupRuleDescriptionsIngressRequest(input *UpdateSecurityGroupRuleDescriptionsIngressInput) (req *request.Request, output *UpdateSecurityGroupRuleDescriptionsIngressOutput) {
  20583. op := &request.Operation{
  20584. Name: opUpdateSecurityGroupRuleDescriptionsIngress,
  20585. HTTPMethod: "POST",
  20586. HTTPPath: "/",
  20587. }
  20588. if input == nil {
  20589. input = &UpdateSecurityGroupRuleDescriptionsIngressInput{}
  20590. }
  20591. output = &UpdateSecurityGroupRuleDescriptionsIngressOutput{}
  20592. req = c.newRequest(op, input, output)
  20593. return
  20594. }
  20595. // UpdateSecurityGroupRuleDescriptionsIngress API operation for Amazon Elastic Compute Cloud.
  20596. //
  20597. // Updates the description of an ingress (inbound) security group rule. You
  20598. // can replace an existing description, or add a description to a rule that
  20599. // did not have one previously.
  20600. //
  20601. // You specify the description as part of the IP permissions structure. You
  20602. // can remove a description for a security group rule by omitting the description
  20603. // parameter in the request.
  20604. //
  20605. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  20606. // with awserr.Error's Code and Message methods to get detailed information about
  20607. // the error.
  20608. //
  20609. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  20610. // API operation UpdateSecurityGroupRuleDescriptionsIngress for usage and error information.
  20611. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsIngress
  20612. func (c *EC2) UpdateSecurityGroupRuleDescriptionsIngress(input *UpdateSecurityGroupRuleDescriptionsIngressInput) (*UpdateSecurityGroupRuleDescriptionsIngressOutput, error) {
  20613. req, out := c.UpdateSecurityGroupRuleDescriptionsIngressRequest(input)
  20614. return out, req.Send()
  20615. }
  20616. // UpdateSecurityGroupRuleDescriptionsIngressWithContext is the same as UpdateSecurityGroupRuleDescriptionsIngress with the addition of
  20617. // the ability to pass a context and additional request options.
  20618. //
  20619. // See UpdateSecurityGroupRuleDescriptionsIngress for details on how to use this API operation.
  20620. //
  20621. // The context must be non-nil and will be used for request cancellation. If
  20622. // the context is nil a panic will occur. In the future the SDK may create
  20623. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20624. // for more information on using Contexts.
  20625. func (c *EC2) UpdateSecurityGroupRuleDescriptionsIngressWithContext(ctx aws.Context, input *UpdateSecurityGroupRuleDescriptionsIngressInput, opts ...request.Option) (*UpdateSecurityGroupRuleDescriptionsIngressOutput, error) {
  20626. req, out := c.UpdateSecurityGroupRuleDescriptionsIngressRequest(input)
  20627. req.SetContext(ctx)
  20628. req.ApplyOptions(opts...)
  20629. return out, req.Send()
  20630. }
  20631. // Contains the parameters for accepting the quote.
  20632. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptReservedInstancesExchangeQuoteRequest
  20633. type AcceptReservedInstancesExchangeQuoteInput struct {
  20634. _ struct{} `type:"structure"`
  20635. // Checks whether you have the required permissions for the action, without
  20636. // actually making the request, and provides an error response. If you have
  20637. // the required permissions, the error response is DryRunOperation. Otherwise,
  20638. // it is UnauthorizedOperation.
  20639. DryRun *bool `type:"boolean"`
  20640. // The IDs of the Convertible Reserved Instances to exchange for another Convertible
  20641. // Reserved Instance of the same or higher value.
  20642. //
  20643. // ReservedInstanceIds is a required field
  20644. ReservedInstanceIds []*string `locationName:"ReservedInstanceId" locationNameList:"ReservedInstanceId" type:"list" required:"true"`
  20645. // The configuration of the target Convertible Reserved Instance to exchange
  20646. // for your current Convertible Reserved Instances.
  20647. TargetConfigurations []*TargetConfigurationRequest `locationName:"TargetConfiguration" locationNameList:"TargetConfigurationRequest" type:"list"`
  20648. }
  20649. // String returns the string representation
  20650. func (s AcceptReservedInstancesExchangeQuoteInput) String() string {
  20651. return awsutil.Prettify(s)
  20652. }
  20653. // GoString returns the string representation
  20654. func (s AcceptReservedInstancesExchangeQuoteInput) GoString() string {
  20655. return s.String()
  20656. }
  20657. // Validate inspects the fields of the type to determine if they are valid.
  20658. func (s *AcceptReservedInstancesExchangeQuoteInput) Validate() error {
  20659. invalidParams := request.ErrInvalidParams{Context: "AcceptReservedInstancesExchangeQuoteInput"}
  20660. if s.ReservedInstanceIds == nil {
  20661. invalidParams.Add(request.NewErrParamRequired("ReservedInstanceIds"))
  20662. }
  20663. if s.TargetConfigurations != nil {
  20664. for i, v := range s.TargetConfigurations {
  20665. if v == nil {
  20666. continue
  20667. }
  20668. if err := v.Validate(); err != nil {
  20669. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetConfigurations", i), err.(request.ErrInvalidParams))
  20670. }
  20671. }
  20672. }
  20673. if invalidParams.Len() > 0 {
  20674. return invalidParams
  20675. }
  20676. return nil
  20677. }
  20678. // SetDryRun sets the DryRun field's value.
  20679. func (s *AcceptReservedInstancesExchangeQuoteInput) SetDryRun(v bool) *AcceptReservedInstancesExchangeQuoteInput {
  20680. s.DryRun = &v
  20681. return s
  20682. }
  20683. // SetReservedInstanceIds sets the ReservedInstanceIds field's value.
  20684. func (s *AcceptReservedInstancesExchangeQuoteInput) SetReservedInstanceIds(v []*string) *AcceptReservedInstancesExchangeQuoteInput {
  20685. s.ReservedInstanceIds = v
  20686. return s
  20687. }
  20688. // SetTargetConfigurations sets the TargetConfigurations field's value.
  20689. func (s *AcceptReservedInstancesExchangeQuoteInput) SetTargetConfigurations(v []*TargetConfigurationRequest) *AcceptReservedInstancesExchangeQuoteInput {
  20690. s.TargetConfigurations = v
  20691. return s
  20692. }
  20693. // The result of the exchange and whether it was successful.
  20694. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptReservedInstancesExchangeQuoteResult
  20695. type AcceptReservedInstancesExchangeQuoteOutput struct {
  20696. _ struct{} `type:"structure"`
  20697. // The ID of the successful exchange.
  20698. ExchangeId *string `locationName:"exchangeId" type:"string"`
  20699. }
  20700. // String returns the string representation
  20701. func (s AcceptReservedInstancesExchangeQuoteOutput) String() string {
  20702. return awsutil.Prettify(s)
  20703. }
  20704. // GoString returns the string representation
  20705. func (s AcceptReservedInstancesExchangeQuoteOutput) GoString() string {
  20706. return s.String()
  20707. }
  20708. // SetExchangeId sets the ExchangeId field's value.
  20709. func (s *AcceptReservedInstancesExchangeQuoteOutput) SetExchangeId(v string) *AcceptReservedInstancesExchangeQuoteOutput {
  20710. s.ExchangeId = &v
  20711. return s
  20712. }
  20713. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcEndpointConnectionsRequest
  20714. type AcceptVpcEndpointConnectionsInput struct {
  20715. _ struct{} `type:"structure"`
  20716. // Checks whether you have the required permissions for the action, without
  20717. // actually making the request, and provides an error response. If you have
  20718. // the required permissions, the error response is DryRunOperation. Otherwise,
  20719. // it is UnauthorizedOperation.
  20720. DryRun *bool `type:"boolean"`
  20721. // The ID of the endpoint service.
  20722. //
  20723. // ServiceId is a required field
  20724. ServiceId *string `type:"string" required:"true"`
  20725. // The IDs of one or more interface VPC endpoints.
  20726. //
  20727. // VpcEndpointIds is a required field
  20728. VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list" required:"true"`
  20729. }
  20730. // String returns the string representation
  20731. func (s AcceptVpcEndpointConnectionsInput) String() string {
  20732. return awsutil.Prettify(s)
  20733. }
  20734. // GoString returns the string representation
  20735. func (s AcceptVpcEndpointConnectionsInput) GoString() string {
  20736. return s.String()
  20737. }
  20738. // Validate inspects the fields of the type to determine if they are valid.
  20739. func (s *AcceptVpcEndpointConnectionsInput) Validate() error {
  20740. invalidParams := request.ErrInvalidParams{Context: "AcceptVpcEndpointConnectionsInput"}
  20741. if s.ServiceId == nil {
  20742. invalidParams.Add(request.NewErrParamRequired("ServiceId"))
  20743. }
  20744. if s.VpcEndpointIds == nil {
  20745. invalidParams.Add(request.NewErrParamRequired("VpcEndpointIds"))
  20746. }
  20747. if invalidParams.Len() > 0 {
  20748. return invalidParams
  20749. }
  20750. return nil
  20751. }
  20752. // SetDryRun sets the DryRun field's value.
  20753. func (s *AcceptVpcEndpointConnectionsInput) SetDryRun(v bool) *AcceptVpcEndpointConnectionsInput {
  20754. s.DryRun = &v
  20755. return s
  20756. }
  20757. // SetServiceId sets the ServiceId field's value.
  20758. func (s *AcceptVpcEndpointConnectionsInput) SetServiceId(v string) *AcceptVpcEndpointConnectionsInput {
  20759. s.ServiceId = &v
  20760. return s
  20761. }
  20762. // SetVpcEndpointIds sets the VpcEndpointIds field's value.
  20763. func (s *AcceptVpcEndpointConnectionsInput) SetVpcEndpointIds(v []*string) *AcceptVpcEndpointConnectionsInput {
  20764. s.VpcEndpointIds = v
  20765. return s
  20766. }
  20767. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcEndpointConnectionsResult
  20768. type AcceptVpcEndpointConnectionsOutput struct {
  20769. _ struct{} `type:"structure"`
  20770. // Information about the interface endpoints that were not accepted, if applicable.
  20771. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  20772. }
  20773. // String returns the string representation
  20774. func (s AcceptVpcEndpointConnectionsOutput) String() string {
  20775. return awsutil.Prettify(s)
  20776. }
  20777. // GoString returns the string representation
  20778. func (s AcceptVpcEndpointConnectionsOutput) GoString() string {
  20779. return s.String()
  20780. }
  20781. // SetUnsuccessful sets the Unsuccessful field's value.
  20782. func (s *AcceptVpcEndpointConnectionsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *AcceptVpcEndpointConnectionsOutput {
  20783. s.Unsuccessful = v
  20784. return s
  20785. }
  20786. // Contains the parameters for AcceptVpcPeeringConnection.
  20787. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcPeeringConnectionRequest
  20788. type AcceptVpcPeeringConnectionInput struct {
  20789. _ struct{} `type:"structure"`
  20790. // Checks whether you have the required permissions for the action, without
  20791. // actually making the request, and provides an error response. If you have
  20792. // the required permissions, the error response is DryRunOperation. Otherwise,
  20793. // it is UnauthorizedOperation.
  20794. DryRun *bool `locationName:"dryRun" type:"boolean"`
  20795. // The ID of the VPC peering connection. You must specify this parameter in
  20796. // the request.
  20797. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  20798. }
  20799. // String returns the string representation
  20800. func (s AcceptVpcPeeringConnectionInput) String() string {
  20801. return awsutil.Prettify(s)
  20802. }
  20803. // GoString returns the string representation
  20804. func (s AcceptVpcPeeringConnectionInput) GoString() string {
  20805. return s.String()
  20806. }
  20807. // SetDryRun sets the DryRun field's value.
  20808. func (s *AcceptVpcPeeringConnectionInput) SetDryRun(v bool) *AcceptVpcPeeringConnectionInput {
  20809. s.DryRun = &v
  20810. return s
  20811. }
  20812. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  20813. func (s *AcceptVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *AcceptVpcPeeringConnectionInput {
  20814. s.VpcPeeringConnectionId = &v
  20815. return s
  20816. }
  20817. // Contains the output of AcceptVpcPeeringConnection.
  20818. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcPeeringConnectionResult
  20819. type AcceptVpcPeeringConnectionOutput struct {
  20820. _ struct{} `type:"structure"`
  20821. // Information about the VPC peering connection.
  20822. VpcPeeringConnection *VpcPeeringConnection `locationName:"vpcPeeringConnection" type:"structure"`
  20823. }
  20824. // String returns the string representation
  20825. func (s AcceptVpcPeeringConnectionOutput) String() string {
  20826. return awsutil.Prettify(s)
  20827. }
  20828. // GoString returns the string representation
  20829. func (s AcceptVpcPeeringConnectionOutput) GoString() string {
  20830. return s.String()
  20831. }
  20832. // SetVpcPeeringConnection sets the VpcPeeringConnection field's value.
  20833. func (s *AcceptVpcPeeringConnectionOutput) SetVpcPeeringConnection(v *VpcPeeringConnection) *AcceptVpcPeeringConnectionOutput {
  20834. s.VpcPeeringConnection = v
  20835. return s
  20836. }
  20837. // Describes an account attribute.
  20838. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AccountAttribute
  20839. type AccountAttribute struct {
  20840. _ struct{} `type:"structure"`
  20841. // The name of the account attribute.
  20842. AttributeName *string `locationName:"attributeName" type:"string"`
  20843. // One or more values for the account attribute.
  20844. AttributeValues []*AccountAttributeValue `locationName:"attributeValueSet" locationNameList:"item" type:"list"`
  20845. }
  20846. // String returns the string representation
  20847. func (s AccountAttribute) String() string {
  20848. return awsutil.Prettify(s)
  20849. }
  20850. // GoString returns the string representation
  20851. func (s AccountAttribute) GoString() string {
  20852. return s.String()
  20853. }
  20854. // SetAttributeName sets the AttributeName field's value.
  20855. func (s *AccountAttribute) SetAttributeName(v string) *AccountAttribute {
  20856. s.AttributeName = &v
  20857. return s
  20858. }
  20859. // SetAttributeValues sets the AttributeValues field's value.
  20860. func (s *AccountAttribute) SetAttributeValues(v []*AccountAttributeValue) *AccountAttribute {
  20861. s.AttributeValues = v
  20862. return s
  20863. }
  20864. // Describes a value of an account attribute.
  20865. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AccountAttributeValue
  20866. type AccountAttributeValue struct {
  20867. _ struct{} `type:"structure"`
  20868. // The value of the attribute.
  20869. AttributeValue *string `locationName:"attributeValue" type:"string"`
  20870. }
  20871. // String returns the string representation
  20872. func (s AccountAttributeValue) String() string {
  20873. return awsutil.Prettify(s)
  20874. }
  20875. // GoString returns the string representation
  20876. func (s AccountAttributeValue) GoString() string {
  20877. return s.String()
  20878. }
  20879. // SetAttributeValue sets the AttributeValue field's value.
  20880. func (s *AccountAttributeValue) SetAttributeValue(v string) *AccountAttributeValue {
  20881. s.AttributeValue = &v
  20882. return s
  20883. }
  20884. // Describes a running instance in a Spot Fleet.
  20885. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ActiveInstance
  20886. type ActiveInstance struct {
  20887. _ struct{} `type:"structure"`
  20888. // The health status of the instance. If the status of either the instance status
  20889. // check or the system status check is impaired, the health status of the instance
  20890. // is unhealthy. Otherwise, the health status is healthy.
  20891. InstanceHealth *string `locationName:"instanceHealth" type:"string" enum:"InstanceHealthStatus"`
  20892. // The ID of the instance.
  20893. InstanceId *string `locationName:"instanceId" type:"string"`
  20894. // The instance type.
  20895. InstanceType *string `locationName:"instanceType" type:"string"`
  20896. // The ID of the Spot Instance request.
  20897. SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
  20898. }
  20899. // String returns the string representation
  20900. func (s ActiveInstance) String() string {
  20901. return awsutil.Prettify(s)
  20902. }
  20903. // GoString returns the string representation
  20904. func (s ActiveInstance) GoString() string {
  20905. return s.String()
  20906. }
  20907. // SetInstanceHealth sets the InstanceHealth field's value.
  20908. func (s *ActiveInstance) SetInstanceHealth(v string) *ActiveInstance {
  20909. s.InstanceHealth = &v
  20910. return s
  20911. }
  20912. // SetInstanceId sets the InstanceId field's value.
  20913. func (s *ActiveInstance) SetInstanceId(v string) *ActiveInstance {
  20914. s.InstanceId = &v
  20915. return s
  20916. }
  20917. // SetInstanceType sets the InstanceType field's value.
  20918. func (s *ActiveInstance) SetInstanceType(v string) *ActiveInstance {
  20919. s.InstanceType = &v
  20920. return s
  20921. }
  20922. // SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
  20923. func (s *ActiveInstance) SetSpotInstanceRequestId(v string) *ActiveInstance {
  20924. s.SpotInstanceRequestId = &v
  20925. return s
  20926. }
  20927. // Describes an Elastic IP address.
  20928. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Address
  20929. type Address struct {
  20930. _ struct{} `type:"structure"`
  20931. // The ID representing the allocation of the address for use with EC2-VPC.
  20932. AllocationId *string `locationName:"allocationId" type:"string"`
  20933. // The ID representing the association of the address with an instance in a
  20934. // VPC.
  20935. AssociationId *string `locationName:"associationId" type:"string"`
  20936. // Indicates whether this Elastic IP address is for use with instances in EC2-Classic
  20937. // (standard) or instances in a VPC (vpc).
  20938. Domain *string `locationName:"domain" type:"string" enum:"DomainType"`
  20939. // The ID of the instance that the address is associated with (if any).
  20940. InstanceId *string `locationName:"instanceId" type:"string"`
  20941. // The ID of the network interface.
  20942. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  20943. // The ID of the AWS account that owns the network interface.
  20944. NetworkInterfaceOwnerId *string `locationName:"networkInterfaceOwnerId" type:"string"`
  20945. // The private IP address associated with the Elastic IP address.
  20946. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  20947. // The Elastic IP address.
  20948. PublicIp *string `locationName:"publicIp" type:"string"`
  20949. // Any tags assigned to the Elastic IP address.
  20950. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  20951. }
  20952. // String returns the string representation
  20953. func (s Address) String() string {
  20954. return awsutil.Prettify(s)
  20955. }
  20956. // GoString returns the string representation
  20957. func (s Address) GoString() string {
  20958. return s.String()
  20959. }
  20960. // SetAllocationId sets the AllocationId field's value.
  20961. func (s *Address) SetAllocationId(v string) *Address {
  20962. s.AllocationId = &v
  20963. return s
  20964. }
  20965. // SetAssociationId sets the AssociationId field's value.
  20966. func (s *Address) SetAssociationId(v string) *Address {
  20967. s.AssociationId = &v
  20968. return s
  20969. }
  20970. // SetDomain sets the Domain field's value.
  20971. func (s *Address) SetDomain(v string) *Address {
  20972. s.Domain = &v
  20973. return s
  20974. }
  20975. // SetInstanceId sets the InstanceId field's value.
  20976. func (s *Address) SetInstanceId(v string) *Address {
  20977. s.InstanceId = &v
  20978. return s
  20979. }
  20980. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  20981. func (s *Address) SetNetworkInterfaceId(v string) *Address {
  20982. s.NetworkInterfaceId = &v
  20983. return s
  20984. }
  20985. // SetNetworkInterfaceOwnerId sets the NetworkInterfaceOwnerId field's value.
  20986. func (s *Address) SetNetworkInterfaceOwnerId(v string) *Address {
  20987. s.NetworkInterfaceOwnerId = &v
  20988. return s
  20989. }
  20990. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  20991. func (s *Address) SetPrivateIpAddress(v string) *Address {
  20992. s.PrivateIpAddress = &v
  20993. return s
  20994. }
  20995. // SetPublicIp sets the PublicIp field's value.
  20996. func (s *Address) SetPublicIp(v string) *Address {
  20997. s.PublicIp = &v
  20998. return s
  20999. }
  21000. // SetTags sets the Tags field's value.
  21001. func (s *Address) SetTags(v []*Tag) *Address {
  21002. s.Tags = v
  21003. return s
  21004. }
  21005. // Contains the parameters for AllocateAddress.
  21006. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateAddressRequest
  21007. type AllocateAddressInput struct {
  21008. _ struct{} `type:"structure"`
  21009. // [EC2-VPC] The Elastic IP address to recover.
  21010. Address *string `type:"string"`
  21011. // Set to vpc to allocate the address for use with instances in a VPC.
  21012. //
  21013. // Default: The address is for use with instances in EC2-Classic.
  21014. Domain *string `type:"string" enum:"DomainType"`
  21015. // Checks whether you have the required permissions for the action, without
  21016. // actually making the request, and provides an error response. If you have
  21017. // the required permissions, the error response is DryRunOperation. Otherwise,
  21018. // it is UnauthorizedOperation.
  21019. DryRun *bool `locationName:"dryRun" type:"boolean"`
  21020. }
  21021. // String returns the string representation
  21022. func (s AllocateAddressInput) String() string {
  21023. return awsutil.Prettify(s)
  21024. }
  21025. // GoString returns the string representation
  21026. func (s AllocateAddressInput) GoString() string {
  21027. return s.String()
  21028. }
  21029. // SetAddress sets the Address field's value.
  21030. func (s *AllocateAddressInput) SetAddress(v string) *AllocateAddressInput {
  21031. s.Address = &v
  21032. return s
  21033. }
  21034. // SetDomain sets the Domain field's value.
  21035. func (s *AllocateAddressInput) SetDomain(v string) *AllocateAddressInput {
  21036. s.Domain = &v
  21037. return s
  21038. }
  21039. // SetDryRun sets the DryRun field's value.
  21040. func (s *AllocateAddressInput) SetDryRun(v bool) *AllocateAddressInput {
  21041. s.DryRun = &v
  21042. return s
  21043. }
  21044. // Contains the output of AllocateAddress.
  21045. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateAddressResult
  21046. type AllocateAddressOutput struct {
  21047. _ struct{} `type:"structure"`
  21048. // [EC2-VPC] The ID that AWS assigns to represent the allocation of the Elastic
  21049. // IP address for use with instances in a VPC.
  21050. AllocationId *string `locationName:"allocationId" type:"string"`
  21051. // Indicates whether this Elastic IP address is for use with instances in EC2-Classic
  21052. // (standard) or instances in a VPC (vpc).
  21053. Domain *string `locationName:"domain" type:"string" enum:"DomainType"`
  21054. // The Elastic IP address.
  21055. PublicIp *string `locationName:"publicIp" type:"string"`
  21056. }
  21057. // String returns the string representation
  21058. func (s AllocateAddressOutput) String() string {
  21059. return awsutil.Prettify(s)
  21060. }
  21061. // GoString returns the string representation
  21062. func (s AllocateAddressOutput) GoString() string {
  21063. return s.String()
  21064. }
  21065. // SetAllocationId sets the AllocationId field's value.
  21066. func (s *AllocateAddressOutput) SetAllocationId(v string) *AllocateAddressOutput {
  21067. s.AllocationId = &v
  21068. return s
  21069. }
  21070. // SetDomain sets the Domain field's value.
  21071. func (s *AllocateAddressOutput) SetDomain(v string) *AllocateAddressOutput {
  21072. s.Domain = &v
  21073. return s
  21074. }
  21075. // SetPublicIp sets the PublicIp field's value.
  21076. func (s *AllocateAddressOutput) SetPublicIp(v string) *AllocateAddressOutput {
  21077. s.PublicIp = &v
  21078. return s
  21079. }
  21080. // Contains the parameters for AllocateHosts.
  21081. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateHostsRequest
  21082. type AllocateHostsInput struct {
  21083. _ struct{} `type:"structure"`
  21084. // This is enabled by default. This property allows instances to be automatically
  21085. // placed onto available Dedicated Hosts, when you are launching instances without
  21086. // specifying a host ID.
  21087. //
  21088. // Default: Enabled
  21089. AutoPlacement *string `locationName:"autoPlacement" type:"string" enum:"AutoPlacement"`
  21090. // The Availability Zone for the Dedicated Hosts.
  21091. //
  21092. // AvailabilityZone is a required field
  21093. AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
  21094. // Unique, case-sensitive identifier you provide to ensure idempotency of the
  21095. // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  21096. // in the Amazon Elastic Compute Cloud User Guide.
  21097. ClientToken *string `locationName:"clientToken" type:"string"`
  21098. // Specify the instance type that you want your Dedicated Hosts to be configured
  21099. // for. When you specify the instance type, that is the only instance type that
  21100. // you can launch onto that host.
  21101. //
  21102. // InstanceType is a required field
  21103. InstanceType *string `locationName:"instanceType" type:"string" required:"true"`
  21104. // The number of Dedicated Hosts you want to allocate to your account with these
  21105. // parameters.
  21106. //
  21107. // Quantity is a required field
  21108. Quantity *int64 `locationName:"quantity" type:"integer" required:"true"`
  21109. }
  21110. // String returns the string representation
  21111. func (s AllocateHostsInput) String() string {
  21112. return awsutil.Prettify(s)
  21113. }
  21114. // GoString returns the string representation
  21115. func (s AllocateHostsInput) GoString() string {
  21116. return s.String()
  21117. }
  21118. // Validate inspects the fields of the type to determine if they are valid.
  21119. func (s *AllocateHostsInput) Validate() error {
  21120. invalidParams := request.ErrInvalidParams{Context: "AllocateHostsInput"}
  21121. if s.AvailabilityZone == nil {
  21122. invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
  21123. }
  21124. if s.InstanceType == nil {
  21125. invalidParams.Add(request.NewErrParamRequired("InstanceType"))
  21126. }
  21127. if s.Quantity == nil {
  21128. invalidParams.Add(request.NewErrParamRequired("Quantity"))
  21129. }
  21130. if invalidParams.Len() > 0 {
  21131. return invalidParams
  21132. }
  21133. return nil
  21134. }
  21135. // SetAutoPlacement sets the AutoPlacement field's value.
  21136. func (s *AllocateHostsInput) SetAutoPlacement(v string) *AllocateHostsInput {
  21137. s.AutoPlacement = &v
  21138. return s
  21139. }
  21140. // SetAvailabilityZone sets the AvailabilityZone field's value.
  21141. func (s *AllocateHostsInput) SetAvailabilityZone(v string) *AllocateHostsInput {
  21142. s.AvailabilityZone = &v
  21143. return s
  21144. }
  21145. // SetClientToken sets the ClientToken field's value.
  21146. func (s *AllocateHostsInput) SetClientToken(v string) *AllocateHostsInput {
  21147. s.ClientToken = &v
  21148. return s
  21149. }
  21150. // SetInstanceType sets the InstanceType field's value.
  21151. func (s *AllocateHostsInput) SetInstanceType(v string) *AllocateHostsInput {
  21152. s.InstanceType = &v
  21153. return s
  21154. }
  21155. // SetQuantity sets the Quantity field's value.
  21156. func (s *AllocateHostsInput) SetQuantity(v int64) *AllocateHostsInput {
  21157. s.Quantity = &v
  21158. return s
  21159. }
  21160. // Contains the output of AllocateHosts.
  21161. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateHostsResult
  21162. type AllocateHostsOutput struct {
  21163. _ struct{} `type:"structure"`
  21164. // The ID of the allocated Dedicated Host. This is used when you want to launch
  21165. // an instance onto a specific host.
  21166. HostIds []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
  21167. }
  21168. // String returns the string representation
  21169. func (s AllocateHostsOutput) String() string {
  21170. return awsutil.Prettify(s)
  21171. }
  21172. // GoString returns the string representation
  21173. func (s AllocateHostsOutput) GoString() string {
  21174. return s.String()
  21175. }
  21176. // SetHostIds sets the HostIds field's value.
  21177. func (s *AllocateHostsOutput) SetHostIds(v []*string) *AllocateHostsOutput {
  21178. s.HostIds = v
  21179. return s
  21180. }
  21181. // Describes a principal.
  21182. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllowedPrincipal
  21183. type AllowedPrincipal struct {
  21184. _ struct{} `type:"structure"`
  21185. // The Amazon Resource Name (ARN) of the principal.
  21186. Principal *string `locationName:"principal" type:"string"`
  21187. // The type of principal.
  21188. PrincipalType *string `locationName:"principalType" type:"string" enum:"PrincipalType"`
  21189. }
  21190. // String returns the string representation
  21191. func (s AllowedPrincipal) String() string {
  21192. return awsutil.Prettify(s)
  21193. }
  21194. // GoString returns the string representation
  21195. func (s AllowedPrincipal) GoString() string {
  21196. return s.String()
  21197. }
  21198. // SetPrincipal sets the Principal field's value.
  21199. func (s *AllowedPrincipal) SetPrincipal(v string) *AllowedPrincipal {
  21200. s.Principal = &v
  21201. return s
  21202. }
  21203. // SetPrincipalType sets the PrincipalType field's value.
  21204. func (s *AllowedPrincipal) SetPrincipalType(v string) *AllowedPrincipal {
  21205. s.PrincipalType = &v
  21206. return s
  21207. }
  21208. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignIpv6AddressesRequest
  21209. type AssignIpv6AddressesInput struct {
  21210. _ struct{} `type:"structure"`
  21211. // The number of IPv6 addresses to assign to the network interface. Amazon EC2
  21212. // automatically selects the IPv6 addresses from the subnet range. You can't
  21213. // use this option if specifying specific IPv6 addresses.
  21214. Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
  21215. // One or more specific IPv6 addresses to be assigned to the network interface.
  21216. // You can't use this option if you're specifying a number of IPv6 addresses.
  21217. Ipv6Addresses []*string `locationName:"ipv6Addresses" locationNameList:"item" type:"list"`
  21218. // The ID of the network interface.
  21219. //
  21220. // NetworkInterfaceId is a required field
  21221. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  21222. }
  21223. // String returns the string representation
  21224. func (s AssignIpv6AddressesInput) String() string {
  21225. return awsutil.Prettify(s)
  21226. }
  21227. // GoString returns the string representation
  21228. func (s AssignIpv6AddressesInput) GoString() string {
  21229. return s.String()
  21230. }
  21231. // Validate inspects the fields of the type to determine if they are valid.
  21232. func (s *AssignIpv6AddressesInput) Validate() error {
  21233. invalidParams := request.ErrInvalidParams{Context: "AssignIpv6AddressesInput"}
  21234. if s.NetworkInterfaceId == nil {
  21235. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  21236. }
  21237. if invalidParams.Len() > 0 {
  21238. return invalidParams
  21239. }
  21240. return nil
  21241. }
  21242. // SetIpv6AddressCount sets the Ipv6AddressCount field's value.
  21243. func (s *AssignIpv6AddressesInput) SetIpv6AddressCount(v int64) *AssignIpv6AddressesInput {
  21244. s.Ipv6AddressCount = &v
  21245. return s
  21246. }
  21247. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  21248. func (s *AssignIpv6AddressesInput) SetIpv6Addresses(v []*string) *AssignIpv6AddressesInput {
  21249. s.Ipv6Addresses = v
  21250. return s
  21251. }
  21252. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  21253. func (s *AssignIpv6AddressesInput) SetNetworkInterfaceId(v string) *AssignIpv6AddressesInput {
  21254. s.NetworkInterfaceId = &v
  21255. return s
  21256. }
  21257. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignIpv6AddressesResult
  21258. type AssignIpv6AddressesOutput struct {
  21259. _ struct{} `type:"structure"`
  21260. // The IPv6 addresses assigned to the network interface.
  21261. AssignedIpv6Addresses []*string `locationName:"assignedIpv6Addresses" locationNameList:"item" type:"list"`
  21262. // The ID of the network interface.
  21263. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  21264. }
  21265. // String returns the string representation
  21266. func (s AssignIpv6AddressesOutput) String() string {
  21267. return awsutil.Prettify(s)
  21268. }
  21269. // GoString returns the string representation
  21270. func (s AssignIpv6AddressesOutput) GoString() string {
  21271. return s.String()
  21272. }
  21273. // SetAssignedIpv6Addresses sets the AssignedIpv6Addresses field's value.
  21274. func (s *AssignIpv6AddressesOutput) SetAssignedIpv6Addresses(v []*string) *AssignIpv6AddressesOutput {
  21275. s.AssignedIpv6Addresses = v
  21276. return s
  21277. }
  21278. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  21279. func (s *AssignIpv6AddressesOutput) SetNetworkInterfaceId(v string) *AssignIpv6AddressesOutput {
  21280. s.NetworkInterfaceId = &v
  21281. return s
  21282. }
  21283. // Contains the parameters for AssignPrivateIpAddresses.
  21284. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignPrivateIpAddressesRequest
  21285. type AssignPrivateIpAddressesInput struct {
  21286. _ struct{} `type:"structure"`
  21287. // Indicates whether to allow an IP address that is already assigned to another
  21288. // network interface or instance to be reassigned to the specified network interface.
  21289. AllowReassignment *bool `locationName:"allowReassignment" type:"boolean"`
  21290. // The ID of the network interface.
  21291. //
  21292. // NetworkInterfaceId is a required field
  21293. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  21294. // One or more IP addresses to be assigned as a secondary private IP address
  21295. // to the network interface. You can't specify this parameter when also specifying
  21296. // a number of secondary IP addresses.
  21297. //
  21298. // If you don't specify an IP address, Amazon EC2 automatically selects an IP
  21299. // address within the subnet range.
  21300. PrivateIpAddresses []*string `locationName:"privateIpAddress" locationNameList:"PrivateIpAddress" type:"list"`
  21301. // The number of secondary IP addresses to assign to the network interface.
  21302. // You can't specify this parameter when also specifying private IP addresses.
  21303. SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
  21304. }
  21305. // String returns the string representation
  21306. func (s AssignPrivateIpAddressesInput) String() string {
  21307. return awsutil.Prettify(s)
  21308. }
  21309. // GoString returns the string representation
  21310. func (s AssignPrivateIpAddressesInput) GoString() string {
  21311. return s.String()
  21312. }
  21313. // Validate inspects the fields of the type to determine if they are valid.
  21314. func (s *AssignPrivateIpAddressesInput) Validate() error {
  21315. invalidParams := request.ErrInvalidParams{Context: "AssignPrivateIpAddressesInput"}
  21316. if s.NetworkInterfaceId == nil {
  21317. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  21318. }
  21319. if invalidParams.Len() > 0 {
  21320. return invalidParams
  21321. }
  21322. return nil
  21323. }
  21324. // SetAllowReassignment sets the AllowReassignment field's value.
  21325. func (s *AssignPrivateIpAddressesInput) SetAllowReassignment(v bool) *AssignPrivateIpAddressesInput {
  21326. s.AllowReassignment = &v
  21327. return s
  21328. }
  21329. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  21330. func (s *AssignPrivateIpAddressesInput) SetNetworkInterfaceId(v string) *AssignPrivateIpAddressesInput {
  21331. s.NetworkInterfaceId = &v
  21332. return s
  21333. }
  21334. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  21335. func (s *AssignPrivateIpAddressesInput) SetPrivateIpAddresses(v []*string) *AssignPrivateIpAddressesInput {
  21336. s.PrivateIpAddresses = v
  21337. return s
  21338. }
  21339. // SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
  21340. func (s *AssignPrivateIpAddressesInput) SetSecondaryPrivateIpAddressCount(v int64) *AssignPrivateIpAddressesInput {
  21341. s.SecondaryPrivateIpAddressCount = &v
  21342. return s
  21343. }
  21344. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignPrivateIpAddressesOutput
  21345. type AssignPrivateIpAddressesOutput struct {
  21346. _ struct{} `type:"structure"`
  21347. }
  21348. // String returns the string representation
  21349. func (s AssignPrivateIpAddressesOutput) String() string {
  21350. return awsutil.Prettify(s)
  21351. }
  21352. // GoString returns the string representation
  21353. func (s AssignPrivateIpAddressesOutput) GoString() string {
  21354. return s.String()
  21355. }
  21356. // Contains the parameters for AssociateAddress.
  21357. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateAddressRequest
  21358. type AssociateAddressInput struct {
  21359. _ struct{} `type:"structure"`
  21360. // [EC2-VPC] The allocation ID. This is required for EC2-VPC.
  21361. AllocationId *string `type:"string"`
  21362. // [EC2-VPC] For a VPC in an EC2-Classic account, specify true to allow an Elastic
  21363. // IP address that is already associated with an instance or network interface
  21364. // to be reassociated with the specified instance or network interface. Otherwise,
  21365. // the operation fails. In a VPC in an EC2-VPC-only account, reassociation is
  21366. // automatic, therefore you can specify false to ensure the operation fails
  21367. // if the Elastic IP address is already associated with another resource.
  21368. AllowReassociation *bool `locationName:"allowReassociation" type:"boolean"`
  21369. // Checks whether you have the required permissions for the action, without
  21370. // actually making the request, and provides an error response. If you have
  21371. // the required permissions, the error response is DryRunOperation. Otherwise,
  21372. // it is UnauthorizedOperation.
  21373. DryRun *bool `locationName:"dryRun" type:"boolean"`
  21374. // The ID of the instance. This is required for EC2-Classic. For EC2-VPC, you
  21375. // can specify either the instance ID or the network interface ID, but not both.
  21376. // The operation fails if you specify an instance ID unless exactly one network
  21377. // interface is attached.
  21378. InstanceId *string `type:"string"`
  21379. // [EC2-VPC] The ID of the network interface. If the instance has more than
  21380. // one network interface, you must specify a network interface ID.
  21381. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  21382. // [EC2-VPC] The primary or secondary private IP address to associate with the
  21383. // Elastic IP address. If no private IP address is specified, the Elastic IP
  21384. // address is associated with the primary private IP address.
  21385. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  21386. // The Elastic IP address. This is required for EC2-Classic.
  21387. PublicIp *string `type:"string"`
  21388. }
  21389. // String returns the string representation
  21390. func (s AssociateAddressInput) String() string {
  21391. return awsutil.Prettify(s)
  21392. }
  21393. // GoString returns the string representation
  21394. func (s AssociateAddressInput) GoString() string {
  21395. return s.String()
  21396. }
  21397. // SetAllocationId sets the AllocationId field's value.
  21398. func (s *AssociateAddressInput) SetAllocationId(v string) *AssociateAddressInput {
  21399. s.AllocationId = &v
  21400. return s
  21401. }
  21402. // SetAllowReassociation sets the AllowReassociation field's value.
  21403. func (s *AssociateAddressInput) SetAllowReassociation(v bool) *AssociateAddressInput {
  21404. s.AllowReassociation = &v
  21405. return s
  21406. }
  21407. // SetDryRun sets the DryRun field's value.
  21408. func (s *AssociateAddressInput) SetDryRun(v bool) *AssociateAddressInput {
  21409. s.DryRun = &v
  21410. return s
  21411. }
  21412. // SetInstanceId sets the InstanceId field's value.
  21413. func (s *AssociateAddressInput) SetInstanceId(v string) *AssociateAddressInput {
  21414. s.InstanceId = &v
  21415. return s
  21416. }
  21417. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  21418. func (s *AssociateAddressInput) SetNetworkInterfaceId(v string) *AssociateAddressInput {
  21419. s.NetworkInterfaceId = &v
  21420. return s
  21421. }
  21422. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  21423. func (s *AssociateAddressInput) SetPrivateIpAddress(v string) *AssociateAddressInput {
  21424. s.PrivateIpAddress = &v
  21425. return s
  21426. }
  21427. // SetPublicIp sets the PublicIp field's value.
  21428. func (s *AssociateAddressInput) SetPublicIp(v string) *AssociateAddressInput {
  21429. s.PublicIp = &v
  21430. return s
  21431. }
  21432. // Contains the output of AssociateAddress.
  21433. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateAddressResult
  21434. type AssociateAddressOutput struct {
  21435. _ struct{} `type:"structure"`
  21436. // [EC2-VPC] The ID that represents the association of the Elastic IP address
  21437. // with an instance.
  21438. AssociationId *string `locationName:"associationId" type:"string"`
  21439. }
  21440. // String returns the string representation
  21441. func (s AssociateAddressOutput) String() string {
  21442. return awsutil.Prettify(s)
  21443. }
  21444. // GoString returns the string representation
  21445. func (s AssociateAddressOutput) GoString() string {
  21446. return s.String()
  21447. }
  21448. // SetAssociationId sets the AssociationId field's value.
  21449. func (s *AssociateAddressOutput) SetAssociationId(v string) *AssociateAddressOutput {
  21450. s.AssociationId = &v
  21451. return s
  21452. }
  21453. // Contains the parameters for AssociateDhcpOptions.
  21454. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateDhcpOptionsRequest
  21455. type AssociateDhcpOptionsInput struct {
  21456. _ struct{} `type:"structure"`
  21457. // The ID of the DHCP options set, or default to associate no DHCP options with
  21458. // the VPC.
  21459. //
  21460. // DhcpOptionsId is a required field
  21461. DhcpOptionsId *string `type:"string" required:"true"`
  21462. // Checks whether you have the required permissions for the action, without
  21463. // actually making the request, and provides an error response. If you have
  21464. // the required permissions, the error response is DryRunOperation. Otherwise,
  21465. // it is UnauthorizedOperation.
  21466. DryRun *bool `locationName:"dryRun" type:"boolean"`
  21467. // The ID of the VPC.
  21468. //
  21469. // VpcId is a required field
  21470. VpcId *string `type:"string" required:"true"`
  21471. }
  21472. // String returns the string representation
  21473. func (s AssociateDhcpOptionsInput) String() string {
  21474. return awsutil.Prettify(s)
  21475. }
  21476. // GoString returns the string representation
  21477. func (s AssociateDhcpOptionsInput) GoString() string {
  21478. return s.String()
  21479. }
  21480. // Validate inspects the fields of the type to determine if they are valid.
  21481. func (s *AssociateDhcpOptionsInput) Validate() error {
  21482. invalidParams := request.ErrInvalidParams{Context: "AssociateDhcpOptionsInput"}
  21483. if s.DhcpOptionsId == nil {
  21484. invalidParams.Add(request.NewErrParamRequired("DhcpOptionsId"))
  21485. }
  21486. if s.VpcId == nil {
  21487. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  21488. }
  21489. if invalidParams.Len() > 0 {
  21490. return invalidParams
  21491. }
  21492. return nil
  21493. }
  21494. // SetDhcpOptionsId sets the DhcpOptionsId field's value.
  21495. func (s *AssociateDhcpOptionsInput) SetDhcpOptionsId(v string) *AssociateDhcpOptionsInput {
  21496. s.DhcpOptionsId = &v
  21497. return s
  21498. }
  21499. // SetDryRun sets the DryRun field's value.
  21500. func (s *AssociateDhcpOptionsInput) SetDryRun(v bool) *AssociateDhcpOptionsInput {
  21501. s.DryRun = &v
  21502. return s
  21503. }
  21504. // SetVpcId sets the VpcId field's value.
  21505. func (s *AssociateDhcpOptionsInput) SetVpcId(v string) *AssociateDhcpOptionsInput {
  21506. s.VpcId = &v
  21507. return s
  21508. }
  21509. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateDhcpOptionsOutput
  21510. type AssociateDhcpOptionsOutput struct {
  21511. _ struct{} `type:"structure"`
  21512. }
  21513. // String returns the string representation
  21514. func (s AssociateDhcpOptionsOutput) String() string {
  21515. return awsutil.Prettify(s)
  21516. }
  21517. // GoString returns the string representation
  21518. func (s AssociateDhcpOptionsOutput) GoString() string {
  21519. return s.String()
  21520. }
  21521. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateIamInstanceProfileRequest
  21522. type AssociateIamInstanceProfileInput struct {
  21523. _ struct{} `type:"structure"`
  21524. // The IAM instance profile.
  21525. //
  21526. // IamInstanceProfile is a required field
  21527. IamInstanceProfile *IamInstanceProfileSpecification `type:"structure" required:"true"`
  21528. // The ID of the instance.
  21529. //
  21530. // InstanceId is a required field
  21531. InstanceId *string `type:"string" required:"true"`
  21532. }
  21533. // String returns the string representation
  21534. func (s AssociateIamInstanceProfileInput) String() string {
  21535. return awsutil.Prettify(s)
  21536. }
  21537. // GoString returns the string representation
  21538. func (s AssociateIamInstanceProfileInput) GoString() string {
  21539. return s.String()
  21540. }
  21541. // Validate inspects the fields of the type to determine if they are valid.
  21542. func (s *AssociateIamInstanceProfileInput) Validate() error {
  21543. invalidParams := request.ErrInvalidParams{Context: "AssociateIamInstanceProfileInput"}
  21544. if s.IamInstanceProfile == nil {
  21545. invalidParams.Add(request.NewErrParamRequired("IamInstanceProfile"))
  21546. }
  21547. if s.InstanceId == nil {
  21548. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  21549. }
  21550. if invalidParams.Len() > 0 {
  21551. return invalidParams
  21552. }
  21553. return nil
  21554. }
  21555. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  21556. func (s *AssociateIamInstanceProfileInput) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *AssociateIamInstanceProfileInput {
  21557. s.IamInstanceProfile = v
  21558. return s
  21559. }
  21560. // SetInstanceId sets the InstanceId field's value.
  21561. func (s *AssociateIamInstanceProfileInput) SetInstanceId(v string) *AssociateIamInstanceProfileInput {
  21562. s.InstanceId = &v
  21563. return s
  21564. }
  21565. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateIamInstanceProfileResult
  21566. type AssociateIamInstanceProfileOutput struct {
  21567. _ struct{} `type:"structure"`
  21568. // Information about the IAM instance profile association.
  21569. IamInstanceProfileAssociation *IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociation" type:"structure"`
  21570. }
  21571. // String returns the string representation
  21572. func (s AssociateIamInstanceProfileOutput) String() string {
  21573. return awsutil.Prettify(s)
  21574. }
  21575. // GoString returns the string representation
  21576. func (s AssociateIamInstanceProfileOutput) GoString() string {
  21577. return s.String()
  21578. }
  21579. // SetIamInstanceProfileAssociation sets the IamInstanceProfileAssociation field's value.
  21580. func (s *AssociateIamInstanceProfileOutput) SetIamInstanceProfileAssociation(v *IamInstanceProfileAssociation) *AssociateIamInstanceProfileOutput {
  21581. s.IamInstanceProfileAssociation = v
  21582. return s
  21583. }
  21584. // Contains the parameters for AssociateRouteTable.
  21585. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateRouteTableRequest
  21586. type AssociateRouteTableInput struct {
  21587. _ struct{} `type:"structure"`
  21588. // Checks whether you have the required permissions for the action, without
  21589. // actually making the request, and provides an error response. If you have
  21590. // the required permissions, the error response is DryRunOperation. Otherwise,
  21591. // it is UnauthorizedOperation.
  21592. DryRun *bool `locationName:"dryRun" type:"boolean"`
  21593. // The ID of the route table.
  21594. //
  21595. // RouteTableId is a required field
  21596. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  21597. // The ID of the subnet.
  21598. //
  21599. // SubnetId is a required field
  21600. SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
  21601. }
  21602. // String returns the string representation
  21603. func (s AssociateRouteTableInput) String() string {
  21604. return awsutil.Prettify(s)
  21605. }
  21606. // GoString returns the string representation
  21607. func (s AssociateRouteTableInput) GoString() string {
  21608. return s.String()
  21609. }
  21610. // Validate inspects the fields of the type to determine if they are valid.
  21611. func (s *AssociateRouteTableInput) Validate() error {
  21612. invalidParams := request.ErrInvalidParams{Context: "AssociateRouteTableInput"}
  21613. if s.RouteTableId == nil {
  21614. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  21615. }
  21616. if s.SubnetId == nil {
  21617. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  21618. }
  21619. if invalidParams.Len() > 0 {
  21620. return invalidParams
  21621. }
  21622. return nil
  21623. }
  21624. // SetDryRun sets the DryRun field's value.
  21625. func (s *AssociateRouteTableInput) SetDryRun(v bool) *AssociateRouteTableInput {
  21626. s.DryRun = &v
  21627. return s
  21628. }
  21629. // SetRouteTableId sets the RouteTableId field's value.
  21630. func (s *AssociateRouteTableInput) SetRouteTableId(v string) *AssociateRouteTableInput {
  21631. s.RouteTableId = &v
  21632. return s
  21633. }
  21634. // SetSubnetId sets the SubnetId field's value.
  21635. func (s *AssociateRouteTableInput) SetSubnetId(v string) *AssociateRouteTableInput {
  21636. s.SubnetId = &v
  21637. return s
  21638. }
  21639. // Contains the output of AssociateRouteTable.
  21640. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateRouteTableResult
  21641. type AssociateRouteTableOutput struct {
  21642. _ struct{} `type:"structure"`
  21643. // The route table association ID (needed to disassociate the route table).
  21644. AssociationId *string `locationName:"associationId" type:"string"`
  21645. }
  21646. // String returns the string representation
  21647. func (s AssociateRouteTableOutput) String() string {
  21648. return awsutil.Prettify(s)
  21649. }
  21650. // GoString returns the string representation
  21651. func (s AssociateRouteTableOutput) GoString() string {
  21652. return s.String()
  21653. }
  21654. // SetAssociationId sets the AssociationId field's value.
  21655. func (s *AssociateRouteTableOutput) SetAssociationId(v string) *AssociateRouteTableOutput {
  21656. s.AssociationId = &v
  21657. return s
  21658. }
  21659. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateSubnetCidrBlockRequest
  21660. type AssociateSubnetCidrBlockInput struct {
  21661. _ struct{} `type:"structure"`
  21662. // The IPv6 CIDR block for your subnet. The subnet must have a /64 prefix length.
  21663. //
  21664. // Ipv6CidrBlock is a required field
  21665. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string" required:"true"`
  21666. // The ID of your subnet.
  21667. //
  21668. // SubnetId is a required field
  21669. SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
  21670. }
  21671. // String returns the string representation
  21672. func (s AssociateSubnetCidrBlockInput) String() string {
  21673. return awsutil.Prettify(s)
  21674. }
  21675. // GoString returns the string representation
  21676. func (s AssociateSubnetCidrBlockInput) GoString() string {
  21677. return s.String()
  21678. }
  21679. // Validate inspects the fields of the type to determine if they are valid.
  21680. func (s *AssociateSubnetCidrBlockInput) Validate() error {
  21681. invalidParams := request.ErrInvalidParams{Context: "AssociateSubnetCidrBlockInput"}
  21682. if s.Ipv6CidrBlock == nil {
  21683. invalidParams.Add(request.NewErrParamRequired("Ipv6CidrBlock"))
  21684. }
  21685. if s.SubnetId == nil {
  21686. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  21687. }
  21688. if invalidParams.Len() > 0 {
  21689. return invalidParams
  21690. }
  21691. return nil
  21692. }
  21693. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  21694. func (s *AssociateSubnetCidrBlockInput) SetIpv6CidrBlock(v string) *AssociateSubnetCidrBlockInput {
  21695. s.Ipv6CidrBlock = &v
  21696. return s
  21697. }
  21698. // SetSubnetId sets the SubnetId field's value.
  21699. func (s *AssociateSubnetCidrBlockInput) SetSubnetId(v string) *AssociateSubnetCidrBlockInput {
  21700. s.SubnetId = &v
  21701. return s
  21702. }
  21703. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateSubnetCidrBlockResult
  21704. type AssociateSubnetCidrBlockOutput struct {
  21705. _ struct{} `type:"structure"`
  21706. // Information about the IPv6 CIDR block association.
  21707. Ipv6CidrBlockAssociation *SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
  21708. // The ID of the subnet.
  21709. SubnetId *string `locationName:"subnetId" type:"string"`
  21710. }
  21711. // String returns the string representation
  21712. func (s AssociateSubnetCidrBlockOutput) String() string {
  21713. return awsutil.Prettify(s)
  21714. }
  21715. // GoString returns the string representation
  21716. func (s AssociateSubnetCidrBlockOutput) GoString() string {
  21717. return s.String()
  21718. }
  21719. // SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
  21720. func (s *AssociateSubnetCidrBlockOutput) SetIpv6CidrBlockAssociation(v *SubnetIpv6CidrBlockAssociation) *AssociateSubnetCidrBlockOutput {
  21721. s.Ipv6CidrBlockAssociation = v
  21722. return s
  21723. }
  21724. // SetSubnetId sets the SubnetId field's value.
  21725. func (s *AssociateSubnetCidrBlockOutput) SetSubnetId(v string) *AssociateSubnetCidrBlockOutput {
  21726. s.SubnetId = &v
  21727. return s
  21728. }
  21729. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateVpcCidrBlockRequest
  21730. type AssociateVpcCidrBlockInput struct {
  21731. _ struct{} `type:"structure"`
  21732. // Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for
  21733. // the VPC. You cannot specify the range of IPv6 addresses, or the size of the
  21734. // CIDR block.
  21735. AmazonProvidedIpv6CidrBlock *bool `locationName:"amazonProvidedIpv6CidrBlock" type:"boolean"`
  21736. // An IPv4 CIDR block to associate with the VPC.
  21737. CidrBlock *string `type:"string"`
  21738. // The ID of the VPC.
  21739. //
  21740. // VpcId is a required field
  21741. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  21742. }
  21743. // String returns the string representation
  21744. func (s AssociateVpcCidrBlockInput) String() string {
  21745. return awsutil.Prettify(s)
  21746. }
  21747. // GoString returns the string representation
  21748. func (s AssociateVpcCidrBlockInput) GoString() string {
  21749. return s.String()
  21750. }
  21751. // Validate inspects the fields of the type to determine if they are valid.
  21752. func (s *AssociateVpcCidrBlockInput) Validate() error {
  21753. invalidParams := request.ErrInvalidParams{Context: "AssociateVpcCidrBlockInput"}
  21754. if s.VpcId == nil {
  21755. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  21756. }
  21757. if invalidParams.Len() > 0 {
  21758. return invalidParams
  21759. }
  21760. return nil
  21761. }
  21762. // SetAmazonProvidedIpv6CidrBlock sets the AmazonProvidedIpv6CidrBlock field's value.
  21763. func (s *AssociateVpcCidrBlockInput) SetAmazonProvidedIpv6CidrBlock(v bool) *AssociateVpcCidrBlockInput {
  21764. s.AmazonProvidedIpv6CidrBlock = &v
  21765. return s
  21766. }
  21767. // SetCidrBlock sets the CidrBlock field's value.
  21768. func (s *AssociateVpcCidrBlockInput) SetCidrBlock(v string) *AssociateVpcCidrBlockInput {
  21769. s.CidrBlock = &v
  21770. return s
  21771. }
  21772. // SetVpcId sets the VpcId field's value.
  21773. func (s *AssociateVpcCidrBlockInput) SetVpcId(v string) *AssociateVpcCidrBlockInput {
  21774. s.VpcId = &v
  21775. return s
  21776. }
  21777. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateVpcCidrBlockResult
  21778. type AssociateVpcCidrBlockOutput struct {
  21779. _ struct{} `type:"structure"`
  21780. // Information about the IPv4 CIDR block association.
  21781. CidrBlockAssociation *VpcCidrBlockAssociation `locationName:"cidrBlockAssociation" type:"structure"`
  21782. // Information about the IPv6 CIDR block association.
  21783. Ipv6CidrBlockAssociation *VpcIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
  21784. // The ID of the VPC.
  21785. VpcId *string `locationName:"vpcId" type:"string"`
  21786. }
  21787. // String returns the string representation
  21788. func (s AssociateVpcCidrBlockOutput) String() string {
  21789. return awsutil.Prettify(s)
  21790. }
  21791. // GoString returns the string representation
  21792. func (s AssociateVpcCidrBlockOutput) GoString() string {
  21793. return s.String()
  21794. }
  21795. // SetCidrBlockAssociation sets the CidrBlockAssociation field's value.
  21796. func (s *AssociateVpcCidrBlockOutput) SetCidrBlockAssociation(v *VpcCidrBlockAssociation) *AssociateVpcCidrBlockOutput {
  21797. s.CidrBlockAssociation = v
  21798. return s
  21799. }
  21800. // SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
  21801. func (s *AssociateVpcCidrBlockOutput) SetIpv6CidrBlockAssociation(v *VpcIpv6CidrBlockAssociation) *AssociateVpcCidrBlockOutput {
  21802. s.Ipv6CidrBlockAssociation = v
  21803. return s
  21804. }
  21805. // SetVpcId sets the VpcId field's value.
  21806. func (s *AssociateVpcCidrBlockOutput) SetVpcId(v string) *AssociateVpcCidrBlockOutput {
  21807. s.VpcId = &v
  21808. return s
  21809. }
  21810. // Contains the parameters for AttachClassicLinkVpc.
  21811. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachClassicLinkVpcRequest
  21812. type AttachClassicLinkVpcInput struct {
  21813. _ struct{} `type:"structure"`
  21814. // Checks whether you have the required permissions for the action, without
  21815. // actually making the request, and provides an error response. If you have
  21816. // the required permissions, the error response is DryRunOperation. Otherwise,
  21817. // it is UnauthorizedOperation.
  21818. DryRun *bool `locationName:"dryRun" type:"boolean"`
  21819. // The ID of one or more of the VPC's security groups. You cannot specify security
  21820. // groups from a different VPC.
  21821. //
  21822. // Groups is a required field
  21823. Groups []*string `locationName:"SecurityGroupId" locationNameList:"groupId" type:"list" required:"true"`
  21824. // The ID of an EC2-Classic instance to link to the ClassicLink-enabled VPC.
  21825. //
  21826. // InstanceId is a required field
  21827. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  21828. // The ID of a ClassicLink-enabled VPC.
  21829. //
  21830. // VpcId is a required field
  21831. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  21832. }
  21833. // String returns the string representation
  21834. func (s AttachClassicLinkVpcInput) String() string {
  21835. return awsutil.Prettify(s)
  21836. }
  21837. // GoString returns the string representation
  21838. func (s AttachClassicLinkVpcInput) GoString() string {
  21839. return s.String()
  21840. }
  21841. // Validate inspects the fields of the type to determine if they are valid.
  21842. func (s *AttachClassicLinkVpcInput) Validate() error {
  21843. invalidParams := request.ErrInvalidParams{Context: "AttachClassicLinkVpcInput"}
  21844. if s.Groups == nil {
  21845. invalidParams.Add(request.NewErrParamRequired("Groups"))
  21846. }
  21847. if s.InstanceId == nil {
  21848. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  21849. }
  21850. if s.VpcId == nil {
  21851. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  21852. }
  21853. if invalidParams.Len() > 0 {
  21854. return invalidParams
  21855. }
  21856. return nil
  21857. }
  21858. // SetDryRun sets the DryRun field's value.
  21859. func (s *AttachClassicLinkVpcInput) SetDryRun(v bool) *AttachClassicLinkVpcInput {
  21860. s.DryRun = &v
  21861. return s
  21862. }
  21863. // SetGroups sets the Groups field's value.
  21864. func (s *AttachClassicLinkVpcInput) SetGroups(v []*string) *AttachClassicLinkVpcInput {
  21865. s.Groups = v
  21866. return s
  21867. }
  21868. // SetInstanceId sets the InstanceId field's value.
  21869. func (s *AttachClassicLinkVpcInput) SetInstanceId(v string) *AttachClassicLinkVpcInput {
  21870. s.InstanceId = &v
  21871. return s
  21872. }
  21873. // SetVpcId sets the VpcId field's value.
  21874. func (s *AttachClassicLinkVpcInput) SetVpcId(v string) *AttachClassicLinkVpcInput {
  21875. s.VpcId = &v
  21876. return s
  21877. }
  21878. // Contains the output of AttachClassicLinkVpc.
  21879. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachClassicLinkVpcResult
  21880. type AttachClassicLinkVpcOutput struct {
  21881. _ struct{} `type:"structure"`
  21882. // Returns true if the request succeeds; otherwise, it returns an error.
  21883. Return *bool `locationName:"return" type:"boolean"`
  21884. }
  21885. // String returns the string representation
  21886. func (s AttachClassicLinkVpcOutput) String() string {
  21887. return awsutil.Prettify(s)
  21888. }
  21889. // GoString returns the string representation
  21890. func (s AttachClassicLinkVpcOutput) GoString() string {
  21891. return s.String()
  21892. }
  21893. // SetReturn sets the Return field's value.
  21894. func (s *AttachClassicLinkVpcOutput) SetReturn(v bool) *AttachClassicLinkVpcOutput {
  21895. s.Return = &v
  21896. return s
  21897. }
  21898. // Contains the parameters for AttachInternetGateway.
  21899. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachInternetGatewayRequest
  21900. type AttachInternetGatewayInput struct {
  21901. _ struct{} `type:"structure"`
  21902. // Checks whether you have the required permissions for the action, without
  21903. // actually making the request, and provides an error response. If you have
  21904. // the required permissions, the error response is DryRunOperation. Otherwise,
  21905. // it is UnauthorizedOperation.
  21906. DryRun *bool `locationName:"dryRun" type:"boolean"`
  21907. // The ID of the Internet gateway.
  21908. //
  21909. // InternetGatewayId is a required field
  21910. InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
  21911. // The ID of the VPC.
  21912. //
  21913. // VpcId is a required field
  21914. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  21915. }
  21916. // String returns the string representation
  21917. func (s AttachInternetGatewayInput) String() string {
  21918. return awsutil.Prettify(s)
  21919. }
  21920. // GoString returns the string representation
  21921. func (s AttachInternetGatewayInput) GoString() string {
  21922. return s.String()
  21923. }
  21924. // Validate inspects the fields of the type to determine if they are valid.
  21925. func (s *AttachInternetGatewayInput) Validate() error {
  21926. invalidParams := request.ErrInvalidParams{Context: "AttachInternetGatewayInput"}
  21927. if s.InternetGatewayId == nil {
  21928. invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
  21929. }
  21930. if s.VpcId == nil {
  21931. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  21932. }
  21933. if invalidParams.Len() > 0 {
  21934. return invalidParams
  21935. }
  21936. return nil
  21937. }
  21938. // SetDryRun sets the DryRun field's value.
  21939. func (s *AttachInternetGatewayInput) SetDryRun(v bool) *AttachInternetGatewayInput {
  21940. s.DryRun = &v
  21941. return s
  21942. }
  21943. // SetInternetGatewayId sets the InternetGatewayId field's value.
  21944. func (s *AttachInternetGatewayInput) SetInternetGatewayId(v string) *AttachInternetGatewayInput {
  21945. s.InternetGatewayId = &v
  21946. return s
  21947. }
  21948. // SetVpcId sets the VpcId field's value.
  21949. func (s *AttachInternetGatewayInput) SetVpcId(v string) *AttachInternetGatewayInput {
  21950. s.VpcId = &v
  21951. return s
  21952. }
  21953. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachInternetGatewayOutput
  21954. type AttachInternetGatewayOutput struct {
  21955. _ struct{} `type:"structure"`
  21956. }
  21957. // String returns the string representation
  21958. func (s AttachInternetGatewayOutput) String() string {
  21959. return awsutil.Prettify(s)
  21960. }
  21961. // GoString returns the string representation
  21962. func (s AttachInternetGatewayOutput) GoString() string {
  21963. return s.String()
  21964. }
  21965. // Contains the parameters for AttachNetworkInterface.
  21966. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachNetworkInterfaceRequest
  21967. type AttachNetworkInterfaceInput struct {
  21968. _ struct{} `type:"structure"`
  21969. // The index of the device for the network interface attachment.
  21970. //
  21971. // DeviceIndex is a required field
  21972. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer" required:"true"`
  21973. // Checks whether you have the required permissions for the action, without
  21974. // actually making the request, and provides an error response. If you have
  21975. // the required permissions, the error response is DryRunOperation. Otherwise,
  21976. // it is UnauthorizedOperation.
  21977. DryRun *bool `locationName:"dryRun" type:"boolean"`
  21978. // The ID of the instance.
  21979. //
  21980. // InstanceId is a required field
  21981. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  21982. // The ID of the network interface.
  21983. //
  21984. // NetworkInterfaceId is a required field
  21985. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  21986. }
  21987. // String returns the string representation
  21988. func (s AttachNetworkInterfaceInput) String() string {
  21989. return awsutil.Prettify(s)
  21990. }
  21991. // GoString returns the string representation
  21992. func (s AttachNetworkInterfaceInput) GoString() string {
  21993. return s.String()
  21994. }
  21995. // Validate inspects the fields of the type to determine if they are valid.
  21996. func (s *AttachNetworkInterfaceInput) Validate() error {
  21997. invalidParams := request.ErrInvalidParams{Context: "AttachNetworkInterfaceInput"}
  21998. if s.DeviceIndex == nil {
  21999. invalidParams.Add(request.NewErrParamRequired("DeviceIndex"))
  22000. }
  22001. if s.InstanceId == nil {
  22002. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  22003. }
  22004. if s.NetworkInterfaceId == nil {
  22005. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  22006. }
  22007. if invalidParams.Len() > 0 {
  22008. return invalidParams
  22009. }
  22010. return nil
  22011. }
  22012. // SetDeviceIndex sets the DeviceIndex field's value.
  22013. func (s *AttachNetworkInterfaceInput) SetDeviceIndex(v int64) *AttachNetworkInterfaceInput {
  22014. s.DeviceIndex = &v
  22015. return s
  22016. }
  22017. // SetDryRun sets the DryRun field's value.
  22018. func (s *AttachNetworkInterfaceInput) SetDryRun(v bool) *AttachNetworkInterfaceInput {
  22019. s.DryRun = &v
  22020. return s
  22021. }
  22022. // SetInstanceId sets the InstanceId field's value.
  22023. func (s *AttachNetworkInterfaceInput) SetInstanceId(v string) *AttachNetworkInterfaceInput {
  22024. s.InstanceId = &v
  22025. return s
  22026. }
  22027. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  22028. func (s *AttachNetworkInterfaceInput) SetNetworkInterfaceId(v string) *AttachNetworkInterfaceInput {
  22029. s.NetworkInterfaceId = &v
  22030. return s
  22031. }
  22032. // Contains the output of AttachNetworkInterface.
  22033. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachNetworkInterfaceResult
  22034. type AttachNetworkInterfaceOutput struct {
  22035. _ struct{} `type:"structure"`
  22036. // The ID of the network interface attachment.
  22037. AttachmentId *string `locationName:"attachmentId" type:"string"`
  22038. }
  22039. // String returns the string representation
  22040. func (s AttachNetworkInterfaceOutput) String() string {
  22041. return awsutil.Prettify(s)
  22042. }
  22043. // GoString returns the string representation
  22044. func (s AttachNetworkInterfaceOutput) GoString() string {
  22045. return s.String()
  22046. }
  22047. // SetAttachmentId sets the AttachmentId field's value.
  22048. func (s *AttachNetworkInterfaceOutput) SetAttachmentId(v string) *AttachNetworkInterfaceOutput {
  22049. s.AttachmentId = &v
  22050. return s
  22051. }
  22052. // Contains the parameters for AttachVolume.
  22053. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVolumeRequest
  22054. type AttachVolumeInput struct {
  22055. _ struct{} `type:"structure"`
  22056. // The device name (for example, /dev/sdh or xvdh).
  22057. //
  22058. // Device is a required field
  22059. Device *string `type:"string" required:"true"`
  22060. // Checks whether you have the required permissions for the action, without
  22061. // actually making the request, and provides an error response. If you have
  22062. // the required permissions, the error response is DryRunOperation. Otherwise,
  22063. // it is UnauthorizedOperation.
  22064. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22065. // The ID of the instance.
  22066. //
  22067. // InstanceId is a required field
  22068. InstanceId *string `type:"string" required:"true"`
  22069. // The ID of the EBS volume. The volume and instance must be within the same
  22070. // Availability Zone.
  22071. //
  22072. // VolumeId is a required field
  22073. VolumeId *string `type:"string" required:"true"`
  22074. }
  22075. // String returns the string representation
  22076. func (s AttachVolumeInput) String() string {
  22077. return awsutil.Prettify(s)
  22078. }
  22079. // GoString returns the string representation
  22080. func (s AttachVolumeInput) GoString() string {
  22081. return s.String()
  22082. }
  22083. // Validate inspects the fields of the type to determine if they are valid.
  22084. func (s *AttachVolumeInput) Validate() error {
  22085. invalidParams := request.ErrInvalidParams{Context: "AttachVolumeInput"}
  22086. if s.Device == nil {
  22087. invalidParams.Add(request.NewErrParamRequired("Device"))
  22088. }
  22089. if s.InstanceId == nil {
  22090. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  22091. }
  22092. if s.VolumeId == nil {
  22093. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  22094. }
  22095. if invalidParams.Len() > 0 {
  22096. return invalidParams
  22097. }
  22098. return nil
  22099. }
  22100. // SetDevice sets the Device field's value.
  22101. func (s *AttachVolumeInput) SetDevice(v string) *AttachVolumeInput {
  22102. s.Device = &v
  22103. return s
  22104. }
  22105. // SetDryRun sets the DryRun field's value.
  22106. func (s *AttachVolumeInput) SetDryRun(v bool) *AttachVolumeInput {
  22107. s.DryRun = &v
  22108. return s
  22109. }
  22110. // SetInstanceId sets the InstanceId field's value.
  22111. func (s *AttachVolumeInput) SetInstanceId(v string) *AttachVolumeInput {
  22112. s.InstanceId = &v
  22113. return s
  22114. }
  22115. // SetVolumeId sets the VolumeId field's value.
  22116. func (s *AttachVolumeInput) SetVolumeId(v string) *AttachVolumeInput {
  22117. s.VolumeId = &v
  22118. return s
  22119. }
  22120. // Contains the parameters for AttachVpnGateway.
  22121. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVpnGatewayRequest
  22122. type AttachVpnGatewayInput struct {
  22123. _ struct{} `type:"structure"`
  22124. // Checks whether you have the required permissions for the action, without
  22125. // actually making the request, and provides an error response. If you have
  22126. // the required permissions, the error response is DryRunOperation. Otherwise,
  22127. // it is UnauthorizedOperation.
  22128. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22129. // The ID of the VPC.
  22130. //
  22131. // VpcId is a required field
  22132. VpcId *string `type:"string" required:"true"`
  22133. // The ID of the virtual private gateway.
  22134. //
  22135. // VpnGatewayId is a required field
  22136. VpnGatewayId *string `type:"string" required:"true"`
  22137. }
  22138. // String returns the string representation
  22139. func (s AttachVpnGatewayInput) String() string {
  22140. return awsutil.Prettify(s)
  22141. }
  22142. // GoString returns the string representation
  22143. func (s AttachVpnGatewayInput) GoString() string {
  22144. return s.String()
  22145. }
  22146. // Validate inspects the fields of the type to determine if they are valid.
  22147. func (s *AttachVpnGatewayInput) Validate() error {
  22148. invalidParams := request.ErrInvalidParams{Context: "AttachVpnGatewayInput"}
  22149. if s.VpcId == nil {
  22150. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  22151. }
  22152. if s.VpnGatewayId == nil {
  22153. invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
  22154. }
  22155. if invalidParams.Len() > 0 {
  22156. return invalidParams
  22157. }
  22158. return nil
  22159. }
  22160. // SetDryRun sets the DryRun field's value.
  22161. func (s *AttachVpnGatewayInput) SetDryRun(v bool) *AttachVpnGatewayInput {
  22162. s.DryRun = &v
  22163. return s
  22164. }
  22165. // SetVpcId sets the VpcId field's value.
  22166. func (s *AttachVpnGatewayInput) SetVpcId(v string) *AttachVpnGatewayInput {
  22167. s.VpcId = &v
  22168. return s
  22169. }
  22170. // SetVpnGatewayId sets the VpnGatewayId field's value.
  22171. func (s *AttachVpnGatewayInput) SetVpnGatewayId(v string) *AttachVpnGatewayInput {
  22172. s.VpnGatewayId = &v
  22173. return s
  22174. }
  22175. // Contains the output of AttachVpnGateway.
  22176. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVpnGatewayResult
  22177. type AttachVpnGatewayOutput struct {
  22178. _ struct{} `type:"structure"`
  22179. // Information about the attachment.
  22180. VpcAttachment *VpcAttachment `locationName:"attachment" type:"structure"`
  22181. }
  22182. // String returns the string representation
  22183. func (s AttachVpnGatewayOutput) String() string {
  22184. return awsutil.Prettify(s)
  22185. }
  22186. // GoString returns the string representation
  22187. func (s AttachVpnGatewayOutput) GoString() string {
  22188. return s.String()
  22189. }
  22190. // SetVpcAttachment sets the VpcAttachment field's value.
  22191. func (s *AttachVpnGatewayOutput) SetVpcAttachment(v *VpcAttachment) *AttachVpnGatewayOutput {
  22192. s.VpcAttachment = v
  22193. return s
  22194. }
  22195. // Describes a value for a resource attribute that is a Boolean value.
  22196. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttributeBooleanValue
  22197. type AttributeBooleanValue struct {
  22198. _ struct{} `type:"structure"`
  22199. // The attribute value. The valid values are true or false.
  22200. Value *bool `locationName:"value" type:"boolean"`
  22201. }
  22202. // String returns the string representation
  22203. func (s AttributeBooleanValue) String() string {
  22204. return awsutil.Prettify(s)
  22205. }
  22206. // GoString returns the string representation
  22207. func (s AttributeBooleanValue) GoString() string {
  22208. return s.String()
  22209. }
  22210. // SetValue sets the Value field's value.
  22211. func (s *AttributeBooleanValue) SetValue(v bool) *AttributeBooleanValue {
  22212. s.Value = &v
  22213. return s
  22214. }
  22215. // Describes a value for a resource attribute that is a String.
  22216. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttributeValue
  22217. type AttributeValue struct {
  22218. _ struct{} `type:"structure"`
  22219. // The attribute value. Note that the value is case-sensitive.
  22220. Value *string `locationName:"value" type:"string"`
  22221. }
  22222. // String returns the string representation
  22223. func (s AttributeValue) String() string {
  22224. return awsutil.Prettify(s)
  22225. }
  22226. // GoString returns the string representation
  22227. func (s AttributeValue) GoString() string {
  22228. return s.String()
  22229. }
  22230. // SetValue sets the Value field's value.
  22231. func (s *AttributeValue) SetValue(v string) *AttributeValue {
  22232. s.Value = &v
  22233. return s
  22234. }
  22235. // Contains the parameters for AuthorizeSecurityGroupEgress.
  22236. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupEgressRequest
  22237. type AuthorizeSecurityGroupEgressInput struct {
  22238. _ struct{} `type:"structure"`
  22239. // Not supported. Use a set of IP permissions to specify the CIDR.
  22240. CidrIp *string `locationName:"cidrIp" type:"string"`
  22241. // Checks whether you have the required permissions for the action, without
  22242. // actually making the request, and provides an error response. If you have
  22243. // the required permissions, the error response is DryRunOperation. Otherwise,
  22244. // it is UnauthorizedOperation.
  22245. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22246. // Not supported. Use a set of IP permissions to specify the port.
  22247. FromPort *int64 `locationName:"fromPort" type:"integer"`
  22248. // The ID of the security group.
  22249. //
  22250. // GroupId is a required field
  22251. GroupId *string `locationName:"groupId" type:"string" required:"true"`
  22252. // One or more sets of IP permissions. You can't specify a destination security
  22253. // group and a CIDR IP address range in the same set of permissions.
  22254. IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
  22255. // Not supported. Use a set of IP permissions to specify the protocol name or
  22256. // number.
  22257. IpProtocol *string `locationName:"ipProtocol" type:"string"`
  22258. // Not supported. Use a set of IP permissions to specify a destination security
  22259. // group.
  22260. SourceSecurityGroupName *string `locationName:"sourceSecurityGroupName" type:"string"`
  22261. // Not supported. Use a set of IP permissions to specify a destination security
  22262. // group.
  22263. SourceSecurityGroupOwnerId *string `locationName:"sourceSecurityGroupOwnerId" type:"string"`
  22264. // Not supported. Use a set of IP permissions to specify the port.
  22265. ToPort *int64 `locationName:"toPort" type:"integer"`
  22266. }
  22267. // String returns the string representation
  22268. func (s AuthorizeSecurityGroupEgressInput) String() string {
  22269. return awsutil.Prettify(s)
  22270. }
  22271. // GoString returns the string representation
  22272. func (s AuthorizeSecurityGroupEgressInput) GoString() string {
  22273. return s.String()
  22274. }
  22275. // Validate inspects the fields of the type to determine if they are valid.
  22276. func (s *AuthorizeSecurityGroupEgressInput) Validate() error {
  22277. invalidParams := request.ErrInvalidParams{Context: "AuthorizeSecurityGroupEgressInput"}
  22278. if s.GroupId == nil {
  22279. invalidParams.Add(request.NewErrParamRequired("GroupId"))
  22280. }
  22281. if invalidParams.Len() > 0 {
  22282. return invalidParams
  22283. }
  22284. return nil
  22285. }
  22286. // SetCidrIp sets the CidrIp field's value.
  22287. func (s *AuthorizeSecurityGroupEgressInput) SetCidrIp(v string) *AuthorizeSecurityGroupEgressInput {
  22288. s.CidrIp = &v
  22289. return s
  22290. }
  22291. // SetDryRun sets the DryRun field's value.
  22292. func (s *AuthorizeSecurityGroupEgressInput) SetDryRun(v bool) *AuthorizeSecurityGroupEgressInput {
  22293. s.DryRun = &v
  22294. return s
  22295. }
  22296. // SetFromPort sets the FromPort field's value.
  22297. func (s *AuthorizeSecurityGroupEgressInput) SetFromPort(v int64) *AuthorizeSecurityGroupEgressInput {
  22298. s.FromPort = &v
  22299. return s
  22300. }
  22301. // SetGroupId sets the GroupId field's value.
  22302. func (s *AuthorizeSecurityGroupEgressInput) SetGroupId(v string) *AuthorizeSecurityGroupEgressInput {
  22303. s.GroupId = &v
  22304. return s
  22305. }
  22306. // SetIpPermissions sets the IpPermissions field's value.
  22307. func (s *AuthorizeSecurityGroupEgressInput) SetIpPermissions(v []*IpPermission) *AuthorizeSecurityGroupEgressInput {
  22308. s.IpPermissions = v
  22309. return s
  22310. }
  22311. // SetIpProtocol sets the IpProtocol field's value.
  22312. func (s *AuthorizeSecurityGroupEgressInput) SetIpProtocol(v string) *AuthorizeSecurityGroupEgressInput {
  22313. s.IpProtocol = &v
  22314. return s
  22315. }
  22316. // SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
  22317. func (s *AuthorizeSecurityGroupEgressInput) SetSourceSecurityGroupName(v string) *AuthorizeSecurityGroupEgressInput {
  22318. s.SourceSecurityGroupName = &v
  22319. return s
  22320. }
  22321. // SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
  22322. func (s *AuthorizeSecurityGroupEgressInput) SetSourceSecurityGroupOwnerId(v string) *AuthorizeSecurityGroupEgressInput {
  22323. s.SourceSecurityGroupOwnerId = &v
  22324. return s
  22325. }
  22326. // SetToPort sets the ToPort field's value.
  22327. func (s *AuthorizeSecurityGroupEgressInput) SetToPort(v int64) *AuthorizeSecurityGroupEgressInput {
  22328. s.ToPort = &v
  22329. return s
  22330. }
  22331. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupEgressOutput
  22332. type AuthorizeSecurityGroupEgressOutput struct {
  22333. _ struct{} `type:"structure"`
  22334. }
  22335. // String returns the string representation
  22336. func (s AuthorizeSecurityGroupEgressOutput) String() string {
  22337. return awsutil.Prettify(s)
  22338. }
  22339. // GoString returns the string representation
  22340. func (s AuthorizeSecurityGroupEgressOutput) GoString() string {
  22341. return s.String()
  22342. }
  22343. // Contains the parameters for AuthorizeSecurityGroupIngress.
  22344. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupIngressRequest
  22345. type AuthorizeSecurityGroupIngressInput struct {
  22346. _ struct{} `type:"structure"`
  22347. // The CIDR IPv4 address range. You can't specify this parameter when specifying
  22348. // a source security group.
  22349. CidrIp *string `type:"string"`
  22350. // Checks whether you have the required permissions for the action, without
  22351. // actually making the request, and provides an error response. If you have
  22352. // the required permissions, the error response is DryRunOperation. Otherwise,
  22353. // it is UnauthorizedOperation.
  22354. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22355. // The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6
  22356. // type number. For the ICMP/ICMPv6 type number, use -1 to specify all types.
  22357. // If you specify all ICMP/ICMPv6 types, you must specify all codes.
  22358. FromPort *int64 `type:"integer"`
  22359. // The ID of the security group. You must specify either the security group
  22360. // ID or the security group name in the request. For security groups in a nondefault
  22361. // VPC, you must specify the security group ID.
  22362. GroupId *string `type:"string"`
  22363. // [EC2-Classic, default VPC] The name of the security group. You must specify
  22364. // either the security group ID or the security group name in the request.
  22365. GroupName *string `type:"string"`
  22366. // One or more sets of IP permissions. Can be used to specify multiple rules
  22367. // in a single command.
  22368. IpPermissions []*IpPermission `locationNameList:"item" type:"list"`
  22369. // The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
  22370. // (VPC only) Use -1 to specify all protocols. If you specify -1, or a protocol
  22371. // number other than tcp, udp, icmp, or 58 (ICMPv6), traffic on all ports is
  22372. // allowed, regardless of any ports you specify. For tcp, udp, and icmp, you
  22373. // must specify a port range. For protocol 58 (ICMPv6), you can optionally specify
  22374. // a port range; if you don't, traffic for all types and codes is allowed.
  22375. IpProtocol *string `type:"string"`
  22376. // [EC2-Classic, default VPC] The name of the source security group. You can't
  22377. // specify this parameter in combination with the following parameters: the
  22378. // CIDR IP address range, the start of the port range, the IP protocol, and
  22379. // the end of the port range. Creates rules that grant full ICMP, UDP, and TCP
  22380. // access. To create a rule with a specific IP protocol and port range, use
  22381. // a set of IP permissions instead. For EC2-VPC, the source security group must
  22382. // be in the same VPC.
  22383. SourceSecurityGroupName *string `type:"string"`
  22384. // [EC2-Classic] The AWS account ID for the source security group, if the source
  22385. // security group is in a different account. You can't specify this parameter
  22386. // in combination with the following parameters: the CIDR IP address range,
  22387. // the IP protocol, the start of the port range, and the end of the port range.
  22388. // Creates rules that grant full ICMP, UDP, and TCP access. To create a rule
  22389. // with a specific IP protocol and port range, use a set of IP permissions instead.
  22390. SourceSecurityGroupOwnerId *string `type:"string"`
  22391. // The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code
  22392. // number. For the ICMP/ICMPv6 code number, use -1 to specify all codes. If
  22393. // you specify all ICMP/ICMPv6 types, you must specify all codes.
  22394. ToPort *int64 `type:"integer"`
  22395. }
  22396. // String returns the string representation
  22397. func (s AuthorizeSecurityGroupIngressInput) String() string {
  22398. return awsutil.Prettify(s)
  22399. }
  22400. // GoString returns the string representation
  22401. func (s AuthorizeSecurityGroupIngressInput) GoString() string {
  22402. return s.String()
  22403. }
  22404. // SetCidrIp sets the CidrIp field's value.
  22405. func (s *AuthorizeSecurityGroupIngressInput) SetCidrIp(v string) *AuthorizeSecurityGroupIngressInput {
  22406. s.CidrIp = &v
  22407. return s
  22408. }
  22409. // SetDryRun sets the DryRun field's value.
  22410. func (s *AuthorizeSecurityGroupIngressInput) SetDryRun(v bool) *AuthorizeSecurityGroupIngressInput {
  22411. s.DryRun = &v
  22412. return s
  22413. }
  22414. // SetFromPort sets the FromPort field's value.
  22415. func (s *AuthorizeSecurityGroupIngressInput) SetFromPort(v int64) *AuthorizeSecurityGroupIngressInput {
  22416. s.FromPort = &v
  22417. return s
  22418. }
  22419. // SetGroupId sets the GroupId field's value.
  22420. func (s *AuthorizeSecurityGroupIngressInput) SetGroupId(v string) *AuthorizeSecurityGroupIngressInput {
  22421. s.GroupId = &v
  22422. return s
  22423. }
  22424. // SetGroupName sets the GroupName field's value.
  22425. func (s *AuthorizeSecurityGroupIngressInput) SetGroupName(v string) *AuthorizeSecurityGroupIngressInput {
  22426. s.GroupName = &v
  22427. return s
  22428. }
  22429. // SetIpPermissions sets the IpPermissions field's value.
  22430. func (s *AuthorizeSecurityGroupIngressInput) SetIpPermissions(v []*IpPermission) *AuthorizeSecurityGroupIngressInput {
  22431. s.IpPermissions = v
  22432. return s
  22433. }
  22434. // SetIpProtocol sets the IpProtocol field's value.
  22435. func (s *AuthorizeSecurityGroupIngressInput) SetIpProtocol(v string) *AuthorizeSecurityGroupIngressInput {
  22436. s.IpProtocol = &v
  22437. return s
  22438. }
  22439. // SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
  22440. func (s *AuthorizeSecurityGroupIngressInput) SetSourceSecurityGroupName(v string) *AuthorizeSecurityGroupIngressInput {
  22441. s.SourceSecurityGroupName = &v
  22442. return s
  22443. }
  22444. // SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
  22445. func (s *AuthorizeSecurityGroupIngressInput) SetSourceSecurityGroupOwnerId(v string) *AuthorizeSecurityGroupIngressInput {
  22446. s.SourceSecurityGroupOwnerId = &v
  22447. return s
  22448. }
  22449. // SetToPort sets the ToPort field's value.
  22450. func (s *AuthorizeSecurityGroupIngressInput) SetToPort(v int64) *AuthorizeSecurityGroupIngressInput {
  22451. s.ToPort = &v
  22452. return s
  22453. }
  22454. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupIngressOutput
  22455. type AuthorizeSecurityGroupIngressOutput struct {
  22456. _ struct{} `type:"structure"`
  22457. }
  22458. // String returns the string representation
  22459. func (s AuthorizeSecurityGroupIngressOutput) String() string {
  22460. return awsutil.Prettify(s)
  22461. }
  22462. // GoString returns the string representation
  22463. func (s AuthorizeSecurityGroupIngressOutput) GoString() string {
  22464. return s.String()
  22465. }
  22466. // Describes an Availability Zone.
  22467. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AvailabilityZone
  22468. type AvailabilityZone struct {
  22469. _ struct{} `type:"structure"`
  22470. // Any messages about the Availability Zone.
  22471. Messages []*AvailabilityZoneMessage `locationName:"messageSet" locationNameList:"item" type:"list"`
  22472. // The name of the region.
  22473. RegionName *string `locationName:"regionName" type:"string"`
  22474. // The state of the Availability Zone.
  22475. State *string `locationName:"zoneState" type:"string" enum:"AvailabilityZoneState"`
  22476. // The name of the Availability Zone.
  22477. ZoneName *string `locationName:"zoneName" type:"string"`
  22478. }
  22479. // String returns the string representation
  22480. func (s AvailabilityZone) String() string {
  22481. return awsutil.Prettify(s)
  22482. }
  22483. // GoString returns the string representation
  22484. func (s AvailabilityZone) GoString() string {
  22485. return s.String()
  22486. }
  22487. // SetMessages sets the Messages field's value.
  22488. func (s *AvailabilityZone) SetMessages(v []*AvailabilityZoneMessage) *AvailabilityZone {
  22489. s.Messages = v
  22490. return s
  22491. }
  22492. // SetRegionName sets the RegionName field's value.
  22493. func (s *AvailabilityZone) SetRegionName(v string) *AvailabilityZone {
  22494. s.RegionName = &v
  22495. return s
  22496. }
  22497. // SetState sets the State field's value.
  22498. func (s *AvailabilityZone) SetState(v string) *AvailabilityZone {
  22499. s.State = &v
  22500. return s
  22501. }
  22502. // SetZoneName sets the ZoneName field's value.
  22503. func (s *AvailabilityZone) SetZoneName(v string) *AvailabilityZone {
  22504. s.ZoneName = &v
  22505. return s
  22506. }
  22507. // Describes a message about an Availability Zone.
  22508. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AvailabilityZoneMessage
  22509. type AvailabilityZoneMessage struct {
  22510. _ struct{} `type:"structure"`
  22511. // The message about the Availability Zone.
  22512. Message *string `locationName:"message" type:"string"`
  22513. }
  22514. // String returns the string representation
  22515. func (s AvailabilityZoneMessage) String() string {
  22516. return awsutil.Prettify(s)
  22517. }
  22518. // GoString returns the string representation
  22519. func (s AvailabilityZoneMessage) GoString() string {
  22520. return s.String()
  22521. }
  22522. // SetMessage sets the Message field's value.
  22523. func (s *AvailabilityZoneMessage) SetMessage(v string) *AvailabilityZoneMessage {
  22524. s.Message = &v
  22525. return s
  22526. }
  22527. // The capacity information for instances launched onto the Dedicated Host.
  22528. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AvailableCapacity
  22529. type AvailableCapacity struct {
  22530. _ struct{} `type:"structure"`
  22531. // The total number of instances that the Dedicated Host supports.
  22532. AvailableInstanceCapacity []*InstanceCapacity `locationName:"availableInstanceCapacity" locationNameList:"item" type:"list"`
  22533. // The number of vCPUs available on the Dedicated Host.
  22534. AvailableVCpus *int64 `locationName:"availableVCpus" type:"integer"`
  22535. }
  22536. // String returns the string representation
  22537. func (s AvailableCapacity) String() string {
  22538. return awsutil.Prettify(s)
  22539. }
  22540. // GoString returns the string representation
  22541. func (s AvailableCapacity) GoString() string {
  22542. return s.String()
  22543. }
  22544. // SetAvailableInstanceCapacity sets the AvailableInstanceCapacity field's value.
  22545. func (s *AvailableCapacity) SetAvailableInstanceCapacity(v []*InstanceCapacity) *AvailableCapacity {
  22546. s.AvailableInstanceCapacity = v
  22547. return s
  22548. }
  22549. // SetAvailableVCpus sets the AvailableVCpus field's value.
  22550. func (s *AvailableCapacity) SetAvailableVCpus(v int64) *AvailableCapacity {
  22551. s.AvailableVCpus = &v
  22552. return s
  22553. }
  22554. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BlobAttributeValue
  22555. type BlobAttributeValue struct {
  22556. _ struct{} `type:"structure"`
  22557. // Value is automatically base64 encoded/decoded by the SDK.
  22558. Value []byte `locationName:"value" type:"blob"`
  22559. }
  22560. // String returns the string representation
  22561. func (s BlobAttributeValue) String() string {
  22562. return awsutil.Prettify(s)
  22563. }
  22564. // GoString returns the string representation
  22565. func (s BlobAttributeValue) GoString() string {
  22566. return s.String()
  22567. }
  22568. // SetValue sets the Value field's value.
  22569. func (s *BlobAttributeValue) SetValue(v []byte) *BlobAttributeValue {
  22570. s.Value = v
  22571. return s
  22572. }
  22573. // Describes a block device mapping.
  22574. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BlockDeviceMapping
  22575. type BlockDeviceMapping struct {
  22576. _ struct{} `type:"structure"`
  22577. // The device name (for example, /dev/sdh or xvdh).
  22578. DeviceName *string `locationName:"deviceName" type:"string"`
  22579. // Parameters used to automatically set up EBS volumes when the instance is
  22580. // launched.
  22581. Ebs *EbsBlockDevice `locationName:"ebs" type:"structure"`
  22582. // Suppresses the specified device included in the block device mapping of the
  22583. // AMI.
  22584. NoDevice *string `locationName:"noDevice" type:"string"`
  22585. // The virtual device name (ephemeralN). Instance store volumes are numbered
  22586. // starting from 0. An instance type with 2 available instance store volumes
  22587. // can specify mappings for ephemeral0 and ephemeral1.The number of available
  22588. // instance store volumes depends on the instance type. After you connect to
  22589. // the instance, you must mount the volume.
  22590. //
  22591. // Constraints: For M3 instances, you must specify instance store volumes in
  22592. // the block device mapping for the instance. When you launch an M3 instance,
  22593. // we ignore any instance store volumes specified in the block device mapping
  22594. // for the AMI.
  22595. VirtualName *string `locationName:"virtualName" type:"string"`
  22596. }
  22597. // String returns the string representation
  22598. func (s BlockDeviceMapping) String() string {
  22599. return awsutil.Prettify(s)
  22600. }
  22601. // GoString returns the string representation
  22602. func (s BlockDeviceMapping) GoString() string {
  22603. return s.String()
  22604. }
  22605. // SetDeviceName sets the DeviceName field's value.
  22606. func (s *BlockDeviceMapping) SetDeviceName(v string) *BlockDeviceMapping {
  22607. s.DeviceName = &v
  22608. return s
  22609. }
  22610. // SetEbs sets the Ebs field's value.
  22611. func (s *BlockDeviceMapping) SetEbs(v *EbsBlockDevice) *BlockDeviceMapping {
  22612. s.Ebs = v
  22613. return s
  22614. }
  22615. // SetNoDevice sets the NoDevice field's value.
  22616. func (s *BlockDeviceMapping) SetNoDevice(v string) *BlockDeviceMapping {
  22617. s.NoDevice = &v
  22618. return s
  22619. }
  22620. // SetVirtualName sets the VirtualName field's value.
  22621. func (s *BlockDeviceMapping) SetVirtualName(v string) *BlockDeviceMapping {
  22622. s.VirtualName = &v
  22623. return s
  22624. }
  22625. // Contains the parameters for BundleInstance.
  22626. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleInstanceRequest
  22627. type BundleInstanceInput struct {
  22628. _ struct{} `type:"structure"`
  22629. // Checks whether you have the required permissions for the action, without
  22630. // actually making the request, and provides an error response. If you have
  22631. // the required permissions, the error response is DryRunOperation. Otherwise,
  22632. // it is UnauthorizedOperation.
  22633. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22634. // The ID of the instance to bundle.
  22635. //
  22636. // Type: String
  22637. //
  22638. // Default: None
  22639. //
  22640. // Required: Yes
  22641. //
  22642. // InstanceId is a required field
  22643. InstanceId *string `type:"string" required:"true"`
  22644. // The bucket in which to store the AMI. You can specify a bucket that you already
  22645. // own or a new bucket that Amazon EC2 creates on your behalf. If you specify
  22646. // a bucket that belongs to someone else, Amazon EC2 returns an error.
  22647. //
  22648. // Storage is a required field
  22649. Storage *Storage `type:"structure" required:"true"`
  22650. }
  22651. // String returns the string representation
  22652. func (s BundleInstanceInput) String() string {
  22653. return awsutil.Prettify(s)
  22654. }
  22655. // GoString returns the string representation
  22656. func (s BundleInstanceInput) GoString() string {
  22657. return s.String()
  22658. }
  22659. // Validate inspects the fields of the type to determine if they are valid.
  22660. func (s *BundleInstanceInput) Validate() error {
  22661. invalidParams := request.ErrInvalidParams{Context: "BundleInstanceInput"}
  22662. if s.InstanceId == nil {
  22663. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  22664. }
  22665. if s.Storage == nil {
  22666. invalidParams.Add(request.NewErrParamRequired("Storage"))
  22667. }
  22668. if invalidParams.Len() > 0 {
  22669. return invalidParams
  22670. }
  22671. return nil
  22672. }
  22673. // SetDryRun sets the DryRun field's value.
  22674. func (s *BundleInstanceInput) SetDryRun(v bool) *BundleInstanceInput {
  22675. s.DryRun = &v
  22676. return s
  22677. }
  22678. // SetInstanceId sets the InstanceId field's value.
  22679. func (s *BundleInstanceInput) SetInstanceId(v string) *BundleInstanceInput {
  22680. s.InstanceId = &v
  22681. return s
  22682. }
  22683. // SetStorage sets the Storage field's value.
  22684. func (s *BundleInstanceInput) SetStorage(v *Storage) *BundleInstanceInput {
  22685. s.Storage = v
  22686. return s
  22687. }
  22688. // Contains the output of BundleInstance.
  22689. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleInstanceResult
  22690. type BundleInstanceOutput struct {
  22691. _ struct{} `type:"structure"`
  22692. // Information about the bundle task.
  22693. BundleTask *BundleTask `locationName:"bundleInstanceTask" type:"structure"`
  22694. }
  22695. // String returns the string representation
  22696. func (s BundleInstanceOutput) String() string {
  22697. return awsutil.Prettify(s)
  22698. }
  22699. // GoString returns the string representation
  22700. func (s BundleInstanceOutput) GoString() string {
  22701. return s.String()
  22702. }
  22703. // SetBundleTask sets the BundleTask field's value.
  22704. func (s *BundleInstanceOutput) SetBundleTask(v *BundleTask) *BundleInstanceOutput {
  22705. s.BundleTask = v
  22706. return s
  22707. }
  22708. // Describes a bundle task.
  22709. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleTask
  22710. type BundleTask struct {
  22711. _ struct{} `type:"structure"`
  22712. // The ID of the bundle task.
  22713. BundleId *string `locationName:"bundleId" type:"string"`
  22714. // If the task fails, a description of the error.
  22715. BundleTaskError *BundleTaskError `locationName:"error" type:"structure"`
  22716. // The ID of the instance associated with this bundle task.
  22717. InstanceId *string `locationName:"instanceId" type:"string"`
  22718. // The level of task completion, as a percent (for example, 20%).
  22719. Progress *string `locationName:"progress" type:"string"`
  22720. // The time this task started.
  22721. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
  22722. // The state of the task.
  22723. State *string `locationName:"state" type:"string" enum:"BundleTaskState"`
  22724. // The Amazon S3 storage locations.
  22725. Storage *Storage `locationName:"storage" type:"structure"`
  22726. // The time of the most recent update for the task.
  22727. UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" timestampFormat:"iso8601"`
  22728. }
  22729. // String returns the string representation
  22730. func (s BundleTask) String() string {
  22731. return awsutil.Prettify(s)
  22732. }
  22733. // GoString returns the string representation
  22734. func (s BundleTask) GoString() string {
  22735. return s.String()
  22736. }
  22737. // SetBundleId sets the BundleId field's value.
  22738. func (s *BundleTask) SetBundleId(v string) *BundleTask {
  22739. s.BundleId = &v
  22740. return s
  22741. }
  22742. // SetBundleTaskError sets the BundleTaskError field's value.
  22743. func (s *BundleTask) SetBundleTaskError(v *BundleTaskError) *BundleTask {
  22744. s.BundleTaskError = v
  22745. return s
  22746. }
  22747. // SetInstanceId sets the InstanceId field's value.
  22748. func (s *BundleTask) SetInstanceId(v string) *BundleTask {
  22749. s.InstanceId = &v
  22750. return s
  22751. }
  22752. // SetProgress sets the Progress field's value.
  22753. func (s *BundleTask) SetProgress(v string) *BundleTask {
  22754. s.Progress = &v
  22755. return s
  22756. }
  22757. // SetStartTime sets the StartTime field's value.
  22758. func (s *BundleTask) SetStartTime(v time.Time) *BundleTask {
  22759. s.StartTime = &v
  22760. return s
  22761. }
  22762. // SetState sets the State field's value.
  22763. func (s *BundleTask) SetState(v string) *BundleTask {
  22764. s.State = &v
  22765. return s
  22766. }
  22767. // SetStorage sets the Storage field's value.
  22768. func (s *BundleTask) SetStorage(v *Storage) *BundleTask {
  22769. s.Storage = v
  22770. return s
  22771. }
  22772. // SetUpdateTime sets the UpdateTime field's value.
  22773. func (s *BundleTask) SetUpdateTime(v time.Time) *BundleTask {
  22774. s.UpdateTime = &v
  22775. return s
  22776. }
  22777. // Describes an error for BundleInstance.
  22778. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleTaskError
  22779. type BundleTaskError struct {
  22780. _ struct{} `type:"structure"`
  22781. // The error code.
  22782. Code *string `locationName:"code" type:"string"`
  22783. // The error message.
  22784. Message *string `locationName:"message" type:"string"`
  22785. }
  22786. // String returns the string representation
  22787. func (s BundleTaskError) String() string {
  22788. return awsutil.Prettify(s)
  22789. }
  22790. // GoString returns the string representation
  22791. func (s BundleTaskError) GoString() string {
  22792. return s.String()
  22793. }
  22794. // SetCode sets the Code field's value.
  22795. func (s *BundleTaskError) SetCode(v string) *BundleTaskError {
  22796. s.Code = &v
  22797. return s
  22798. }
  22799. // SetMessage sets the Message field's value.
  22800. func (s *BundleTaskError) SetMessage(v string) *BundleTaskError {
  22801. s.Message = &v
  22802. return s
  22803. }
  22804. // Contains the parameters for CancelBundleTask.
  22805. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelBundleTaskRequest
  22806. type CancelBundleTaskInput struct {
  22807. _ struct{} `type:"structure"`
  22808. // The ID of the bundle task.
  22809. //
  22810. // BundleId is a required field
  22811. BundleId *string `type:"string" required:"true"`
  22812. // Checks whether you have the required permissions for the action, without
  22813. // actually making the request, and provides an error response. If you have
  22814. // the required permissions, the error response is DryRunOperation. Otherwise,
  22815. // it is UnauthorizedOperation.
  22816. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22817. }
  22818. // String returns the string representation
  22819. func (s CancelBundleTaskInput) String() string {
  22820. return awsutil.Prettify(s)
  22821. }
  22822. // GoString returns the string representation
  22823. func (s CancelBundleTaskInput) GoString() string {
  22824. return s.String()
  22825. }
  22826. // Validate inspects the fields of the type to determine if they are valid.
  22827. func (s *CancelBundleTaskInput) Validate() error {
  22828. invalidParams := request.ErrInvalidParams{Context: "CancelBundleTaskInput"}
  22829. if s.BundleId == nil {
  22830. invalidParams.Add(request.NewErrParamRequired("BundleId"))
  22831. }
  22832. if invalidParams.Len() > 0 {
  22833. return invalidParams
  22834. }
  22835. return nil
  22836. }
  22837. // SetBundleId sets the BundleId field's value.
  22838. func (s *CancelBundleTaskInput) SetBundleId(v string) *CancelBundleTaskInput {
  22839. s.BundleId = &v
  22840. return s
  22841. }
  22842. // SetDryRun sets the DryRun field's value.
  22843. func (s *CancelBundleTaskInput) SetDryRun(v bool) *CancelBundleTaskInput {
  22844. s.DryRun = &v
  22845. return s
  22846. }
  22847. // Contains the output of CancelBundleTask.
  22848. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelBundleTaskResult
  22849. type CancelBundleTaskOutput struct {
  22850. _ struct{} `type:"structure"`
  22851. // Information about the bundle task.
  22852. BundleTask *BundleTask `locationName:"bundleInstanceTask" type:"structure"`
  22853. }
  22854. // String returns the string representation
  22855. func (s CancelBundleTaskOutput) String() string {
  22856. return awsutil.Prettify(s)
  22857. }
  22858. // GoString returns the string representation
  22859. func (s CancelBundleTaskOutput) GoString() string {
  22860. return s.String()
  22861. }
  22862. // SetBundleTask sets the BundleTask field's value.
  22863. func (s *CancelBundleTaskOutput) SetBundleTask(v *BundleTask) *CancelBundleTaskOutput {
  22864. s.BundleTask = v
  22865. return s
  22866. }
  22867. // Contains the parameters for CancelConversionTask.
  22868. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelConversionRequest
  22869. type CancelConversionTaskInput struct {
  22870. _ struct{} `type:"structure"`
  22871. // The ID of the conversion task.
  22872. //
  22873. // ConversionTaskId is a required field
  22874. ConversionTaskId *string `locationName:"conversionTaskId" type:"string" required:"true"`
  22875. // Checks whether you have the required permissions for the action, without
  22876. // actually making the request, and provides an error response. If you have
  22877. // the required permissions, the error response is DryRunOperation. Otherwise,
  22878. // it is UnauthorizedOperation.
  22879. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22880. // The reason for canceling the conversion task.
  22881. ReasonMessage *string `locationName:"reasonMessage" type:"string"`
  22882. }
  22883. // String returns the string representation
  22884. func (s CancelConversionTaskInput) String() string {
  22885. return awsutil.Prettify(s)
  22886. }
  22887. // GoString returns the string representation
  22888. func (s CancelConversionTaskInput) GoString() string {
  22889. return s.String()
  22890. }
  22891. // Validate inspects the fields of the type to determine if they are valid.
  22892. func (s *CancelConversionTaskInput) Validate() error {
  22893. invalidParams := request.ErrInvalidParams{Context: "CancelConversionTaskInput"}
  22894. if s.ConversionTaskId == nil {
  22895. invalidParams.Add(request.NewErrParamRequired("ConversionTaskId"))
  22896. }
  22897. if invalidParams.Len() > 0 {
  22898. return invalidParams
  22899. }
  22900. return nil
  22901. }
  22902. // SetConversionTaskId sets the ConversionTaskId field's value.
  22903. func (s *CancelConversionTaskInput) SetConversionTaskId(v string) *CancelConversionTaskInput {
  22904. s.ConversionTaskId = &v
  22905. return s
  22906. }
  22907. // SetDryRun sets the DryRun field's value.
  22908. func (s *CancelConversionTaskInput) SetDryRun(v bool) *CancelConversionTaskInput {
  22909. s.DryRun = &v
  22910. return s
  22911. }
  22912. // SetReasonMessage sets the ReasonMessage field's value.
  22913. func (s *CancelConversionTaskInput) SetReasonMessage(v string) *CancelConversionTaskInput {
  22914. s.ReasonMessage = &v
  22915. return s
  22916. }
  22917. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelConversionTaskOutput
  22918. type CancelConversionTaskOutput struct {
  22919. _ struct{} `type:"structure"`
  22920. }
  22921. // String returns the string representation
  22922. func (s CancelConversionTaskOutput) String() string {
  22923. return awsutil.Prettify(s)
  22924. }
  22925. // GoString returns the string representation
  22926. func (s CancelConversionTaskOutput) GoString() string {
  22927. return s.String()
  22928. }
  22929. // Contains the parameters for CancelExportTask.
  22930. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelExportTaskRequest
  22931. type CancelExportTaskInput struct {
  22932. _ struct{} `type:"structure"`
  22933. // The ID of the export task. This is the ID returned by CreateInstanceExportTask.
  22934. //
  22935. // ExportTaskId is a required field
  22936. ExportTaskId *string `locationName:"exportTaskId" type:"string" required:"true"`
  22937. }
  22938. // String returns the string representation
  22939. func (s CancelExportTaskInput) String() string {
  22940. return awsutil.Prettify(s)
  22941. }
  22942. // GoString returns the string representation
  22943. func (s CancelExportTaskInput) GoString() string {
  22944. return s.String()
  22945. }
  22946. // Validate inspects the fields of the type to determine if they are valid.
  22947. func (s *CancelExportTaskInput) Validate() error {
  22948. invalidParams := request.ErrInvalidParams{Context: "CancelExportTaskInput"}
  22949. if s.ExportTaskId == nil {
  22950. invalidParams.Add(request.NewErrParamRequired("ExportTaskId"))
  22951. }
  22952. if invalidParams.Len() > 0 {
  22953. return invalidParams
  22954. }
  22955. return nil
  22956. }
  22957. // SetExportTaskId sets the ExportTaskId field's value.
  22958. func (s *CancelExportTaskInput) SetExportTaskId(v string) *CancelExportTaskInput {
  22959. s.ExportTaskId = &v
  22960. return s
  22961. }
  22962. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelExportTaskOutput
  22963. type CancelExportTaskOutput struct {
  22964. _ struct{} `type:"structure"`
  22965. }
  22966. // String returns the string representation
  22967. func (s CancelExportTaskOutput) String() string {
  22968. return awsutil.Prettify(s)
  22969. }
  22970. // GoString returns the string representation
  22971. func (s CancelExportTaskOutput) GoString() string {
  22972. return s.String()
  22973. }
  22974. // Contains the parameters for CancelImportTask.
  22975. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelImportTaskRequest
  22976. type CancelImportTaskInput struct {
  22977. _ struct{} `type:"structure"`
  22978. // The reason for canceling the task.
  22979. CancelReason *string `type:"string"`
  22980. // Checks whether you have the required permissions for the action, without
  22981. // actually making the request, and provides an error response. If you have
  22982. // the required permissions, the error response is DryRunOperation. Otherwise,
  22983. // it is UnauthorizedOperation.
  22984. DryRun *bool `type:"boolean"`
  22985. // The ID of the import image or import snapshot task to be canceled.
  22986. ImportTaskId *string `type:"string"`
  22987. }
  22988. // String returns the string representation
  22989. func (s CancelImportTaskInput) String() string {
  22990. return awsutil.Prettify(s)
  22991. }
  22992. // GoString returns the string representation
  22993. func (s CancelImportTaskInput) GoString() string {
  22994. return s.String()
  22995. }
  22996. // SetCancelReason sets the CancelReason field's value.
  22997. func (s *CancelImportTaskInput) SetCancelReason(v string) *CancelImportTaskInput {
  22998. s.CancelReason = &v
  22999. return s
  23000. }
  23001. // SetDryRun sets the DryRun field's value.
  23002. func (s *CancelImportTaskInput) SetDryRun(v bool) *CancelImportTaskInput {
  23003. s.DryRun = &v
  23004. return s
  23005. }
  23006. // SetImportTaskId sets the ImportTaskId field's value.
  23007. func (s *CancelImportTaskInput) SetImportTaskId(v string) *CancelImportTaskInput {
  23008. s.ImportTaskId = &v
  23009. return s
  23010. }
  23011. // Contains the output for CancelImportTask.
  23012. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelImportTaskResult
  23013. type CancelImportTaskOutput struct {
  23014. _ struct{} `type:"structure"`
  23015. // The ID of the task being canceled.
  23016. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  23017. // The current state of the task being canceled.
  23018. PreviousState *string `locationName:"previousState" type:"string"`
  23019. // The current state of the task being canceled.
  23020. State *string `locationName:"state" type:"string"`
  23021. }
  23022. // String returns the string representation
  23023. func (s CancelImportTaskOutput) String() string {
  23024. return awsutil.Prettify(s)
  23025. }
  23026. // GoString returns the string representation
  23027. func (s CancelImportTaskOutput) GoString() string {
  23028. return s.String()
  23029. }
  23030. // SetImportTaskId sets the ImportTaskId field's value.
  23031. func (s *CancelImportTaskOutput) SetImportTaskId(v string) *CancelImportTaskOutput {
  23032. s.ImportTaskId = &v
  23033. return s
  23034. }
  23035. // SetPreviousState sets the PreviousState field's value.
  23036. func (s *CancelImportTaskOutput) SetPreviousState(v string) *CancelImportTaskOutput {
  23037. s.PreviousState = &v
  23038. return s
  23039. }
  23040. // SetState sets the State field's value.
  23041. func (s *CancelImportTaskOutput) SetState(v string) *CancelImportTaskOutput {
  23042. s.State = &v
  23043. return s
  23044. }
  23045. // Contains the parameters for CancelReservedInstancesListing.
  23046. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelReservedInstancesListingRequest
  23047. type CancelReservedInstancesListingInput struct {
  23048. _ struct{} `type:"structure"`
  23049. // The ID of the Reserved Instance listing.
  23050. //
  23051. // ReservedInstancesListingId is a required field
  23052. ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string" required:"true"`
  23053. }
  23054. // String returns the string representation
  23055. func (s CancelReservedInstancesListingInput) String() string {
  23056. return awsutil.Prettify(s)
  23057. }
  23058. // GoString returns the string representation
  23059. func (s CancelReservedInstancesListingInput) GoString() string {
  23060. return s.String()
  23061. }
  23062. // Validate inspects the fields of the type to determine if they are valid.
  23063. func (s *CancelReservedInstancesListingInput) Validate() error {
  23064. invalidParams := request.ErrInvalidParams{Context: "CancelReservedInstancesListingInput"}
  23065. if s.ReservedInstancesListingId == nil {
  23066. invalidParams.Add(request.NewErrParamRequired("ReservedInstancesListingId"))
  23067. }
  23068. if invalidParams.Len() > 0 {
  23069. return invalidParams
  23070. }
  23071. return nil
  23072. }
  23073. // SetReservedInstancesListingId sets the ReservedInstancesListingId field's value.
  23074. func (s *CancelReservedInstancesListingInput) SetReservedInstancesListingId(v string) *CancelReservedInstancesListingInput {
  23075. s.ReservedInstancesListingId = &v
  23076. return s
  23077. }
  23078. // Contains the output of CancelReservedInstancesListing.
  23079. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelReservedInstancesListingResult
  23080. type CancelReservedInstancesListingOutput struct {
  23081. _ struct{} `type:"structure"`
  23082. // The Reserved Instance listing.
  23083. ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
  23084. }
  23085. // String returns the string representation
  23086. func (s CancelReservedInstancesListingOutput) String() string {
  23087. return awsutil.Prettify(s)
  23088. }
  23089. // GoString returns the string representation
  23090. func (s CancelReservedInstancesListingOutput) GoString() string {
  23091. return s.String()
  23092. }
  23093. // SetReservedInstancesListings sets the ReservedInstancesListings field's value.
  23094. func (s *CancelReservedInstancesListingOutput) SetReservedInstancesListings(v []*ReservedInstancesListing) *CancelReservedInstancesListingOutput {
  23095. s.ReservedInstancesListings = v
  23096. return s
  23097. }
  23098. // Describes a Spot Fleet error.
  23099. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequestsError
  23100. type CancelSpotFleetRequestsError struct {
  23101. _ struct{} `type:"structure"`
  23102. // The error code.
  23103. //
  23104. // Code is a required field
  23105. Code *string `locationName:"code" type:"string" required:"true" enum:"CancelBatchErrorCode"`
  23106. // The description for the error code.
  23107. //
  23108. // Message is a required field
  23109. Message *string `locationName:"message" type:"string" required:"true"`
  23110. }
  23111. // String returns the string representation
  23112. func (s CancelSpotFleetRequestsError) String() string {
  23113. return awsutil.Prettify(s)
  23114. }
  23115. // GoString returns the string representation
  23116. func (s CancelSpotFleetRequestsError) GoString() string {
  23117. return s.String()
  23118. }
  23119. // SetCode sets the Code field's value.
  23120. func (s *CancelSpotFleetRequestsError) SetCode(v string) *CancelSpotFleetRequestsError {
  23121. s.Code = &v
  23122. return s
  23123. }
  23124. // SetMessage sets the Message field's value.
  23125. func (s *CancelSpotFleetRequestsError) SetMessage(v string) *CancelSpotFleetRequestsError {
  23126. s.Message = &v
  23127. return s
  23128. }
  23129. // Describes a Spot Fleet request that was not successfully canceled.
  23130. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequestsErrorItem
  23131. type CancelSpotFleetRequestsErrorItem struct {
  23132. _ struct{} `type:"structure"`
  23133. // The error.
  23134. //
  23135. // Error is a required field
  23136. Error *CancelSpotFleetRequestsError `locationName:"error" type:"structure" required:"true"`
  23137. // The ID of the Spot Fleet request.
  23138. //
  23139. // SpotFleetRequestId is a required field
  23140. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  23141. }
  23142. // String returns the string representation
  23143. func (s CancelSpotFleetRequestsErrorItem) String() string {
  23144. return awsutil.Prettify(s)
  23145. }
  23146. // GoString returns the string representation
  23147. func (s CancelSpotFleetRequestsErrorItem) GoString() string {
  23148. return s.String()
  23149. }
  23150. // SetError sets the Error field's value.
  23151. func (s *CancelSpotFleetRequestsErrorItem) SetError(v *CancelSpotFleetRequestsError) *CancelSpotFleetRequestsErrorItem {
  23152. s.Error = v
  23153. return s
  23154. }
  23155. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  23156. func (s *CancelSpotFleetRequestsErrorItem) SetSpotFleetRequestId(v string) *CancelSpotFleetRequestsErrorItem {
  23157. s.SpotFleetRequestId = &v
  23158. return s
  23159. }
  23160. // Contains the parameters for CancelSpotFleetRequests.
  23161. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequestsRequest
  23162. type CancelSpotFleetRequestsInput struct {
  23163. _ struct{} `type:"structure"`
  23164. // Checks whether you have the required permissions for the action, without
  23165. // actually making the request, and provides an error response. If you have
  23166. // the required permissions, the error response is DryRunOperation. Otherwise,
  23167. // it is UnauthorizedOperation.
  23168. DryRun *bool `locationName:"dryRun" type:"boolean"`
  23169. // The IDs of the Spot Fleet requests.
  23170. //
  23171. // SpotFleetRequestIds is a required field
  23172. SpotFleetRequestIds []*string `locationName:"spotFleetRequestId" locationNameList:"item" type:"list" required:"true"`
  23173. // Indicates whether to terminate instances for a Spot Fleet request if it is
  23174. // canceled successfully.
  23175. //
  23176. // TerminateInstances is a required field
  23177. TerminateInstances *bool `locationName:"terminateInstances" type:"boolean" required:"true"`
  23178. }
  23179. // String returns the string representation
  23180. func (s CancelSpotFleetRequestsInput) String() string {
  23181. return awsutil.Prettify(s)
  23182. }
  23183. // GoString returns the string representation
  23184. func (s CancelSpotFleetRequestsInput) GoString() string {
  23185. return s.String()
  23186. }
  23187. // Validate inspects the fields of the type to determine if they are valid.
  23188. func (s *CancelSpotFleetRequestsInput) Validate() error {
  23189. invalidParams := request.ErrInvalidParams{Context: "CancelSpotFleetRequestsInput"}
  23190. if s.SpotFleetRequestIds == nil {
  23191. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestIds"))
  23192. }
  23193. if s.TerminateInstances == nil {
  23194. invalidParams.Add(request.NewErrParamRequired("TerminateInstances"))
  23195. }
  23196. if invalidParams.Len() > 0 {
  23197. return invalidParams
  23198. }
  23199. return nil
  23200. }
  23201. // SetDryRun sets the DryRun field's value.
  23202. func (s *CancelSpotFleetRequestsInput) SetDryRun(v bool) *CancelSpotFleetRequestsInput {
  23203. s.DryRun = &v
  23204. return s
  23205. }
  23206. // SetSpotFleetRequestIds sets the SpotFleetRequestIds field's value.
  23207. func (s *CancelSpotFleetRequestsInput) SetSpotFleetRequestIds(v []*string) *CancelSpotFleetRequestsInput {
  23208. s.SpotFleetRequestIds = v
  23209. return s
  23210. }
  23211. // SetTerminateInstances sets the TerminateInstances field's value.
  23212. func (s *CancelSpotFleetRequestsInput) SetTerminateInstances(v bool) *CancelSpotFleetRequestsInput {
  23213. s.TerminateInstances = &v
  23214. return s
  23215. }
  23216. // Contains the output of CancelSpotFleetRequests.
  23217. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequestsResponse
  23218. type CancelSpotFleetRequestsOutput struct {
  23219. _ struct{} `type:"structure"`
  23220. // Information about the Spot Fleet requests that are successfully canceled.
  23221. SuccessfulFleetRequests []*CancelSpotFleetRequestsSuccessItem `locationName:"successfulFleetRequestSet" locationNameList:"item" type:"list"`
  23222. // Information about the Spot Fleet requests that are not successfully canceled.
  23223. UnsuccessfulFleetRequests []*CancelSpotFleetRequestsErrorItem `locationName:"unsuccessfulFleetRequestSet" locationNameList:"item" type:"list"`
  23224. }
  23225. // String returns the string representation
  23226. func (s CancelSpotFleetRequestsOutput) String() string {
  23227. return awsutil.Prettify(s)
  23228. }
  23229. // GoString returns the string representation
  23230. func (s CancelSpotFleetRequestsOutput) GoString() string {
  23231. return s.String()
  23232. }
  23233. // SetSuccessfulFleetRequests sets the SuccessfulFleetRequests field's value.
  23234. func (s *CancelSpotFleetRequestsOutput) SetSuccessfulFleetRequests(v []*CancelSpotFleetRequestsSuccessItem) *CancelSpotFleetRequestsOutput {
  23235. s.SuccessfulFleetRequests = v
  23236. return s
  23237. }
  23238. // SetUnsuccessfulFleetRequests sets the UnsuccessfulFleetRequests field's value.
  23239. func (s *CancelSpotFleetRequestsOutput) SetUnsuccessfulFleetRequests(v []*CancelSpotFleetRequestsErrorItem) *CancelSpotFleetRequestsOutput {
  23240. s.UnsuccessfulFleetRequests = v
  23241. return s
  23242. }
  23243. // Describes a Spot Fleet request that was successfully canceled.
  23244. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequestsSuccessItem
  23245. type CancelSpotFleetRequestsSuccessItem struct {
  23246. _ struct{} `type:"structure"`
  23247. // The current state of the Spot Fleet request.
  23248. //
  23249. // CurrentSpotFleetRequestState is a required field
  23250. CurrentSpotFleetRequestState *string `locationName:"currentSpotFleetRequestState" type:"string" required:"true" enum:"BatchState"`
  23251. // The previous state of the Spot Fleet request.
  23252. //
  23253. // PreviousSpotFleetRequestState is a required field
  23254. PreviousSpotFleetRequestState *string `locationName:"previousSpotFleetRequestState" type:"string" required:"true" enum:"BatchState"`
  23255. // The ID of the Spot Fleet request.
  23256. //
  23257. // SpotFleetRequestId is a required field
  23258. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  23259. }
  23260. // String returns the string representation
  23261. func (s CancelSpotFleetRequestsSuccessItem) String() string {
  23262. return awsutil.Prettify(s)
  23263. }
  23264. // GoString returns the string representation
  23265. func (s CancelSpotFleetRequestsSuccessItem) GoString() string {
  23266. return s.String()
  23267. }
  23268. // SetCurrentSpotFleetRequestState sets the CurrentSpotFleetRequestState field's value.
  23269. func (s *CancelSpotFleetRequestsSuccessItem) SetCurrentSpotFleetRequestState(v string) *CancelSpotFleetRequestsSuccessItem {
  23270. s.CurrentSpotFleetRequestState = &v
  23271. return s
  23272. }
  23273. // SetPreviousSpotFleetRequestState sets the PreviousSpotFleetRequestState field's value.
  23274. func (s *CancelSpotFleetRequestsSuccessItem) SetPreviousSpotFleetRequestState(v string) *CancelSpotFleetRequestsSuccessItem {
  23275. s.PreviousSpotFleetRequestState = &v
  23276. return s
  23277. }
  23278. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  23279. func (s *CancelSpotFleetRequestsSuccessItem) SetSpotFleetRequestId(v string) *CancelSpotFleetRequestsSuccessItem {
  23280. s.SpotFleetRequestId = &v
  23281. return s
  23282. }
  23283. // Contains the parameters for CancelSpotInstanceRequests.
  23284. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotInstanceRequestsRequest
  23285. type CancelSpotInstanceRequestsInput struct {
  23286. _ struct{} `type:"structure"`
  23287. // Checks whether you have the required permissions for the action, without
  23288. // actually making the request, and provides an error response. If you have
  23289. // the required permissions, the error response is DryRunOperation. Otherwise,
  23290. // it is UnauthorizedOperation.
  23291. DryRun *bool `locationName:"dryRun" type:"boolean"`
  23292. // One or more Spot Instance request IDs.
  23293. //
  23294. // SpotInstanceRequestIds is a required field
  23295. SpotInstanceRequestIds []*string `locationName:"SpotInstanceRequestId" locationNameList:"SpotInstanceRequestId" type:"list" required:"true"`
  23296. }
  23297. // String returns the string representation
  23298. func (s CancelSpotInstanceRequestsInput) String() string {
  23299. return awsutil.Prettify(s)
  23300. }
  23301. // GoString returns the string representation
  23302. func (s CancelSpotInstanceRequestsInput) GoString() string {
  23303. return s.String()
  23304. }
  23305. // Validate inspects the fields of the type to determine if they are valid.
  23306. func (s *CancelSpotInstanceRequestsInput) Validate() error {
  23307. invalidParams := request.ErrInvalidParams{Context: "CancelSpotInstanceRequestsInput"}
  23308. if s.SpotInstanceRequestIds == nil {
  23309. invalidParams.Add(request.NewErrParamRequired("SpotInstanceRequestIds"))
  23310. }
  23311. if invalidParams.Len() > 0 {
  23312. return invalidParams
  23313. }
  23314. return nil
  23315. }
  23316. // SetDryRun sets the DryRun field's value.
  23317. func (s *CancelSpotInstanceRequestsInput) SetDryRun(v bool) *CancelSpotInstanceRequestsInput {
  23318. s.DryRun = &v
  23319. return s
  23320. }
  23321. // SetSpotInstanceRequestIds sets the SpotInstanceRequestIds field's value.
  23322. func (s *CancelSpotInstanceRequestsInput) SetSpotInstanceRequestIds(v []*string) *CancelSpotInstanceRequestsInput {
  23323. s.SpotInstanceRequestIds = v
  23324. return s
  23325. }
  23326. // Contains the output of CancelSpotInstanceRequests.
  23327. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotInstanceRequestsResult
  23328. type CancelSpotInstanceRequestsOutput struct {
  23329. _ struct{} `type:"structure"`
  23330. // One or more Spot Instance requests.
  23331. CancelledSpotInstanceRequests []*CancelledSpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
  23332. }
  23333. // String returns the string representation
  23334. func (s CancelSpotInstanceRequestsOutput) String() string {
  23335. return awsutil.Prettify(s)
  23336. }
  23337. // GoString returns the string representation
  23338. func (s CancelSpotInstanceRequestsOutput) GoString() string {
  23339. return s.String()
  23340. }
  23341. // SetCancelledSpotInstanceRequests sets the CancelledSpotInstanceRequests field's value.
  23342. func (s *CancelSpotInstanceRequestsOutput) SetCancelledSpotInstanceRequests(v []*CancelledSpotInstanceRequest) *CancelSpotInstanceRequestsOutput {
  23343. s.CancelledSpotInstanceRequests = v
  23344. return s
  23345. }
  23346. // Describes a request to cancel a Spot Instance.
  23347. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelledSpotInstanceRequest
  23348. type CancelledSpotInstanceRequest struct {
  23349. _ struct{} `type:"structure"`
  23350. // The ID of the Spot Instance request.
  23351. SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
  23352. // The state of the Spot Instance request.
  23353. State *string `locationName:"state" type:"string" enum:"CancelSpotInstanceRequestState"`
  23354. }
  23355. // String returns the string representation
  23356. func (s CancelledSpotInstanceRequest) String() string {
  23357. return awsutil.Prettify(s)
  23358. }
  23359. // GoString returns the string representation
  23360. func (s CancelledSpotInstanceRequest) GoString() string {
  23361. return s.String()
  23362. }
  23363. // SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
  23364. func (s *CancelledSpotInstanceRequest) SetSpotInstanceRequestId(v string) *CancelledSpotInstanceRequest {
  23365. s.SpotInstanceRequestId = &v
  23366. return s
  23367. }
  23368. // SetState sets the State field's value.
  23369. func (s *CancelledSpotInstanceRequest) SetState(v string) *CancelledSpotInstanceRequest {
  23370. s.State = &v
  23371. return s
  23372. }
  23373. // Describes an IPv4 CIDR block.
  23374. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CidrBlock
  23375. type CidrBlock struct {
  23376. _ struct{} `type:"structure"`
  23377. // The IPv4 CIDR block.
  23378. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  23379. }
  23380. // String returns the string representation
  23381. func (s CidrBlock) String() string {
  23382. return awsutil.Prettify(s)
  23383. }
  23384. // GoString returns the string representation
  23385. func (s CidrBlock) GoString() string {
  23386. return s.String()
  23387. }
  23388. // SetCidrBlock sets the CidrBlock field's value.
  23389. func (s *CidrBlock) SetCidrBlock(v string) *CidrBlock {
  23390. s.CidrBlock = &v
  23391. return s
  23392. }
  23393. // Describes the ClassicLink DNS support status of a VPC.
  23394. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ClassicLinkDnsSupport
  23395. type ClassicLinkDnsSupport struct {
  23396. _ struct{} `type:"structure"`
  23397. // Indicates whether ClassicLink DNS support is enabled for the VPC.
  23398. ClassicLinkDnsSupported *bool `locationName:"classicLinkDnsSupported" type:"boolean"`
  23399. // The ID of the VPC.
  23400. VpcId *string `locationName:"vpcId" type:"string"`
  23401. }
  23402. // String returns the string representation
  23403. func (s ClassicLinkDnsSupport) String() string {
  23404. return awsutil.Prettify(s)
  23405. }
  23406. // GoString returns the string representation
  23407. func (s ClassicLinkDnsSupport) GoString() string {
  23408. return s.String()
  23409. }
  23410. // SetClassicLinkDnsSupported sets the ClassicLinkDnsSupported field's value.
  23411. func (s *ClassicLinkDnsSupport) SetClassicLinkDnsSupported(v bool) *ClassicLinkDnsSupport {
  23412. s.ClassicLinkDnsSupported = &v
  23413. return s
  23414. }
  23415. // SetVpcId sets the VpcId field's value.
  23416. func (s *ClassicLinkDnsSupport) SetVpcId(v string) *ClassicLinkDnsSupport {
  23417. s.VpcId = &v
  23418. return s
  23419. }
  23420. // Describes a linked EC2-Classic instance.
  23421. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ClassicLinkInstance
  23422. type ClassicLinkInstance struct {
  23423. _ struct{} `type:"structure"`
  23424. // A list of security groups.
  23425. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  23426. // The ID of the instance.
  23427. InstanceId *string `locationName:"instanceId" type:"string"`
  23428. // Any tags assigned to the instance.
  23429. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  23430. // The ID of the VPC.
  23431. VpcId *string `locationName:"vpcId" type:"string"`
  23432. }
  23433. // String returns the string representation
  23434. func (s ClassicLinkInstance) String() string {
  23435. return awsutil.Prettify(s)
  23436. }
  23437. // GoString returns the string representation
  23438. func (s ClassicLinkInstance) GoString() string {
  23439. return s.String()
  23440. }
  23441. // SetGroups sets the Groups field's value.
  23442. func (s *ClassicLinkInstance) SetGroups(v []*GroupIdentifier) *ClassicLinkInstance {
  23443. s.Groups = v
  23444. return s
  23445. }
  23446. // SetInstanceId sets the InstanceId field's value.
  23447. func (s *ClassicLinkInstance) SetInstanceId(v string) *ClassicLinkInstance {
  23448. s.InstanceId = &v
  23449. return s
  23450. }
  23451. // SetTags sets the Tags field's value.
  23452. func (s *ClassicLinkInstance) SetTags(v []*Tag) *ClassicLinkInstance {
  23453. s.Tags = v
  23454. return s
  23455. }
  23456. // SetVpcId sets the VpcId field's value.
  23457. func (s *ClassicLinkInstance) SetVpcId(v string) *ClassicLinkInstance {
  23458. s.VpcId = &v
  23459. return s
  23460. }
  23461. // Describes a Classic Load Balancer.
  23462. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ClassicLoadBalancer
  23463. type ClassicLoadBalancer struct {
  23464. _ struct{} `type:"structure"`
  23465. // The name of the load balancer.
  23466. //
  23467. // Name is a required field
  23468. Name *string `locationName:"name" type:"string" required:"true"`
  23469. }
  23470. // String returns the string representation
  23471. func (s ClassicLoadBalancer) String() string {
  23472. return awsutil.Prettify(s)
  23473. }
  23474. // GoString returns the string representation
  23475. func (s ClassicLoadBalancer) GoString() string {
  23476. return s.String()
  23477. }
  23478. // Validate inspects the fields of the type to determine if they are valid.
  23479. func (s *ClassicLoadBalancer) Validate() error {
  23480. invalidParams := request.ErrInvalidParams{Context: "ClassicLoadBalancer"}
  23481. if s.Name == nil {
  23482. invalidParams.Add(request.NewErrParamRequired("Name"))
  23483. }
  23484. if invalidParams.Len() > 0 {
  23485. return invalidParams
  23486. }
  23487. return nil
  23488. }
  23489. // SetName sets the Name field's value.
  23490. func (s *ClassicLoadBalancer) SetName(v string) *ClassicLoadBalancer {
  23491. s.Name = &v
  23492. return s
  23493. }
  23494. // Describes the Classic Load Balancers to attach to a Spot Fleet. Spot Fleet
  23495. // registers the running Spot Instances with these Classic Load Balancers.
  23496. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ClassicLoadBalancersConfig
  23497. type ClassicLoadBalancersConfig struct {
  23498. _ struct{} `type:"structure"`
  23499. // One or more Classic Load Balancers.
  23500. //
  23501. // ClassicLoadBalancers is a required field
  23502. ClassicLoadBalancers []*ClassicLoadBalancer `locationName:"classicLoadBalancers" locationNameList:"item" min:"1" type:"list" required:"true"`
  23503. }
  23504. // String returns the string representation
  23505. func (s ClassicLoadBalancersConfig) String() string {
  23506. return awsutil.Prettify(s)
  23507. }
  23508. // GoString returns the string representation
  23509. func (s ClassicLoadBalancersConfig) GoString() string {
  23510. return s.String()
  23511. }
  23512. // Validate inspects the fields of the type to determine if they are valid.
  23513. func (s *ClassicLoadBalancersConfig) Validate() error {
  23514. invalidParams := request.ErrInvalidParams{Context: "ClassicLoadBalancersConfig"}
  23515. if s.ClassicLoadBalancers == nil {
  23516. invalidParams.Add(request.NewErrParamRequired("ClassicLoadBalancers"))
  23517. }
  23518. if s.ClassicLoadBalancers != nil && len(s.ClassicLoadBalancers) < 1 {
  23519. invalidParams.Add(request.NewErrParamMinLen("ClassicLoadBalancers", 1))
  23520. }
  23521. if s.ClassicLoadBalancers != nil {
  23522. for i, v := range s.ClassicLoadBalancers {
  23523. if v == nil {
  23524. continue
  23525. }
  23526. if err := v.Validate(); err != nil {
  23527. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ClassicLoadBalancers", i), err.(request.ErrInvalidParams))
  23528. }
  23529. }
  23530. }
  23531. if invalidParams.Len() > 0 {
  23532. return invalidParams
  23533. }
  23534. return nil
  23535. }
  23536. // SetClassicLoadBalancers sets the ClassicLoadBalancers field's value.
  23537. func (s *ClassicLoadBalancersConfig) SetClassicLoadBalancers(v []*ClassicLoadBalancer) *ClassicLoadBalancersConfig {
  23538. s.ClassicLoadBalancers = v
  23539. return s
  23540. }
  23541. // Describes the client-specific data.
  23542. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ClientData
  23543. type ClientData struct {
  23544. _ struct{} `type:"structure"`
  23545. // A user-defined comment about the disk upload.
  23546. Comment *string `type:"string"`
  23547. // The time that the disk upload ends.
  23548. UploadEnd *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  23549. // The size of the uploaded disk image, in GiB.
  23550. UploadSize *float64 `type:"double"`
  23551. // The time that the disk upload starts.
  23552. UploadStart *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  23553. }
  23554. // String returns the string representation
  23555. func (s ClientData) String() string {
  23556. return awsutil.Prettify(s)
  23557. }
  23558. // GoString returns the string representation
  23559. func (s ClientData) GoString() string {
  23560. return s.String()
  23561. }
  23562. // SetComment sets the Comment field's value.
  23563. func (s *ClientData) SetComment(v string) *ClientData {
  23564. s.Comment = &v
  23565. return s
  23566. }
  23567. // SetUploadEnd sets the UploadEnd field's value.
  23568. func (s *ClientData) SetUploadEnd(v time.Time) *ClientData {
  23569. s.UploadEnd = &v
  23570. return s
  23571. }
  23572. // SetUploadSize sets the UploadSize field's value.
  23573. func (s *ClientData) SetUploadSize(v float64) *ClientData {
  23574. s.UploadSize = &v
  23575. return s
  23576. }
  23577. // SetUploadStart sets the UploadStart field's value.
  23578. func (s *ClientData) SetUploadStart(v time.Time) *ClientData {
  23579. s.UploadStart = &v
  23580. return s
  23581. }
  23582. // Contains the parameters for ConfirmProductInstance.
  23583. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ConfirmProductInstanceRequest
  23584. type ConfirmProductInstanceInput struct {
  23585. _ struct{} `type:"structure"`
  23586. // Checks whether you have the required permissions for the action, without
  23587. // actually making the request, and provides an error response. If you have
  23588. // the required permissions, the error response is DryRunOperation. Otherwise,
  23589. // it is UnauthorizedOperation.
  23590. DryRun *bool `locationName:"dryRun" type:"boolean"`
  23591. // The ID of the instance.
  23592. //
  23593. // InstanceId is a required field
  23594. InstanceId *string `type:"string" required:"true"`
  23595. // The product code. This must be a product code that you own.
  23596. //
  23597. // ProductCode is a required field
  23598. ProductCode *string `type:"string" required:"true"`
  23599. }
  23600. // String returns the string representation
  23601. func (s ConfirmProductInstanceInput) String() string {
  23602. return awsutil.Prettify(s)
  23603. }
  23604. // GoString returns the string representation
  23605. func (s ConfirmProductInstanceInput) GoString() string {
  23606. return s.String()
  23607. }
  23608. // Validate inspects the fields of the type to determine if they are valid.
  23609. func (s *ConfirmProductInstanceInput) Validate() error {
  23610. invalidParams := request.ErrInvalidParams{Context: "ConfirmProductInstanceInput"}
  23611. if s.InstanceId == nil {
  23612. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  23613. }
  23614. if s.ProductCode == nil {
  23615. invalidParams.Add(request.NewErrParamRequired("ProductCode"))
  23616. }
  23617. if invalidParams.Len() > 0 {
  23618. return invalidParams
  23619. }
  23620. return nil
  23621. }
  23622. // SetDryRun sets the DryRun field's value.
  23623. func (s *ConfirmProductInstanceInput) SetDryRun(v bool) *ConfirmProductInstanceInput {
  23624. s.DryRun = &v
  23625. return s
  23626. }
  23627. // SetInstanceId sets the InstanceId field's value.
  23628. func (s *ConfirmProductInstanceInput) SetInstanceId(v string) *ConfirmProductInstanceInput {
  23629. s.InstanceId = &v
  23630. return s
  23631. }
  23632. // SetProductCode sets the ProductCode field's value.
  23633. func (s *ConfirmProductInstanceInput) SetProductCode(v string) *ConfirmProductInstanceInput {
  23634. s.ProductCode = &v
  23635. return s
  23636. }
  23637. // Contains the output of ConfirmProductInstance.
  23638. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ConfirmProductInstanceResult
  23639. type ConfirmProductInstanceOutput struct {
  23640. _ struct{} `type:"structure"`
  23641. // The AWS account ID of the instance owner. This is only present if the product
  23642. // code is attached to the instance.
  23643. OwnerId *string `locationName:"ownerId" type:"string"`
  23644. // The return value of the request. Returns true if the specified product code
  23645. // is owned by the requester and associated with the specified instance.
  23646. Return *bool `locationName:"return" type:"boolean"`
  23647. }
  23648. // String returns the string representation
  23649. func (s ConfirmProductInstanceOutput) String() string {
  23650. return awsutil.Prettify(s)
  23651. }
  23652. // GoString returns the string representation
  23653. func (s ConfirmProductInstanceOutput) GoString() string {
  23654. return s.String()
  23655. }
  23656. // SetOwnerId sets the OwnerId field's value.
  23657. func (s *ConfirmProductInstanceOutput) SetOwnerId(v string) *ConfirmProductInstanceOutput {
  23658. s.OwnerId = &v
  23659. return s
  23660. }
  23661. // SetReturn sets the Return field's value.
  23662. func (s *ConfirmProductInstanceOutput) SetReturn(v bool) *ConfirmProductInstanceOutput {
  23663. s.Return = &v
  23664. return s
  23665. }
  23666. // Describes a connection notification for a VPC endpoint or VPC endpoint service.
  23667. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ConnectionNotification
  23668. type ConnectionNotification struct {
  23669. _ struct{} `type:"structure"`
  23670. // The events for the notification. Valid values are Accept, Connect, Delete,
  23671. // and Reject.
  23672. ConnectionEvents []*string `locationName:"connectionEvents" locationNameList:"item" type:"list"`
  23673. // The ARN of the SNS topic for the notification.
  23674. ConnectionNotificationArn *string `locationName:"connectionNotificationArn" type:"string"`
  23675. // The ID of the notification.
  23676. ConnectionNotificationId *string `locationName:"connectionNotificationId" type:"string"`
  23677. // The state of the notification.
  23678. ConnectionNotificationState *string `locationName:"connectionNotificationState" type:"string" enum:"ConnectionNotificationState"`
  23679. // The type of notification.
  23680. ConnectionNotificationType *string `locationName:"connectionNotificationType" type:"string" enum:"ConnectionNotificationType"`
  23681. // The ID of the endpoint service.
  23682. ServiceId *string `locationName:"serviceId" type:"string"`
  23683. // The ID of the VPC endpoint.
  23684. VpcEndpointId *string `locationName:"vpcEndpointId" type:"string"`
  23685. }
  23686. // String returns the string representation
  23687. func (s ConnectionNotification) String() string {
  23688. return awsutil.Prettify(s)
  23689. }
  23690. // GoString returns the string representation
  23691. func (s ConnectionNotification) GoString() string {
  23692. return s.String()
  23693. }
  23694. // SetConnectionEvents sets the ConnectionEvents field's value.
  23695. func (s *ConnectionNotification) SetConnectionEvents(v []*string) *ConnectionNotification {
  23696. s.ConnectionEvents = v
  23697. return s
  23698. }
  23699. // SetConnectionNotificationArn sets the ConnectionNotificationArn field's value.
  23700. func (s *ConnectionNotification) SetConnectionNotificationArn(v string) *ConnectionNotification {
  23701. s.ConnectionNotificationArn = &v
  23702. return s
  23703. }
  23704. // SetConnectionNotificationId sets the ConnectionNotificationId field's value.
  23705. func (s *ConnectionNotification) SetConnectionNotificationId(v string) *ConnectionNotification {
  23706. s.ConnectionNotificationId = &v
  23707. return s
  23708. }
  23709. // SetConnectionNotificationState sets the ConnectionNotificationState field's value.
  23710. func (s *ConnectionNotification) SetConnectionNotificationState(v string) *ConnectionNotification {
  23711. s.ConnectionNotificationState = &v
  23712. return s
  23713. }
  23714. // SetConnectionNotificationType sets the ConnectionNotificationType field's value.
  23715. func (s *ConnectionNotification) SetConnectionNotificationType(v string) *ConnectionNotification {
  23716. s.ConnectionNotificationType = &v
  23717. return s
  23718. }
  23719. // SetServiceId sets the ServiceId field's value.
  23720. func (s *ConnectionNotification) SetServiceId(v string) *ConnectionNotification {
  23721. s.ServiceId = &v
  23722. return s
  23723. }
  23724. // SetVpcEndpointId sets the VpcEndpointId field's value.
  23725. func (s *ConnectionNotification) SetVpcEndpointId(v string) *ConnectionNotification {
  23726. s.VpcEndpointId = &v
  23727. return s
  23728. }
  23729. // Describes a conversion task.
  23730. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ConversionTask
  23731. type ConversionTask struct {
  23732. _ struct{} `type:"structure"`
  23733. // The ID of the conversion task.
  23734. //
  23735. // ConversionTaskId is a required field
  23736. ConversionTaskId *string `locationName:"conversionTaskId" type:"string" required:"true"`
  23737. // The time when the task expires. If the upload isn't complete before the expiration
  23738. // time, we automatically cancel the task.
  23739. ExpirationTime *string `locationName:"expirationTime" type:"string"`
  23740. // If the task is for importing an instance, this contains information about
  23741. // the import instance task.
  23742. ImportInstance *ImportInstanceTaskDetails `locationName:"importInstance" type:"structure"`
  23743. // If the task is for importing a volume, this contains information about the
  23744. // import volume task.
  23745. ImportVolume *ImportVolumeTaskDetails `locationName:"importVolume" type:"structure"`
  23746. // The state of the conversion task.
  23747. //
  23748. // State is a required field
  23749. State *string `locationName:"state" type:"string" required:"true" enum:"ConversionTaskState"`
  23750. // The status message related to the conversion task.
  23751. StatusMessage *string `locationName:"statusMessage" type:"string"`
  23752. // Any tags assigned to the task.
  23753. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  23754. }
  23755. // String returns the string representation
  23756. func (s ConversionTask) String() string {
  23757. return awsutil.Prettify(s)
  23758. }
  23759. // GoString returns the string representation
  23760. func (s ConversionTask) GoString() string {
  23761. return s.String()
  23762. }
  23763. // SetConversionTaskId sets the ConversionTaskId field's value.
  23764. func (s *ConversionTask) SetConversionTaskId(v string) *ConversionTask {
  23765. s.ConversionTaskId = &v
  23766. return s
  23767. }
  23768. // SetExpirationTime sets the ExpirationTime field's value.
  23769. func (s *ConversionTask) SetExpirationTime(v string) *ConversionTask {
  23770. s.ExpirationTime = &v
  23771. return s
  23772. }
  23773. // SetImportInstance sets the ImportInstance field's value.
  23774. func (s *ConversionTask) SetImportInstance(v *ImportInstanceTaskDetails) *ConversionTask {
  23775. s.ImportInstance = v
  23776. return s
  23777. }
  23778. // SetImportVolume sets the ImportVolume field's value.
  23779. func (s *ConversionTask) SetImportVolume(v *ImportVolumeTaskDetails) *ConversionTask {
  23780. s.ImportVolume = v
  23781. return s
  23782. }
  23783. // SetState sets the State field's value.
  23784. func (s *ConversionTask) SetState(v string) *ConversionTask {
  23785. s.State = &v
  23786. return s
  23787. }
  23788. // SetStatusMessage sets the StatusMessage field's value.
  23789. func (s *ConversionTask) SetStatusMessage(v string) *ConversionTask {
  23790. s.StatusMessage = &v
  23791. return s
  23792. }
  23793. // SetTags sets the Tags field's value.
  23794. func (s *ConversionTask) SetTags(v []*Tag) *ConversionTask {
  23795. s.Tags = v
  23796. return s
  23797. }
  23798. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyFpgaImageRequest
  23799. type CopyFpgaImageInput struct {
  23800. _ struct{} `type:"structure"`
  23801. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  23802. // of the request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
  23803. ClientToken *string `type:"string"`
  23804. // The description for the new AFI.
  23805. Description *string `type:"string"`
  23806. // Checks whether you have the required permissions for the action, without
  23807. // actually making the request, and provides an error response. If you have
  23808. // the required permissions, the error response is DryRunOperation. Otherwise,
  23809. // it is UnauthorizedOperation.
  23810. DryRun *bool `type:"boolean"`
  23811. // The name for the new AFI. The default is the name of the source AFI.
  23812. Name *string `type:"string"`
  23813. // The ID of the source AFI.
  23814. //
  23815. // SourceFpgaImageId is a required field
  23816. SourceFpgaImageId *string `type:"string" required:"true"`
  23817. // The region that contains the source AFI.
  23818. //
  23819. // SourceRegion is a required field
  23820. SourceRegion *string `type:"string" required:"true"`
  23821. }
  23822. // String returns the string representation
  23823. func (s CopyFpgaImageInput) String() string {
  23824. return awsutil.Prettify(s)
  23825. }
  23826. // GoString returns the string representation
  23827. func (s CopyFpgaImageInput) GoString() string {
  23828. return s.String()
  23829. }
  23830. // Validate inspects the fields of the type to determine if they are valid.
  23831. func (s *CopyFpgaImageInput) Validate() error {
  23832. invalidParams := request.ErrInvalidParams{Context: "CopyFpgaImageInput"}
  23833. if s.SourceFpgaImageId == nil {
  23834. invalidParams.Add(request.NewErrParamRequired("SourceFpgaImageId"))
  23835. }
  23836. if s.SourceRegion == nil {
  23837. invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
  23838. }
  23839. if invalidParams.Len() > 0 {
  23840. return invalidParams
  23841. }
  23842. return nil
  23843. }
  23844. // SetClientToken sets the ClientToken field's value.
  23845. func (s *CopyFpgaImageInput) SetClientToken(v string) *CopyFpgaImageInput {
  23846. s.ClientToken = &v
  23847. return s
  23848. }
  23849. // SetDescription sets the Description field's value.
  23850. func (s *CopyFpgaImageInput) SetDescription(v string) *CopyFpgaImageInput {
  23851. s.Description = &v
  23852. return s
  23853. }
  23854. // SetDryRun sets the DryRun field's value.
  23855. func (s *CopyFpgaImageInput) SetDryRun(v bool) *CopyFpgaImageInput {
  23856. s.DryRun = &v
  23857. return s
  23858. }
  23859. // SetName sets the Name field's value.
  23860. func (s *CopyFpgaImageInput) SetName(v string) *CopyFpgaImageInput {
  23861. s.Name = &v
  23862. return s
  23863. }
  23864. // SetSourceFpgaImageId sets the SourceFpgaImageId field's value.
  23865. func (s *CopyFpgaImageInput) SetSourceFpgaImageId(v string) *CopyFpgaImageInput {
  23866. s.SourceFpgaImageId = &v
  23867. return s
  23868. }
  23869. // SetSourceRegion sets the SourceRegion field's value.
  23870. func (s *CopyFpgaImageInput) SetSourceRegion(v string) *CopyFpgaImageInput {
  23871. s.SourceRegion = &v
  23872. return s
  23873. }
  23874. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyFpgaImageResult
  23875. type CopyFpgaImageOutput struct {
  23876. _ struct{} `type:"structure"`
  23877. // The ID of the new AFI.
  23878. FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
  23879. }
  23880. // String returns the string representation
  23881. func (s CopyFpgaImageOutput) String() string {
  23882. return awsutil.Prettify(s)
  23883. }
  23884. // GoString returns the string representation
  23885. func (s CopyFpgaImageOutput) GoString() string {
  23886. return s.String()
  23887. }
  23888. // SetFpgaImageId sets the FpgaImageId field's value.
  23889. func (s *CopyFpgaImageOutput) SetFpgaImageId(v string) *CopyFpgaImageOutput {
  23890. s.FpgaImageId = &v
  23891. return s
  23892. }
  23893. // Contains the parameters for CopyImage.
  23894. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyImageRequest
  23895. type CopyImageInput struct {
  23896. _ struct{} `type:"structure"`
  23897. // Unique, case-sensitive identifier you provide to ensure idempotency of the
  23898. // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  23899. // in the Amazon Elastic Compute Cloud User Guide.
  23900. ClientToken *string `type:"string"`
  23901. // A description for the new AMI in the destination region.
  23902. Description *string `type:"string"`
  23903. // Checks whether you have the required permissions for the action, without
  23904. // actually making the request, and provides an error response. If you have
  23905. // the required permissions, the error response is DryRunOperation. Otherwise,
  23906. // it is UnauthorizedOperation.
  23907. DryRun *bool `locationName:"dryRun" type:"boolean"`
  23908. // Specifies whether the destination snapshots of the copied image should be
  23909. // encrypted. The default CMK for EBS is used unless a non-default AWS Key Management
  23910. // Service (AWS KMS) CMK is specified with KmsKeyId. For more information, see
  23911. // Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  23912. // in the Amazon Elastic Compute Cloud User Guide.
  23913. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  23914. // The full ARN of the AWS Key Management Service (AWS KMS) CMK to use when
  23915. // encrypting the snapshots of an image during a copy operation. This parameter
  23916. // is only required if you want to use a non-default CMK; if this parameter
  23917. // is not specified, the default CMK for EBS is used. The ARN contains the arn:aws:kms
  23918. // namespace, followed by the region of the CMK, the AWS account ID of the CMK
  23919. // owner, the key namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
  23920. // The specified CMK must exist in the region that the snapshot is being copied
  23921. // to. If a KmsKeyId is specified, the Encrypted flag must also be set.
  23922. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  23923. // The name of the new AMI in the destination region.
  23924. //
  23925. // Name is a required field
  23926. Name *string `type:"string" required:"true"`
  23927. // The ID of the AMI to copy.
  23928. //
  23929. // SourceImageId is a required field
  23930. SourceImageId *string `type:"string" required:"true"`
  23931. // The name of the region that contains the AMI to copy.
  23932. //
  23933. // SourceRegion is a required field
  23934. SourceRegion *string `type:"string" required:"true"`
  23935. }
  23936. // String returns the string representation
  23937. func (s CopyImageInput) String() string {
  23938. return awsutil.Prettify(s)
  23939. }
  23940. // GoString returns the string representation
  23941. func (s CopyImageInput) GoString() string {
  23942. return s.String()
  23943. }
  23944. // Validate inspects the fields of the type to determine if they are valid.
  23945. func (s *CopyImageInput) Validate() error {
  23946. invalidParams := request.ErrInvalidParams{Context: "CopyImageInput"}
  23947. if s.Name == nil {
  23948. invalidParams.Add(request.NewErrParamRequired("Name"))
  23949. }
  23950. if s.SourceImageId == nil {
  23951. invalidParams.Add(request.NewErrParamRequired("SourceImageId"))
  23952. }
  23953. if s.SourceRegion == nil {
  23954. invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
  23955. }
  23956. if invalidParams.Len() > 0 {
  23957. return invalidParams
  23958. }
  23959. return nil
  23960. }
  23961. // SetClientToken sets the ClientToken field's value.
  23962. func (s *CopyImageInput) SetClientToken(v string) *CopyImageInput {
  23963. s.ClientToken = &v
  23964. return s
  23965. }
  23966. // SetDescription sets the Description field's value.
  23967. func (s *CopyImageInput) SetDescription(v string) *CopyImageInput {
  23968. s.Description = &v
  23969. return s
  23970. }
  23971. // SetDryRun sets the DryRun field's value.
  23972. func (s *CopyImageInput) SetDryRun(v bool) *CopyImageInput {
  23973. s.DryRun = &v
  23974. return s
  23975. }
  23976. // SetEncrypted sets the Encrypted field's value.
  23977. func (s *CopyImageInput) SetEncrypted(v bool) *CopyImageInput {
  23978. s.Encrypted = &v
  23979. return s
  23980. }
  23981. // SetKmsKeyId sets the KmsKeyId field's value.
  23982. func (s *CopyImageInput) SetKmsKeyId(v string) *CopyImageInput {
  23983. s.KmsKeyId = &v
  23984. return s
  23985. }
  23986. // SetName sets the Name field's value.
  23987. func (s *CopyImageInput) SetName(v string) *CopyImageInput {
  23988. s.Name = &v
  23989. return s
  23990. }
  23991. // SetSourceImageId sets the SourceImageId field's value.
  23992. func (s *CopyImageInput) SetSourceImageId(v string) *CopyImageInput {
  23993. s.SourceImageId = &v
  23994. return s
  23995. }
  23996. // SetSourceRegion sets the SourceRegion field's value.
  23997. func (s *CopyImageInput) SetSourceRegion(v string) *CopyImageInput {
  23998. s.SourceRegion = &v
  23999. return s
  24000. }
  24001. // Contains the output of CopyImage.
  24002. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyImageResult
  24003. type CopyImageOutput struct {
  24004. _ struct{} `type:"structure"`
  24005. // The ID of the new AMI.
  24006. ImageId *string `locationName:"imageId" type:"string"`
  24007. }
  24008. // String returns the string representation
  24009. func (s CopyImageOutput) String() string {
  24010. return awsutil.Prettify(s)
  24011. }
  24012. // GoString returns the string representation
  24013. func (s CopyImageOutput) GoString() string {
  24014. return s.String()
  24015. }
  24016. // SetImageId sets the ImageId field's value.
  24017. func (s *CopyImageOutput) SetImageId(v string) *CopyImageOutput {
  24018. s.ImageId = &v
  24019. return s
  24020. }
  24021. // Contains the parameters for CopySnapshot.
  24022. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopySnapshotRequest
  24023. type CopySnapshotInput struct {
  24024. _ struct{} `type:"structure"`
  24025. // A description for the EBS snapshot.
  24026. Description *string `type:"string"`
  24027. // The destination region to use in the PresignedUrl parameter of a snapshot
  24028. // copy operation. This parameter is only valid for specifying the destination
  24029. // region in a PresignedUrl parameter, where it is required.
  24030. //
  24031. // CopySnapshot sends the snapshot copy to the regional endpoint that you send
  24032. // the HTTP request to, such as ec2.us-east-1.amazonaws.com (in the AWS CLI,
  24033. // this is specified with the --region parameter or the default region in your
  24034. // AWS configuration file).
  24035. DestinationRegion *string `locationName:"destinationRegion" type:"string"`
  24036. // Checks whether you have the required permissions for the action, without
  24037. // actually making the request, and provides an error response. If you have
  24038. // the required permissions, the error response is DryRunOperation. Otherwise,
  24039. // it is UnauthorizedOperation.
  24040. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24041. // Specifies whether the destination snapshot should be encrypted. You can encrypt
  24042. // a copy of an unencrypted snapshot using this flag, but you cannot use it
  24043. // to create an unencrypted copy from an encrypted snapshot. Your default CMK
  24044. // for EBS is used unless a non-default AWS Key Management Service (AWS KMS)
  24045. // CMK is specified with KmsKeyId. For more information, see Amazon EBS Encryption
  24046. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) in
  24047. // the Amazon Elastic Compute Cloud User Guide.
  24048. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  24049. // The full ARN of the AWS Key Management Service (AWS KMS) CMK to use when
  24050. // creating the snapshot copy. This parameter is only required if you want to
  24051. // use a non-default CMK; if this parameter is not specified, the default CMK
  24052. // for EBS is used. The ARN contains the arn:aws:kms namespace, followed by
  24053. // the region of the CMK, the AWS account ID of the CMK owner, the key namespace,
  24054. // and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
  24055. // The specified CMK must exist in the region that the snapshot is being copied
  24056. // to. If a KmsKeyId is specified, the Encrypted flag must also be set.
  24057. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  24058. // The pre-signed URL that facilitates copying an encrypted snapshot. This parameter
  24059. // is only required when copying an encrypted snapshot with the Amazon EC2 Query
  24060. // API; it is available as an optional parameter in all other cases. The PresignedUrl
  24061. // should use the snapshot source endpoint, the CopySnapshot action, and include
  24062. // the SourceRegion, SourceSnapshotId, and DestinationRegion parameters. The
  24063. // PresignedUrl must be signed using AWS Signature Version 4. Because EBS snapshots
  24064. // are stored in Amazon S3, the signing algorithm for this parameter uses the
  24065. // same logic that is described in Authenticating Requests by Using Query Parameters
  24066. // (AWS Signature Version 4) (http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
  24067. // in the Amazon Simple Storage Service API Reference. An invalid or improperly
  24068. // signed PresignedUrl will cause the copy operation to fail asynchronously,
  24069. // and the snapshot will move to an error state.
  24070. PresignedUrl *string `locationName:"presignedUrl" type:"string"`
  24071. // The ID of the region that contains the snapshot to be copied.
  24072. //
  24073. // SourceRegion is a required field
  24074. SourceRegion *string `type:"string" required:"true"`
  24075. // The ID of the EBS snapshot to copy.
  24076. //
  24077. // SourceSnapshotId is a required field
  24078. SourceSnapshotId *string `type:"string" required:"true"`
  24079. }
  24080. // String returns the string representation
  24081. func (s CopySnapshotInput) String() string {
  24082. return awsutil.Prettify(s)
  24083. }
  24084. // GoString returns the string representation
  24085. func (s CopySnapshotInput) GoString() string {
  24086. return s.String()
  24087. }
  24088. // Validate inspects the fields of the type to determine if they are valid.
  24089. func (s *CopySnapshotInput) Validate() error {
  24090. invalidParams := request.ErrInvalidParams{Context: "CopySnapshotInput"}
  24091. if s.SourceRegion == nil {
  24092. invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
  24093. }
  24094. if s.SourceSnapshotId == nil {
  24095. invalidParams.Add(request.NewErrParamRequired("SourceSnapshotId"))
  24096. }
  24097. if invalidParams.Len() > 0 {
  24098. return invalidParams
  24099. }
  24100. return nil
  24101. }
  24102. // SetDescription sets the Description field's value.
  24103. func (s *CopySnapshotInput) SetDescription(v string) *CopySnapshotInput {
  24104. s.Description = &v
  24105. return s
  24106. }
  24107. // SetDestinationRegion sets the DestinationRegion field's value.
  24108. func (s *CopySnapshotInput) SetDestinationRegion(v string) *CopySnapshotInput {
  24109. s.DestinationRegion = &v
  24110. return s
  24111. }
  24112. // SetDryRun sets the DryRun field's value.
  24113. func (s *CopySnapshotInput) SetDryRun(v bool) *CopySnapshotInput {
  24114. s.DryRun = &v
  24115. return s
  24116. }
  24117. // SetEncrypted sets the Encrypted field's value.
  24118. func (s *CopySnapshotInput) SetEncrypted(v bool) *CopySnapshotInput {
  24119. s.Encrypted = &v
  24120. return s
  24121. }
  24122. // SetKmsKeyId sets the KmsKeyId field's value.
  24123. func (s *CopySnapshotInput) SetKmsKeyId(v string) *CopySnapshotInput {
  24124. s.KmsKeyId = &v
  24125. return s
  24126. }
  24127. // SetPresignedUrl sets the PresignedUrl field's value.
  24128. func (s *CopySnapshotInput) SetPresignedUrl(v string) *CopySnapshotInput {
  24129. s.PresignedUrl = &v
  24130. return s
  24131. }
  24132. // SetSourceRegion sets the SourceRegion field's value.
  24133. func (s *CopySnapshotInput) SetSourceRegion(v string) *CopySnapshotInput {
  24134. s.SourceRegion = &v
  24135. return s
  24136. }
  24137. // SetSourceSnapshotId sets the SourceSnapshotId field's value.
  24138. func (s *CopySnapshotInput) SetSourceSnapshotId(v string) *CopySnapshotInput {
  24139. s.SourceSnapshotId = &v
  24140. return s
  24141. }
  24142. // Contains the output of CopySnapshot.
  24143. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopySnapshotResult
  24144. type CopySnapshotOutput struct {
  24145. _ struct{} `type:"structure"`
  24146. // The ID of the new snapshot.
  24147. SnapshotId *string `locationName:"snapshotId" type:"string"`
  24148. }
  24149. // String returns the string representation
  24150. func (s CopySnapshotOutput) String() string {
  24151. return awsutil.Prettify(s)
  24152. }
  24153. // GoString returns the string representation
  24154. func (s CopySnapshotOutput) GoString() string {
  24155. return s.String()
  24156. }
  24157. // SetSnapshotId sets the SnapshotId field's value.
  24158. func (s *CopySnapshotOutput) SetSnapshotId(v string) *CopySnapshotOutput {
  24159. s.SnapshotId = &v
  24160. return s
  24161. }
  24162. // Contains the parameters for CreateCustomerGateway.
  24163. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCustomerGatewayRequest
  24164. type CreateCustomerGatewayInput struct {
  24165. _ struct{} `type:"structure"`
  24166. // For devices that support BGP, the customer gateway's BGP ASN.
  24167. //
  24168. // Default: 65000
  24169. //
  24170. // BgpAsn is a required field
  24171. BgpAsn *int64 `type:"integer" required:"true"`
  24172. // Checks whether you have the required permissions for the action, without
  24173. // actually making the request, and provides an error response. If you have
  24174. // the required permissions, the error response is DryRunOperation. Otherwise,
  24175. // it is UnauthorizedOperation.
  24176. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24177. // The Internet-routable IP address for the customer gateway's outside interface.
  24178. // The address must be static.
  24179. //
  24180. // PublicIp is a required field
  24181. PublicIp *string `locationName:"IpAddress" type:"string" required:"true"`
  24182. // The type of VPN connection that this customer gateway supports (ipsec.1).
  24183. //
  24184. // Type is a required field
  24185. Type *string `type:"string" required:"true" enum:"GatewayType"`
  24186. }
  24187. // String returns the string representation
  24188. func (s CreateCustomerGatewayInput) String() string {
  24189. return awsutil.Prettify(s)
  24190. }
  24191. // GoString returns the string representation
  24192. func (s CreateCustomerGatewayInput) GoString() string {
  24193. return s.String()
  24194. }
  24195. // Validate inspects the fields of the type to determine if they are valid.
  24196. func (s *CreateCustomerGatewayInput) Validate() error {
  24197. invalidParams := request.ErrInvalidParams{Context: "CreateCustomerGatewayInput"}
  24198. if s.BgpAsn == nil {
  24199. invalidParams.Add(request.NewErrParamRequired("BgpAsn"))
  24200. }
  24201. if s.PublicIp == nil {
  24202. invalidParams.Add(request.NewErrParamRequired("PublicIp"))
  24203. }
  24204. if s.Type == nil {
  24205. invalidParams.Add(request.NewErrParamRequired("Type"))
  24206. }
  24207. if invalidParams.Len() > 0 {
  24208. return invalidParams
  24209. }
  24210. return nil
  24211. }
  24212. // SetBgpAsn sets the BgpAsn field's value.
  24213. func (s *CreateCustomerGatewayInput) SetBgpAsn(v int64) *CreateCustomerGatewayInput {
  24214. s.BgpAsn = &v
  24215. return s
  24216. }
  24217. // SetDryRun sets the DryRun field's value.
  24218. func (s *CreateCustomerGatewayInput) SetDryRun(v bool) *CreateCustomerGatewayInput {
  24219. s.DryRun = &v
  24220. return s
  24221. }
  24222. // SetPublicIp sets the PublicIp field's value.
  24223. func (s *CreateCustomerGatewayInput) SetPublicIp(v string) *CreateCustomerGatewayInput {
  24224. s.PublicIp = &v
  24225. return s
  24226. }
  24227. // SetType sets the Type field's value.
  24228. func (s *CreateCustomerGatewayInput) SetType(v string) *CreateCustomerGatewayInput {
  24229. s.Type = &v
  24230. return s
  24231. }
  24232. // Contains the output of CreateCustomerGateway.
  24233. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCustomerGatewayResult
  24234. type CreateCustomerGatewayOutput struct {
  24235. _ struct{} `type:"structure"`
  24236. // Information about the customer gateway.
  24237. CustomerGateway *CustomerGateway `locationName:"customerGateway" type:"structure"`
  24238. }
  24239. // String returns the string representation
  24240. func (s CreateCustomerGatewayOutput) String() string {
  24241. return awsutil.Prettify(s)
  24242. }
  24243. // GoString returns the string representation
  24244. func (s CreateCustomerGatewayOutput) GoString() string {
  24245. return s.String()
  24246. }
  24247. // SetCustomerGateway sets the CustomerGateway field's value.
  24248. func (s *CreateCustomerGatewayOutput) SetCustomerGateway(v *CustomerGateway) *CreateCustomerGatewayOutput {
  24249. s.CustomerGateway = v
  24250. return s
  24251. }
  24252. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultSubnetRequest
  24253. type CreateDefaultSubnetInput struct {
  24254. _ struct{} `type:"structure"`
  24255. // The Availability Zone in which to create the default subnet.
  24256. //
  24257. // AvailabilityZone is a required field
  24258. AvailabilityZone *string `type:"string" required:"true"`
  24259. // Checks whether you have the required permissions for the action, without
  24260. // actually making the request, and provides an error response. If you have
  24261. // the required permissions, the error response is DryRunOperation. Otherwise,
  24262. // it is UnauthorizedOperation.
  24263. DryRun *bool `type:"boolean"`
  24264. }
  24265. // String returns the string representation
  24266. func (s CreateDefaultSubnetInput) String() string {
  24267. return awsutil.Prettify(s)
  24268. }
  24269. // GoString returns the string representation
  24270. func (s CreateDefaultSubnetInput) GoString() string {
  24271. return s.String()
  24272. }
  24273. // Validate inspects the fields of the type to determine if they are valid.
  24274. func (s *CreateDefaultSubnetInput) Validate() error {
  24275. invalidParams := request.ErrInvalidParams{Context: "CreateDefaultSubnetInput"}
  24276. if s.AvailabilityZone == nil {
  24277. invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
  24278. }
  24279. if invalidParams.Len() > 0 {
  24280. return invalidParams
  24281. }
  24282. return nil
  24283. }
  24284. // SetAvailabilityZone sets the AvailabilityZone field's value.
  24285. func (s *CreateDefaultSubnetInput) SetAvailabilityZone(v string) *CreateDefaultSubnetInput {
  24286. s.AvailabilityZone = &v
  24287. return s
  24288. }
  24289. // SetDryRun sets the DryRun field's value.
  24290. func (s *CreateDefaultSubnetInput) SetDryRun(v bool) *CreateDefaultSubnetInput {
  24291. s.DryRun = &v
  24292. return s
  24293. }
  24294. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultSubnetResult
  24295. type CreateDefaultSubnetOutput struct {
  24296. _ struct{} `type:"structure"`
  24297. // Information about the subnet.
  24298. Subnet *Subnet `locationName:"subnet" type:"structure"`
  24299. }
  24300. // String returns the string representation
  24301. func (s CreateDefaultSubnetOutput) String() string {
  24302. return awsutil.Prettify(s)
  24303. }
  24304. // GoString returns the string representation
  24305. func (s CreateDefaultSubnetOutput) GoString() string {
  24306. return s.String()
  24307. }
  24308. // SetSubnet sets the Subnet field's value.
  24309. func (s *CreateDefaultSubnetOutput) SetSubnet(v *Subnet) *CreateDefaultSubnetOutput {
  24310. s.Subnet = v
  24311. return s
  24312. }
  24313. // Contains the parameters for CreateDefaultVpc.
  24314. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultVpcRequest
  24315. type CreateDefaultVpcInput struct {
  24316. _ struct{} `type:"structure"`
  24317. // Checks whether you have the required permissions for the action, without
  24318. // actually making the request, and provides an error response. If you have
  24319. // the required permissions, the error response is DryRunOperation. Otherwise,
  24320. // it is UnauthorizedOperation.
  24321. DryRun *bool `type:"boolean"`
  24322. }
  24323. // String returns the string representation
  24324. func (s CreateDefaultVpcInput) String() string {
  24325. return awsutil.Prettify(s)
  24326. }
  24327. // GoString returns the string representation
  24328. func (s CreateDefaultVpcInput) GoString() string {
  24329. return s.String()
  24330. }
  24331. // SetDryRun sets the DryRun field's value.
  24332. func (s *CreateDefaultVpcInput) SetDryRun(v bool) *CreateDefaultVpcInput {
  24333. s.DryRun = &v
  24334. return s
  24335. }
  24336. // Contains the output of CreateDefaultVpc.
  24337. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultVpcResult
  24338. type CreateDefaultVpcOutput struct {
  24339. _ struct{} `type:"structure"`
  24340. // Information about the VPC.
  24341. Vpc *Vpc `locationName:"vpc" type:"structure"`
  24342. }
  24343. // String returns the string representation
  24344. func (s CreateDefaultVpcOutput) String() string {
  24345. return awsutil.Prettify(s)
  24346. }
  24347. // GoString returns the string representation
  24348. func (s CreateDefaultVpcOutput) GoString() string {
  24349. return s.String()
  24350. }
  24351. // SetVpc sets the Vpc field's value.
  24352. func (s *CreateDefaultVpcOutput) SetVpc(v *Vpc) *CreateDefaultVpcOutput {
  24353. s.Vpc = v
  24354. return s
  24355. }
  24356. // Contains the parameters for CreateDhcpOptions.
  24357. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDhcpOptionsRequest
  24358. type CreateDhcpOptionsInput struct {
  24359. _ struct{} `type:"structure"`
  24360. // A DHCP configuration option.
  24361. //
  24362. // DhcpConfigurations is a required field
  24363. DhcpConfigurations []*NewDhcpConfiguration `locationName:"dhcpConfiguration" locationNameList:"item" type:"list" required:"true"`
  24364. // Checks whether you have the required permissions for the action, without
  24365. // actually making the request, and provides an error response. If you have
  24366. // the required permissions, the error response is DryRunOperation. Otherwise,
  24367. // it is UnauthorizedOperation.
  24368. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24369. }
  24370. // String returns the string representation
  24371. func (s CreateDhcpOptionsInput) String() string {
  24372. return awsutil.Prettify(s)
  24373. }
  24374. // GoString returns the string representation
  24375. func (s CreateDhcpOptionsInput) GoString() string {
  24376. return s.String()
  24377. }
  24378. // Validate inspects the fields of the type to determine if they are valid.
  24379. func (s *CreateDhcpOptionsInput) Validate() error {
  24380. invalidParams := request.ErrInvalidParams{Context: "CreateDhcpOptionsInput"}
  24381. if s.DhcpConfigurations == nil {
  24382. invalidParams.Add(request.NewErrParamRequired("DhcpConfigurations"))
  24383. }
  24384. if invalidParams.Len() > 0 {
  24385. return invalidParams
  24386. }
  24387. return nil
  24388. }
  24389. // SetDhcpConfigurations sets the DhcpConfigurations field's value.
  24390. func (s *CreateDhcpOptionsInput) SetDhcpConfigurations(v []*NewDhcpConfiguration) *CreateDhcpOptionsInput {
  24391. s.DhcpConfigurations = v
  24392. return s
  24393. }
  24394. // SetDryRun sets the DryRun field's value.
  24395. func (s *CreateDhcpOptionsInput) SetDryRun(v bool) *CreateDhcpOptionsInput {
  24396. s.DryRun = &v
  24397. return s
  24398. }
  24399. // Contains the output of CreateDhcpOptions.
  24400. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDhcpOptionsResult
  24401. type CreateDhcpOptionsOutput struct {
  24402. _ struct{} `type:"structure"`
  24403. // A set of DHCP options.
  24404. DhcpOptions *DhcpOptions `locationName:"dhcpOptions" type:"structure"`
  24405. }
  24406. // String returns the string representation
  24407. func (s CreateDhcpOptionsOutput) String() string {
  24408. return awsutil.Prettify(s)
  24409. }
  24410. // GoString returns the string representation
  24411. func (s CreateDhcpOptionsOutput) GoString() string {
  24412. return s.String()
  24413. }
  24414. // SetDhcpOptions sets the DhcpOptions field's value.
  24415. func (s *CreateDhcpOptionsOutput) SetDhcpOptions(v *DhcpOptions) *CreateDhcpOptionsOutput {
  24416. s.DhcpOptions = v
  24417. return s
  24418. }
  24419. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateEgressOnlyInternetGatewayRequest
  24420. type CreateEgressOnlyInternetGatewayInput struct {
  24421. _ struct{} `type:"structure"`
  24422. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  24423. // the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
  24424. ClientToken *string `type:"string"`
  24425. // Checks whether you have the required permissions for the action, without
  24426. // actually making the request, and provides an error response. If you have
  24427. // the required permissions, the error response is DryRunOperation. Otherwise,
  24428. // it is UnauthorizedOperation.
  24429. DryRun *bool `type:"boolean"`
  24430. // The ID of the VPC for which to create the egress-only Internet gateway.
  24431. //
  24432. // VpcId is a required field
  24433. VpcId *string `type:"string" required:"true"`
  24434. }
  24435. // String returns the string representation
  24436. func (s CreateEgressOnlyInternetGatewayInput) String() string {
  24437. return awsutil.Prettify(s)
  24438. }
  24439. // GoString returns the string representation
  24440. func (s CreateEgressOnlyInternetGatewayInput) GoString() string {
  24441. return s.String()
  24442. }
  24443. // Validate inspects the fields of the type to determine if they are valid.
  24444. func (s *CreateEgressOnlyInternetGatewayInput) Validate() error {
  24445. invalidParams := request.ErrInvalidParams{Context: "CreateEgressOnlyInternetGatewayInput"}
  24446. if s.VpcId == nil {
  24447. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  24448. }
  24449. if invalidParams.Len() > 0 {
  24450. return invalidParams
  24451. }
  24452. return nil
  24453. }
  24454. // SetClientToken sets the ClientToken field's value.
  24455. func (s *CreateEgressOnlyInternetGatewayInput) SetClientToken(v string) *CreateEgressOnlyInternetGatewayInput {
  24456. s.ClientToken = &v
  24457. return s
  24458. }
  24459. // SetDryRun sets the DryRun field's value.
  24460. func (s *CreateEgressOnlyInternetGatewayInput) SetDryRun(v bool) *CreateEgressOnlyInternetGatewayInput {
  24461. s.DryRun = &v
  24462. return s
  24463. }
  24464. // SetVpcId sets the VpcId field's value.
  24465. func (s *CreateEgressOnlyInternetGatewayInput) SetVpcId(v string) *CreateEgressOnlyInternetGatewayInput {
  24466. s.VpcId = &v
  24467. return s
  24468. }
  24469. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateEgressOnlyInternetGatewayResult
  24470. type CreateEgressOnlyInternetGatewayOutput struct {
  24471. _ struct{} `type:"structure"`
  24472. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  24473. // the request.
  24474. ClientToken *string `locationName:"clientToken" type:"string"`
  24475. // Information about the egress-only Internet gateway.
  24476. EgressOnlyInternetGateway *EgressOnlyInternetGateway `locationName:"egressOnlyInternetGateway" type:"structure"`
  24477. }
  24478. // String returns the string representation
  24479. func (s CreateEgressOnlyInternetGatewayOutput) String() string {
  24480. return awsutil.Prettify(s)
  24481. }
  24482. // GoString returns the string representation
  24483. func (s CreateEgressOnlyInternetGatewayOutput) GoString() string {
  24484. return s.String()
  24485. }
  24486. // SetClientToken sets the ClientToken field's value.
  24487. func (s *CreateEgressOnlyInternetGatewayOutput) SetClientToken(v string) *CreateEgressOnlyInternetGatewayOutput {
  24488. s.ClientToken = &v
  24489. return s
  24490. }
  24491. // SetEgressOnlyInternetGateway sets the EgressOnlyInternetGateway field's value.
  24492. func (s *CreateEgressOnlyInternetGatewayOutput) SetEgressOnlyInternetGateway(v *EgressOnlyInternetGateway) *CreateEgressOnlyInternetGatewayOutput {
  24493. s.EgressOnlyInternetGateway = v
  24494. return s
  24495. }
  24496. // Contains the parameters for CreateFlowLogs.
  24497. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFlowLogsRequest
  24498. type CreateFlowLogsInput struct {
  24499. _ struct{} `type:"structure"`
  24500. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  24501. // the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
  24502. ClientToken *string `type:"string"`
  24503. // The ARN for the IAM role that's used to post flow logs to a CloudWatch Logs
  24504. // log group.
  24505. //
  24506. // DeliverLogsPermissionArn is a required field
  24507. DeliverLogsPermissionArn *string `type:"string" required:"true"`
  24508. // The name of the CloudWatch log group.
  24509. //
  24510. // LogGroupName is a required field
  24511. LogGroupName *string `type:"string" required:"true"`
  24512. // One or more subnet, network interface, or VPC IDs.
  24513. //
  24514. // Constraints: Maximum of 1000 resources
  24515. //
  24516. // ResourceIds is a required field
  24517. ResourceIds []*string `locationName:"ResourceId" locationNameList:"item" type:"list" required:"true"`
  24518. // The type of resource on which to create the flow log.
  24519. //
  24520. // ResourceType is a required field
  24521. ResourceType *string `type:"string" required:"true" enum:"FlowLogsResourceType"`
  24522. // The type of traffic to log.
  24523. //
  24524. // TrafficType is a required field
  24525. TrafficType *string `type:"string" required:"true" enum:"TrafficType"`
  24526. }
  24527. // String returns the string representation
  24528. func (s CreateFlowLogsInput) String() string {
  24529. return awsutil.Prettify(s)
  24530. }
  24531. // GoString returns the string representation
  24532. func (s CreateFlowLogsInput) GoString() string {
  24533. return s.String()
  24534. }
  24535. // Validate inspects the fields of the type to determine if they are valid.
  24536. func (s *CreateFlowLogsInput) Validate() error {
  24537. invalidParams := request.ErrInvalidParams{Context: "CreateFlowLogsInput"}
  24538. if s.DeliverLogsPermissionArn == nil {
  24539. invalidParams.Add(request.NewErrParamRequired("DeliverLogsPermissionArn"))
  24540. }
  24541. if s.LogGroupName == nil {
  24542. invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
  24543. }
  24544. if s.ResourceIds == nil {
  24545. invalidParams.Add(request.NewErrParamRequired("ResourceIds"))
  24546. }
  24547. if s.ResourceType == nil {
  24548. invalidParams.Add(request.NewErrParamRequired("ResourceType"))
  24549. }
  24550. if s.TrafficType == nil {
  24551. invalidParams.Add(request.NewErrParamRequired("TrafficType"))
  24552. }
  24553. if invalidParams.Len() > 0 {
  24554. return invalidParams
  24555. }
  24556. return nil
  24557. }
  24558. // SetClientToken sets the ClientToken field's value.
  24559. func (s *CreateFlowLogsInput) SetClientToken(v string) *CreateFlowLogsInput {
  24560. s.ClientToken = &v
  24561. return s
  24562. }
  24563. // SetDeliverLogsPermissionArn sets the DeliverLogsPermissionArn field's value.
  24564. func (s *CreateFlowLogsInput) SetDeliverLogsPermissionArn(v string) *CreateFlowLogsInput {
  24565. s.DeliverLogsPermissionArn = &v
  24566. return s
  24567. }
  24568. // SetLogGroupName sets the LogGroupName field's value.
  24569. func (s *CreateFlowLogsInput) SetLogGroupName(v string) *CreateFlowLogsInput {
  24570. s.LogGroupName = &v
  24571. return s
  24572. }
  24573. // SetResourceIds sets the ResourceIds field's value.
  24574. func (s *CreateFlowLogsInput) SetResourceIds(v []*string) *CreateFlowLogsInput {
  24575. s.ResourceIds = v
  24576. return s
  24577. }
  24578. // SetResourceType sets the ResourceType field's value.
  24579. func (s *CreateFlowLogsInput) SetResourceType(v string) *CreateFlowLogsInput {
  24580. s.ResourceType = &v
  24581. return s
  24582. }
  24583. // SetTrafficType sets the TrafficType field's value.
  24584. func (s *CreateFlowLogsInput) SetTrafficType(v string) *CreateFlowLogsInput {
  24585. s.TrafficType = &v
  24586. return s
  24587. }
  24588. // Contains the output of CreateFlowLogs.
  24589. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFlowLogsResult
  24590. type CreateFlowLogsOutput struct {
  24591. _ struct{} `type:"structure"`
  24592. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  24593. // the request.
  24594. ClientToken *string `locationName:"clientToken" type:"string"`
  24595. // The IDs of the flow logs.
  24596. FlowLogIds []*string `locationName:"flowLogIdSet" locationNameList:"item" type:"list"`
  24597. // Information about the flow logs that could not be created successfully.
  24598. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  24599. }
  24600. // String returns the string representation
  24601. func (s CreateFlowLogsOutput) String() string {
  24602. return awsutil.Prettify(s)
  24603. }
  24604. // GoString returns the string representation
  24605. func (s CreateFlowLogsOutput) GoString() string {
  24606. return s.String()
  24607. }
  24608. // SetClientToken sets the ClientToken field's value.
  24609. func (s *CreateFlowLogsOutput) SetClientToken(v string) *CreateFlowLogsOutput {
  24610. s.ClientToken = &v
  24611. return s
  24612. }
  24613. // SetFlowLogIds sets the FlowLogIds field's value.
  24614. func (s *CreateFlowLogsOutput) SetFlowLogIds(v []*string) *CreateFlowLogsOutput {
  24615. s.FlowLogIds = v
  24616. return s
  24617. }
  24618. // SetUnsuccessful sets the Unsuccessful field's value.
  24619. func (s *CreateFlowLogsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *CreateFlowLogsOutput {
  24620. s.Unsuccessful = v
  24621. return s
  24622. }
  24623. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFpgaImageRequest
  24624. type CreateFpgaImageInput struct {
  24625. _ struct{} `type:"structure"`
  24626. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  24627. // of the request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
  24628. ClientToken *string `type:"string"`
  24629. // A description for the AFI.
  24630. Description *string `type:"string"`
  24631. // Checks whether you have the required permissions for the action, without
  24632. // actually making the request, and provides an error response. If you have
  24633. // the required permissions, the error response is DryRunOperation. Otherwise,
  24634. // it is UnauthorizedOperation.
  24635. DryRun *bool `type:"boolean"`
  24636. // The location of the encrypted design checkpoint in Amazon S3. The input must
  24637. // be a tarball.
  24638. //
  24639. // InputStorageLocation is a required field
  24640. InputStorageLocation *StorageLocation `type:"structure" required:"true"`
  24641. // The location in Amazon S3 for the output logs.
  24642. LogsStorageLocation *StorageLocation `type:"structure"`
  24643. // A name for the AFI.
  24644. Name *string `type:"string"`
  24645. }
  24646. // String returns the string representation
  24647. func (s CreateFpgaImageInput) String() string {
  24648. return awsutil.Prettify(s)
  24649. }
  24650. // GoString returns the string representation
  24651. func (s CreateFpgaImageInput) GoString() string {
  24652. return s.String()
  24653. }
  24654. // Validate inspects the fields of the type to determine if they are valid.
  24655. func (s *CreateFpgaImageInput) Validate() error {
  24656. invalidParams := request.ErrInvalidParams{Context: "CreateFpgaImageInput"}
  24657. if s.InputStorageLocation == nil {
  24658. invalidParams.Add(request.NewErrParamRequired("InputStorageLocation"))
  24659. }
  24660. if invalidParams.Len() > 0 {
  24661. return invalidParams
  24662. }
  24663. return nil
  24664. }
  24665. // SetClientToken sets the ClientToken field's value.
  24666. func (s *CreateFpgaImageInput) SetClientToken(v string) *CreateFpgaImageInput {
  24667. s.ClientToken = &v
  24668. return s
  24669. }
  24670. // SetDescription sets the Description field's value.
  24671. func (s *CreateFpgaImageInput) SetDescription(v string) *CreateFpgaImageInput {
  24672. s.Description = &v
  24673. return s
  24674. }
  24675. // SetDryRun sets the DryRun field's value.
  24676. func (s *CreateFpgaImageInput) SetDryRun(v bool) *CreateFpgaImageInput {
  24677. s.DryRun = &v
  24678. return s
  24679. }
  24680. // SetInputStorageLocation sets the InputStorageLocation field's value.
  24681. func (s *CreateFpgaImageInput) SetInputStorageLocation(v *StorageLocation) *CreateFpgaImageInput {
  24682. s.InputStorageLocation = v
  24683. return s
  24684. }
  24685. // SetLogsStorageLocation sets the LogsStorageLocation field's value.
  24686. func (s *CreateFpgaImageInput) SetLogsStorageLocation(v *StorageLocation) *CreateFpgaImageInput {
  24687. s.LogsStorageLocation = v
  24688. return s
  24689. }
  24690. // SetName sets the Name field's value.
  24691. func (s *CreateFpgaImageInput) SetName(v string) *CreateFpgaImageInput {
  24692. s.Name = &v
  24693. return s
  24694. }
  24695. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFpgaImageResult
  24696. type CreateFpgaImageOutput struct {
  24697. _ struct{} `type:"structure"`
  24698. // The global FPGA image identifier (AGFI ID).
  24699. FpgaImageGlobalId *string `locationName:"fpgaImageGlobalId" type:"string"`
  24700. // The FPGA image identifier (AFI ID).
  24701. FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
  24702. }
  24703. // String returns the string representation
  24704. func (s CreateFpgaImageOutput) String() string {
  24705. return awsutil.Prettify(s)
  24706. }
  24707. // GoString returns the string representation
  24708. func (s CreateFpgaImageOutput) GoString() string {
  24709. return s.String()
  24710. }
  24711. // SetFpgaImageGlobalId sets the FpgaImageGlobalId field's value.
  24712. func (s *CreateFpgaImageOutput) SetFpgaImageGlobalId(v string) *CreateFpgaImageOutput {
  24713. s.FpgaImageGlobalId = &v
  24714. return s
  24715. }
  24716. // SetFpgaImageId sets the FpgaImageId field's value.
  24717. func (s *CreateFpgaImageOutput) SetFpgaImageId(v string) *CreateFpgaImageOutput {
  24718. s.FpgaImageId = &v
  24719. return s
  24720. }
  24721. // Contains the parameters for CreateImage.
  24722. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateImageRequest
  24723. type CreateImageInput struct {
  24724. _ struct{} `type:"structure"`
  24725. // Information about one or more block device mappings.
  24726. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
  24727. // A description for the new image.
  24728. Description *string `locationName:"description" type:"string"`
  24729. // Checks whether you have the required permissions for the action, without
  24730. // actually making the request, and provides an error response. If you have
  24731. // the required permissions, the error response is DryRunOperation. Otherwise,
  24732. // it is UnauthorizedOperation.
  24733. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24734. // The ID of the instance.
  24735. //
  24736. // InstanceId is a required field
  24737. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  24738. // A name for the new image.
  24739. //
  24740. // Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets
  24741. // ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('),
  24742. // at-signs (@), or underscores(_)
  24743. //
  24744. // Name is a required field
  24745. Name *string `locationName:"name" type:"string" required:"true"`
  24746. // By default, Amazon EC2 attempts to shut down and reboot the instance before
  24747. // creating the image. If the 'No Reboot' option is set, Amazon EC2 doesn't
  24748. // shut down the instance before creating the image. When this option is used,
  24749. // file system integrity on the created image can't be guaranteed.
  24750. NoReboot *bool `locationName:"noReboot" type:"boolean"`
  24751. }
  24752. // String returns the string representation
  24753. func (s CreateImageInput) String() string {
  24754. return awsutil.Prettify(s)
  24755. }
  24756. // GoString returns the string representation
  24757. func (s CreateImageInput) GoString() string {
  24758. return s.String()
  24759. }
  24760. // Validate inspects the fields of the type to determine if they are valid.
  24761. func (s *CreateImageInput) Validate() error {
  24762. invalidParams := request.ErrInvalidParams{Context: "CreateImageInput"}
  24763. if s.InstanceId == nil {
  24764. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  24765. }
  24766. if s.Name == nil {
  24767. invalidParams.Add(request.NewErrParamRequired("Name"))
  24768. }
  24769. if invalidParams.Len() > 0 {
  24770. return invalidParams
  24771. }
  24772. return nil
  24773. }
  24774. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  24775. func (s *CreateImageInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *CreateImageInput {
  24776. s.BlockDeviceMappings = v
  24777. return s
  24778. }
  24779. // SetDescription sets the Description field's value.
  24780. func (s *CreateImageInput) SetDescription(v string) *CreateImageInput {
  24781. s.Description = &v
  24782. return s
  24783. }
  24784. // SetDryRun sets the DryRun field's value.
  24785. func (s *CreateImageInput) SetDryRun(v bool) *CreateImageInput {
  24786. s.DryRun = &v
  24787. return s
  24788. }
  24789. // SetInstanceId sets the InstanceId field's value.
  24790. func (s *CreateImageInput) SetInstanceId(v string) *CreateImageInput {
  24791. s.InstanceId = &v
  24792. return s
  24793. }
  24794. // SetName sets the Name field's value.
  24795. func (s *CreateImageInput) SetName(v string) *CreateImageInput {
  24796. s.Name = &v
  24797. return s
  24798. }
  24799. // SetNoReboot sets the NoReboot field's value.
  24800. func (s *CreateImageInput) SetNoReboot(v bool) *CreateImageInput {
  24801. s.NoReboot = &v
  24802. return s
  24803. }
  24804. // Contains the output of CreateImage.
  24805. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateImageResult
  24806. type CreateImageOutput struct {
  24807. _ struct{} `type:"structure"`
  24808. // The ID of the new AMI.
  24809. ImageId *string `locationName:"imageId" type:"string"`
  24810. }
  24811. // String returns the string representation
  24812. func (s CreateImageOutput) String() string {
  24813. return awsutil.Prettify(s)
  24814. }
  24815. // GoString returns the string representation
  24816. func (s CreateImageOutput) GoString() string {
  24817. return s.String()
  24818. }
  24819. // SetImageId sets the ImageId field's value.
  24820. func (s *CreateImageOutput) SetImageId(v string) *CreateImageOutput {
  24821. s.ImageId = &v
  24822. return s
  24823. }
  24824. // Contains the parameters for CreateInstanceExportTask.
  24825. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInstanceExportTaskRequest
  24826. type CreateInstanceExportTaskInput struct {
  24827. _ struct{} `type:"structure"`
  24828. // A description for the conversion task or the resource being exported. The
  24829. // maximum length is 255 bytes.
  24830. Description *string `locationName:"description" type:"string"`
  24831. // The format and location for an instance export task.
  24832. ExportToS3Task *ExportToS3TaskSpecification `locationName:"exportToS3" type:"structure"`
  24833. // The ID of the instance.
  24834. //
  24835. // InstanceId is a required field
  24836. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  24837. // The target virtualization environment.
  24838. TargetEnvironment *string `locationName:"targetEnvironment" type:"string" enum:"ExportEnvironment"`
  24839. }
  24840. // String returns the string representation
  24841. func (s CreateInstanceExportTaskInput) String() string {
  24842. return awsutil.Prettify(s)
  24843. }
  24844. // GoString returns the string representation
  24845. func (s CreateInstanceExportTaskInput) GoString() string {
  24846. return s.String()
  24847. }
  24848. // Validate inspects the fields of the type to determine if they are valid.
  24849. func (s *CreateInstanceExportTaskInput) Validate() error {
  24850. invalidParams := request.ErrInvalidParams{Context: "CreateInstanceExportTaskInput"}
  24851. if s.InstanceId == nil {
  24852. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  24853. }
  24854. if invalidParams.Len() > 0 {
  24855. return invalidParams
  24856. }
  24857. return nil
  24858. }
  24859. // SetDescription sets the Description field's value.
  24860. func (s *CreateInstanceExportTaskInput) SetDescription(v string) *CreateInstanceExportTaskInput {
  24861. s.Description = &v
  24862. return s
  24863. }
  24864. // SetExportToS3Task sets the ExportToS3Task field's value.
  24865. func (s *CreateInstanceExportTaskInput) SetExportToS3Task(v *ExportToS3TaskSpecification) *CreateInstanceExportTaskInput {
  24866. s.ExportToS3Task = v
  24867. return s
  24868. }
  24869. // SetInstanceId sets the InstanceId field's value.
  24870. func (s *CreateInstanceExportTaskInput) SetInstanceId(v string) *CreateInstanceExportTaskInput {
  24871. s.InstanceId = &v
  24872. return s
  24873. }
  24874. // SetTargetEnvironment sets the TargetEnvironment field's value.
  24875. func (s *CreateInstanceExportTaskInput) SetTargetEnvironment(v string) *CreateInstanceExportTaskInput {
  24876. s.TargetEnvironment = &v
  24877. return s
  24878. }
  24879. // Contains the output for CreateInstanceExportTask.
  24880. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInstanceExportTaskResult
  24881. type CreateInstanceExportTaskOutput struct {
  24882. _ struct{} `type:"structure"`
  24883. // Information about the instance export task.
  24884. ExportTask *ExportTask `locationName:"exportTask" type:"structure"`
  24885. }
  24886. // String returns the string representation
  24887. func (s CreateInstanceExportTaskOutput) String() string {
  24888. return awsutil.Prettify(s)
  24889. }
  24890. // GoString returns the string representation
  24891. func (s CreateInstanceExportTaskOutput) GoString() string {
  24892. return s.String()
  24893. }
  24894. // SetExportTask sets the ExportTask field's value.
  24895. func (s *CreateInstanceExportTaskOutput) SetExportTask(v *ExportTask) *CreateInstanceExportTaskOutput {
  24896. s.ExportTask = v
  24897. return s
  24898. }
  24899. // Contains the parameters for CreateInternetGateway.
  24900. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInternetGatewayRequest
  24901. type CreateInternetGatewayInput struct {
  24902. _ struct{} `type:"structure"`
  24903. // Checks whether you have the required permissions for the action, without
  24904. // actually making the request, and provides an error response. If you have
  24905. // the required permissions, the error response is DryRunOperation. Otherwise,
  24906. // it is UnauthorizedOperation.
  24907. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24908. }
  24909. // String returns the string representation
  24910. func (s CreateInternetGatewayInput) String() string {
  24911. return awsutil.Prettify(s)
  24912. }
  24913. // GoString returns the string representation
  24914. func (s CreateInternetGatewayInput) GoString() string {
  24915. return s.String()
  24916. }
  24917. // SetDryRun sets the DryRun field's value.
  24918. func (s *CreateInternetGatewayInput) SetDryRun(v bool) *CreateInternetGatewayInput {
  24919. s.DryRun = &v
  24920. return s
  24921. }
  24922. // Contains the output of CreateInternetGateway.
  24923. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInternetGatewayResult
  24924. type CreateInternetGatewayOutput struct {
  24925. _ struct{} `type:"structure"`
  24926. // Information about the Internet gateway.
  24927. InternetGateway *InternetGateway `locationName:"internetGateway" type:"structure"`
  24928. }
  24929. // String returns the string representation
  24930. func (s CreateInternetGatewayOutput) String() string {
  24931. return awsutil.Prettify(s)
  24932. }
  24933. // GoString returns the string representation
  24934. func (s CreateInternetGatewayOutput) GoString() string {
  24935. return s.String()
  24936. }
  24937. // SetInternetGateway sets the InternetGateway field's value.
  24938. func (s *CreateInternetGatewayOutput) SetInternetGateway(v *InternetGateway) *CreateInternetGatewayOutput {
  24939. s.InternetGateway = v
  24940. return s
  24941. }
  24942. // Contains the parameters for CreateKeyPair.
  24943. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateKeyPairRequest
  24944. type CreateKeyPairInput struct {
  24945. _ struct{} `type:"structure"`
  24946. // Checks whether you have the required permissions for the action, without
  24947. // actually making the request, and provides an error response. If you have
  24948. // the required permissions, the error response is DryRunOperation. Otherwise,
  24949. // it is UnauthorizedOperation.
  24950. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24951. // A unique name for the key pair.
  24952. //
  24953. // Constraints: Up to 255 ASCII characters
  24954. //
  24955. // KeyName is a required field
  24956. KeyName *string `type:"string" required:"true"`
  24957. }
  24958. // String returns the string representation
  24959. func (s CreateKeyPairInput) String() string {
  24960. return awsutil.Prettify(s)
  24961. }
  24962. // GoString returns the string representation
  24963. func (s CreateKeyPairInput) GoString() string {
  24964. return s.String()
  24965. }
  24966. // Validate inspects the fields of the type to determine if they are valid.
  24967. func (s *CreateKeyPairInput) Validate() error {
  24968. invalidParams := request.ErrInvalidParams{Context: "CreateKeyPairInput"}
  24969. if s.KeyName == nil {
  24970. invalidParams.Add(request.NewErrParamRequired("KeyName"))
  24971. }
  24972. if invalidParams.Len() > 0 {
  24973. return invalidParams
  24974. }
  24975. return nil
  24976. }
  24977. // SetDryRun sets the DryRun field's value.
  24978. func (s *CreateKeyPairInput) SetDryRun(v bool) *CreateKeyPairInput {
  24979. s.DryRun = &v
  24980. return s
  24981. }
  24982. // SetKeyName sets the KeyName field's value.
  24983. func (s *CreateKeyPairInput) SetKeyName(v string) *CreateKeyPairInput {
  24984. s.KeyName = &v
  24985. return s
  24986. }
  24987. // Describes a key pair.
  24988. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/KeyPair
  24989. type CreateKeyPairOutput struct {
  24990. _ struct{} `type:"structure"`
  24991. // The SHA-1 digest of the DER encoded private key.
  24992. KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
  24993. // An unencrypted PEM encoded RSA private key.
  24994. KeyMaterial *string `locationName:"keyMaterial" type:"string"`
  24995. // The name of the key pair.
  24996. KeyName *string `locationName:"keyName" type:"string"`
  24997. }
  24998. // String returns the string representation
  24999. func (s CreateKeyPairOutput) String() string {
  25000. return awsutil.Prettify(s)
  25001. }
  25002. // GoString returns the string representation
  25003. func (s CreateKeyPairOutput) GoString() string {
  25004. return s.String()
  25005. }
  25006. // SetKeyFingerprint sets the KeyFingerprint field's value.
  25007. func (s *CreateKeyPairOutput) SetKeyFingerprint(v string) *CreateKeyPairOutput {
  25008. s.KeyFingerprint = &v
  25009. return s
  25010. }
  25011. // SetKeyMaterial sets the KeyMaterial field's value.
  25012. func (s *CreateKeyPairOutput) SetKeyMaterial(v string) *CreateKeyPairOutput {
  25013. s.KeyMaterial = &v
  25014. return s
  25015. }
  25016. // SetKeyName sets the KeyName field's value.
  25017. func (s *CreateKeyPairOutput) SetKeyName(v string) *CreateKeyPairOutput {
  25018. s.KeyName = &v
  25019. return s
  25020. }
  25021. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplateRequest
  25022. type CreateLaunchTemplateInput struct {
  25023. _ struct{} `type:"structure"`
  25024. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  25025. // the request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  25026. ClientToken *string `type:"string"`
  25027. // Checks whether you have the required permissions for the action, without
  25028. // actually making the request, and provides an error response. If you have
  25029. // the required permissions, the error response is DryRunOperation. Otherwise,
  25030. // it is UnauthorizedOperation.
  25031. DryRun *bool `type:"boolean"`
  25032. // The information for the launch template.
  25033. //
  25034. // LaunchTemplateData is a required field
  25035. LaunchTemplateData *RequestLaunchTemplateData `type:"structure" required:"true"`
  25036. // A name for the launch template.
  25037. //
  25038. // LaunchTemplateName is a required field
  25039. LaunchTemplateName *string `min:"3" type:"string" required:"true"`
  25040. // A description for the first version of the launch template.
  25041. VersionDescription *string `type:"string"`
  25042. }
  25043. // String returns the string representation
  25044. func (s CreateLaunchTemplateInput) String() string {
  25045. return awsutil.Prettify(s)
  25046. }
  25047. // GoString returns the string representation
  25048. func (s CreateLaunchTemplateInput) GoString() string {
  25049. return s.String()
  25050. }
  25051. // Validate inspects the fields of the type to determine if they are valid.
  25052. func (s *CreateLaunchTemplateInput) Validate() error {
  25053. invalidParams := request.ErrInvalidParams{Context: "CreateLaunchTemplateInput"}
  25054. if s.LaunchTemplateData == nil {
  25055. invalidParams.Add(request.NewErrParamRequired("LaunchTemplateData"))
  25056. }
  25057. if s.LaunchTemplateName == nil {
  25058. invalidParams.Add(request.NewErrParamRequired("LaunchTemplateName"))
  25059. }
  25060. if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
  25061. invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
  25062. }
  25063. if s.LaunchTemplateData != nil {
  25064. if err := s.LaunchTemplateData.Validate(); err != nil {
  25065. invalidParams.AddNested("LaunchTemplateData", err.(request.ErrInvalidParams))
  25066. }
  25067. }
  25068. if invalidParams.Len() > 0 {
  25069. return invalidParams
  25070. }
  25071. return nil
  25072. }
  25073. // SetClientToken sets the ClientToken field's value.
  25074. func (s *CreateLaunchTemplateInput) SetClientToken(v string) *CreateLaunchTemplateInput {
  25075. s.ClientToken = &v
  25076. return s
  25077. }
  25078. // SetDryRun sets the DryRun field's value.
  25079. func (s *CreateLaunchTemplateInput) SetDryRun(v bool) *CreateLaunchTemplateInput {
  25080. s.DryRun = &v
  25081. return s
  25082. }
  25083. // SetLaunchTemplateData sets the LaunchTemplateData field's value.
  25084. func (s *CreateLaunchTemplateInput) SetLaunchTemplateData(v *RequestLaunchTemplateData) *CreateLaunchTemplateInput {
  25085. s.LaunchTemplateData = v
  25086. return s
  25087. }
  25088. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  25089. func (s *CreateLaunchTemplateInput) SetLaunchTemplateName(v string) *CreateLaunchTemplateInput {
  25090. s.LaunchTemplateName = &v
  25091. return s
  25092. }
  25093. // SetVersionDescription sets the VersionDescription field's value.
  25094. func (s *CreateLaunchTemplateInput) SetVersionDescription(v string) *CreateLaunchTemplateInput {
  25095. s.VersionDescription = &v
  25096. return s
  25097. }
  25098. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplateResult
  25099. type CreateLaunchTemplateOutput struct {
  25100. _ struct{} `type:"structure"`
  25101. // Information about the launch template.
  25102. LaunchTemplate *LaunchTemplate `locationName:"launchTemplate" type:"structure"`
  25103. }
  25104. // String returns the string representation
  25105. func (s CreateLaunchTemplateOutput) String() string {
  25106. return awsutil.Prettify(s)
  25107. }
  25108. // GoString returns the string representation
  25109. func (s CreateLaunchTemplateOutput) GoString() string {
  25110. return s.String()
  25111. }
  25112. // SetLaunchTemplate sets the LaunchTemplate field's value.
  25113. func (s *CreateLaunchTemplateOutput) SetLaunchTemplate(v *LaunchTemplate) *CreateLaunchTemplateOutput {
  25114. s.LaunchTemplate = v
  25115. return s
  25116. }
  25117. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplateVersionRequest
  25118. type CreateLaunchTemplateVersionInput struct {
  25119. _ struct{} `type:"structure"`
  25120. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  25121. // the request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  25122. ClientToken *string `type:"string"`
  25123. // Checks whether you have the required permissions for the action, without
  25124. // actually making the request, and provides an error response. If you have
  25125. // the required permissions, the error response is DryRunOperation. Otherwise,
  25126. // it is UnauthorizedOperation.
  25127. DryRun *bool `type:"boolean"`
  25128. // The information for the launch template.
  25129. //
  25130. // LaunchTemplateData is a required field
  25131. LaunchTemplateData *RequestLaunchTemplateData `type:"structure" required:"true"`
  25132. // The ID of the launch template. You must specify either the launch template
  25133. // ID or launch template name in the request.
  25134. LaunchTemplateId *string `type:"string"`
  25135. // The name of the launch template. You must specify either the launch template
  25136. // ID or launch template name in the request.
  25137. LaunchTemplateName *string `min:"3" type:"string"`
  25138. // The version number of the launch template version on which to base the new
  25139. // version. The new version inherits the same launch parameters as the source
  25140. // version, except for parameters that you specify in LaunchTemplateData.
  25141. SourceVersion *string `type:"string"`
  25142. // A description for the version of the launch template.
  25143. VersionDescription *string `type:"string"`
  25144. }
  25145. // String returns the string representation
  25146. func (s CreateLaunchTemplateVersionInput) String() string {
  25147. return awsutil.Prettify(s)
  25148. }
  25149. // GoString returns the string representation
  25150. func (s CreateLaunchTemplateVersionInput) GoString() string {
  25151. return s.String()
  25152. }
  25153. // Validate inspects the fields of the type to determine if they are valid.
  25154. func (s *CreateLaunchTemplateVersionInput) Validate() error {
  25155. invalidParams := request.ErrInvalidParams{Context: "CreateLaunchTemplateVersionInput"}
  25156. if s.LaunchTemplateData == nil {
  25157. invalidParams.Add(request.NewErrParamRequired("LaunchTemplateData"))
  25158. }
  25159. if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
  25160. invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
  25161. }
  25162. if s.LaunchTemplateData != nil {
  25163. if err := s.LaunchTemplateData.Validate(); err != nil {
  25164. invalidParams.AddNested("LaunchTemplateData", err.(request.ErrInvalidParams))
  25165. }
  25166. }
  25167. if invalidParams.Len() > 0 {
  25168. return invalidParams
  25169. }
  25170. return nil
  25171. }
  25172. // SetClientToken sets the ClientToken field's value.
  25173. func (s *CreateLaunchTemplateVersionInput) SetClientToken(v string) *CreateLaunchTemplateVersionInput {
  25174. s.ClientToken = &v
  25175. return s
  25176. }
  25177. // SetDryRun sets the DryRun field's value.
  25178. func (s *CreateLaunchTemplateVersionInput) SetDryRun(v bool) *CreateLaunchTemplateVersionInput {
  25179. s.DryRun = &v
  25180. return s
  25181. }
  25182. // SetLaunchTemplateData sets the LaunchTemplateData field's value.
  25183. func (s *CreateLaunchTemplateVersionInput) SetLaunchTemplateData(v *RequestLaunchTemplateData) *CreateLaunchTemplateVersionInput {
  25184. s.LaunchTemplateData = v
  25185. return s
  25186. }
  25187. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  25188. func (s *CreateLaunchTemplateVersionInput) SetLaunchTemplateId(v string) *CreateLaunchTemplateVersionInput {
  25189. s.LaunchTemplateId = &v
  25190. return s
  25191. }
  25192. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  25193. func (s *CreateLaunchTemplateVersionInput) SetLaunchTemplateName(v string) *CreateLaunchTemplateVersionInput {
  25194. s.LaunchTemplateName = &v
  25195. return s
  25196. }
  25197. // SetSourceVersion sets the SourceVersion field's value.
  25198. func (s *CreateLaunchTemplateVersionInput) SetSourceVersion(v string) *CreateLaunchTemplateVersionInput {
  25199. s.SourceVersion = &v
  25200. return s
  25201. }
  25202. // SetVersionDescription sets the VersionDescription field's value.
  25203. func (s *CreateLaunchTemplateVersionInput) SetVersionDescription(v string) *CreateLaunchTemplateVersionInput {
  25204. s.VersionDescription = &v
  25205. return s
  25206. }
  25207. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplateVersionResult
  25208. type CreateLaunchTemplateVersionOutput struct {
  25209. _ struct{} `type:"structure"`
  25210. // Information about the launch template version.
  25211. LaunchTemplateVersion *LaunchTemplateVersion `locationName:"launchTemplateVersion" type:"structure"`
  25212. }
  25213. // String returns the string representation
  25214. func (s CreateLaunchTemplateVersionOutput) String() string {
  25215. return awsutil.Prettify(s)
  25216. }
  25217. // GoString returns the string representation
  25218. func (s CreateLaunchTemplateVersionOutput) GoString() string {
  25219. return s.String()
  25220. }
  25221. // SetLaunchTemplateVersion sets the LaunchTemplateVersion field's value.
  25222. func (s *CreateLaunchTemplateVersionOutput) SetLaunchTemplateVersion(v *LaunchTemplateVersion) *CreateLaunchTemplateVersionOutput {
  25223. s.LaunchTemplateVersion = v
  25224. return s
  25225. }
  25226. // Contains the parameters for CreateNatGateway.
  25227. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNatGatewayRequest
  25228. type CreateNatGatewayInput struct {
  25229. _ struct{} `type:"structure"`
  25230. // The allocation ID of an Elastic IP address to associate with the NAT gateway.
  25231. // If the Elastic IP address is associated with another resource, you must first
  25232. // disassociate it.
  25233. //
  25234. // AllocationId is a required field
  25235. AllocationId *string `type:"string" required:"true"`
  25236. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  25237. // the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  25238. //
  25239. // Constraint: Maximum 64 ASCII characters.
  25240. ClientToken *string `type:"string"`
  25241. // The subnet in which to create the NAT gateway.
  25242. //
  25243. // SubnetId is a required field
  25244. SubnetId *string `type:"string" required:"true"`
  25245. }
  25246. // String returns the string representation
  25247. func (s CreateNatGatewayInput) String() string {
  25248. return awsutil.Prettify(s)
  25249. }
  25250. // GoString returns the string representation
  25251. func (s CreateNatGatewayInput) GoString() string {
  25252. return s.String()
  25253. }
  25254. // Validate inspects the fields of the type to determine if they are valid.
  25255. func (s *CreateNatGatewayInput) Validate() error {
  25256. invalidParams := request.ErrInvalidParams{Context: "CreateNatGatewayInput"}
  25257. if s.AllocationId == nil {
  25258. invalidParams.Add(request.NewErrParamRequired("AllocationId"))
  25259. }
  25260. if s.SubnetId == nil {
  25261. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  25262. }
  25263. if invalidParams.Len() > 0 {
  25264. return invalidParams
  25265. }
  25266. return nil
  25267. }
  25268. // SetAllocationId sets the AllocationId field's value.
  25269. func (s *CreateNatGatewayInput) SetAllocationId(v string) *CreateNatGatewayInput {
  25270. s.AllocationId = &v
  25271. return s
  25272. }
  25273. // SetClientToken sets the ClientToken field's value.
  25274. func (s *CreateNatGatewayInput) SetClientToken(v string) *CreateNatGatewayInput {
  25275. s.ClientToken = &v
  25276. return s
  25277. }
  25278. // SetSubnetId sets the SubnetId field's value.
  25279. func (s *CreateNatGatewayInput) SetSubnetId(v string) *CreateNatGatewayInput {
  25280. s.SubnetId = &v
  25281. return s
  25282. }
  25283. // Contains the output of CreateNatGateway.
  25284. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNatGatewayResult
  25285. type CreateNatGatewayOutput struct {
  25286. _ struct{} `type:"structure"`
  25287. // Unique, case-sensitive identifier to ensure the idempotency of the request.
  25288. // Only returned if a client token was provided in the request.
  25289. ClientToken *string `locationName:"clientToken" type:"string"`
  25290. // Information about the NAT gateway.
  25291. NatGateway *NatGateway `locationName:"natGateway" type:"structure"`
  25292. }
  25293. // String returns the string representation
  25294. func (s CreateNatGatewayOutput) String() string {
  25295. return awsutil.Prettify(s)
  25296. }
  25297. // GoString returns the string representation
  25298. func (s CreateNatGatewayOutput) GoString() string {
  25299. return s.String()
  25300. }
  25301. // SetClientToken sets the ClientToken field's value.
  25302. func (s *CreateNatGatewayOutput) SetClientToken(v string) *CreateNatGatewayOutput {
  25303. s.ClientToken = &v
  25304. return s
  25305. }
  25306. // SetNatGateway sets the NatGateway field's value.
  25307. func (s *CreateNatGatewayOutput) SetNatGateway(v *NatGateway) *CreateNatGatewayOutput {
  25308. s.NatGateway = v
  25309. return s
  25310. }
  25311. // Contains the parameters for CreateNetworkAclEntry.
  25312. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclEntryRequest
  25313. type CreateNetworkAclEntryInput struct {
  25314. _ struct{} `type:"structure"`
  25315. // The IPv4 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).
  25316. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  25317. // Checks whether you have the required permissions for the action, without
  25318. // actually making the request, and provides an error response. If you have
  25319. // the required permissions, the error response is DryRunOperation. Otherwise,
  25320. // it is UnauthorizedOperation.
  25321. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25322. // Indicates whether this is an egress rule (rule is applied to traffic leaving
  25323. // the subnet).
  25324. //
  25325. // Egress is a required field
  25326. Egress *bool `locationName:"egress" type:"boolean" required:"true"`
  25327. // ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying the
  25328. // ICMP protocol, or protocol 58 (ICMPv6) with an IPv6 CIDR block.
  25329. IcmpTypeCode *IcmpTypeCode `locationName:"Icmp" type:"structure"`
  25330. // The IPv6 network range to allow or deny, in CIDR notation (for example 2001:db8:1234:1a00::/64).
  25331. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
  25332. // The ID of the network ACL.
  25333. //
  25334. // NetworkAclId is a required field
  25335. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  25336. // TCP or UDP protocols: The range of ports the rule applies to.
  25337. PortRange *PortRange `locationName:"portRange" type:"structure"`
  25338. // The protocol. A value of -1 or all means all protocols. If you specify all,
  25339. // -1, or a protocol number other than tcp, udp, or icmp, traffic on all ports
  25340. // is allowed, regardless of any ports or ICMP types or codes you specify. If
  25341. // you specify protocol 58 (ICMPv6) and specify an IPv4 CIDR block, traffic
  25342. // for all ICMP types and codes allowed, regardless of any that you specify.
  25343. // If you specify protocol 58 (ICMPv6) and specify an IPv6 CIDR block, you must
  25344. // specify an ICMP type and code.
  25345. //
  25346. // Protocol is a required field
  25347. Protocol *string `locationName:"protocol" type:"string" required:"true"`
  25348. // Indicates whether to allow or deny the traffic that matches the rule.
  25349. //
  25350. // RuleAction is a required field
  25351. RuleAction *string `locationName:"ruleAction" type:"string" required:"true" enum:"RuleAction"`
  25352. // The rule number for the entry (for example, 100). ACL entries are processed
  25353. // in ascending order by rule number.
  25354. //
  25355. // Constraints: Positive integer from 1 to 32766. The range 32767 to 65535 is
  25356. // reserved for internal use.
  25357. //
  25358. // RuleNumber is a required field
  25359. RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
  25360. }
  25361. // String returns the string representation
  25362. func (s CreateNetworkAclEntryInput) String() string {
  25363. return awsutil.Prettify(s)
  25364. }
  25365. // GoString returns the string representation
  25366. func (s CreateNetworkAclEntryInput) GoString() string {
  25367. return s.String()
  25368. }
  25369. // Validate inspects the fields of the type to determine if they are valid.
  25370. func (s *CreateNetworkAclEntryInput) Validate() error {
  25371. invalidParams := request.ErrInvalidParams{Context: "CreateNetworkAclEntryInput"}
  25372. if s.Egress == nil {
  25373. invalidParams.Add(request.NewErrParamRequired("Egress"))
  25374. }
  25375. if s.NetworkAclId == nil {
  25376. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  25377. }
  25378. if s.Protocol == nil {
  25379. invalidParams.Add(request.NewErrParamRequired("Protocol"))
  25380. }
  25381. if s.RuleAction == nil {
  25382. invalidParams.Add(request.NewErrParamRequired("RuleAction"))
  25383. }
  25384. if s.RuleNumber == nil {
  25385. invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
  25386. }
  25387. if invalidParams.Len() > 0 {
  25388. return invalidParams
  25389. }
  25390. return nil
  25391. }
  25392. // SetCidrBlock sets the CidrBlock field's value.
  25393. func (s *CreateNetworkAclEntryInput) SetCidrBlock(v string) *CreateNetworkAclEntryInput {
  25394. s.CidrBlock = &v
  25395. return s
  25396. }
  25397. // SetDryRun sets the DryRun field's value.
  25398. func (s *CreateNetworkAclEntryInput) SetDryRun(v bool) *CreateNetworkAclEntryInput {
  25399. s.DryRun = &v
  25400. return s
  25401. }
  25402. // SetEgress sets the Egress field's value.
  25403. func (s *CreateNetworkAclEntryInput) SetEgress(v bool) *CreateNetworkAclEntryInput {
  25404. s.Egress = &v
  25405. return s
  25406. }
  25407. // SetIcmpTypeCode sets the IcmpTypeCode field's value.
  25408. func (s *CreateNetworkAclEntryInput) SetIcmpTypeCode(v *IcmpTypeCode) *CreateNetworkAclEntryInput {
  25409. s.IcmpTypeCode = v
  25410. return s
  25411. }
  25412. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  25413. func (s *CreateNetworkAclEntryInput) SetIpv6CidrBlock(v string) *CreateNetworkAclEntryInput {
  25414. s.Ipv6CidrBlock = &v
  25415. return s
  25416. }
  25417. // SetNetworkAclId sets the NetworkAclId field's value.
  25418. func (s *CreateNetworkAclEntryInput) SetNetworkAclId(v string) *CreateNetworkAclEntryInput {
  25419. s.NetworkAclId = &v
  25420. return s
  25421. }
  25422. // SetPortRange sets the PortRange field's value.
  25423. func (s *CreateNetworkAclEntryInput) SetPortRange(v *PortRange) *CreateNetworkAclEntryInput {
  25424. s.PortRange = v
  25425. return s
  25426. }
  25427. // SetProtocol sets the Protocol field's value.
  25428. func (s *CreateNetworkAclEntryInput) SetProtocol(v string) *CreateNetworkAclEntryInput {
  25429. s.Protocol = &v
  25430. return s
  25431. }
  25432. // SetRuleAction sets the RuleAction field's value.
  25433. func (s *CreateNetworkAclEntryInput) SetRuleAction(v string) *CreateNetworkAclEntryInput {
  25434. s.RuleAction = &v
  25435. return s
  25436. }
  25437. // SetRuleNumber sets the RuleNumber field's value.
  25438. func (s *CreateNetworkAclEntryInput) SetRuleNumber(v int64) *CreateNetworkAclEntryInput {
  25439. s.RuleNumber = &v
  25440. return s
  25441. }
  25442. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclEntryOutput
  25443. type CreateNetworkAclEntryOutput struct {
  25444. _ struct{} `type:"structure"`
  25445. }
  25446. // String returns the string representation
  25447. func (s CreateNetworkAclEntryOutput) String() string {
  25448. return awsutil.Prettify(s)
  25449. }
  25450. // GoString returns the string representation
  25451. func (s CreateNetworkAclEntryOutput) GoString() string {
  25452. return s.String()
  25453. }
  25454. // Contains the parameters for CreateNetworkAcl.
  25455. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclRequest
  25456. type CreateNetworkAclInput struct {
  25457. _ struct{} `type:"structure"`
  25458. // Checks whether you have the required permissions for the action, without
  25459. // actually making the request, and provides an error response. If you have
  25460. // the required permissions, the error response is DryRunOperation. Otherwise,
  25461. // it is UnauthorizedOperation.
  25462. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25463. // The ID of the VPC.
  25464. //
  25465. // VpcId is a required field
  25466. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  25467. }
  25468. // String returns the string representation
  25469. func (s CreateNetworkAclInput) String() string {
  25470. return awsutil.Prettify(s)
  25471. }
  25472. // GoString returns the string representation
  25473. func (s CreateNetworkAclInput) GoString() string {
  25474. return s.String()
  25475. }
  25476. // Validate inspects the fields of the type to determine if they are valid.
  25477. func (s *CreateNetworkAclInput) Validate() error {
  25478. invalidParams := request.ErrInvalidParams{Context: "CreateNetworkAclInput"}
  25479. if s.VpcId == nil {
  25480. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  25481. }
  25482. if invalidParams.Len() > 0 {
  25483. return invalidParams
  25484. }
  25485. return nil
  25486. }
  25487. // SetDryRun sets the DryRun field's value.
  25488. func (s *CreateNetworkAclInput) SetDryRun(v bool) *CreateNetworkAclInput {
  25489. s.DryRun = &v
  25490. return s
  25491. }
  25492. // SetVpcId sets the VpcId field's value.
  25493. func (s *CreateNetworkAclInput) SetVpcId(v string) *CreateNetworkAclInput {
  25494. s.VpcId = &v
  25495. return s
  25496. }
  25497. // Contains the output of CreateNetworkAcl.
  25498. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclResult
  25499. type CreateNetworkAclOutput struct {
  25500. _ struct{} `type:"structure"`
  25501. // Information about the network ACL.
  25502. NetworkAcl *NetworkAcl `locationName:"networkAcl" type:"structure"`
  25503. }
  25504. // String returns the string representation
  25505. func (s CreateNetworkAclOutput) String() string {
  25506. return awsutil.Prettify(s)
  25507. }
  25508. // GoString returns the string representation
  25509. func (s CreateNetworkAclOutput) GoString() string {
  25510. return s.String()
  25511. }
  25512. // SetNetworkAcl sets the NetworkAcl field's value.
  25513. func (s *CreateNetworkAclOutput) SetNetworkAcl(v *NetworkAcl) *CreateNetworkAclOutput {
  25514. s.NetworkAcl = v
  25515. return s
  25516. }
  25517. // Contains the parameters for CreateNetworkInterface.
  25518. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfaceRequest
  25519. type CreateNetworkInterfaceInput struct {
  25520. _ struct{} `type:"structure"`
  25521. // A description for the network interface.
  25522. Description *string `locationName:"description" type:"string"`
  25523. // Checks whether you have the required permissions for the action, without
  25524. // actually making the request, and provides an error response. If you have
  25525. // the required permissions, the error response is DryRunOperation. Otherwise,
  25526. // it is UnauthorizedOperation.
  25527. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25528. // The IDs of one or more security groups.
  25529. Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  25530. // The number of IPv6 addresses to assign to a network interface. Amazon EC2
  25531. // automatically selects the IPv6 addresses from the subnet range. You can't
  25532. // use this option if specifying specific IPv6 addresses. If your subnet has
  25533. // the AssignIpv6AddressOnCreation attribute set to true, you can specify 0
  25534. // to override this setting.
  25535. Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
  25536. // One or more specific IPv6 addresses from the IPv6 CIDR block range of your
  25537. // subnet. You can't use this option if you're specifying a number of IPv6 addresses.
  25538. Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6Addresses" locationNameList:"item" type:"list"`
  25539. // The primary private IPv4 address of the network interface. If you don't specify
  25540. // an IPv4 address, Amazon EC2 selects one for you from the subnet's IPv4 CIDR
  25541. // range. If you specify an IP address, you cannot indicate any IP addresses
  25542. // specified in privateIpAddresses as primary (only one IP address can be designated
  25543. // as primary).
  25544. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  25545. // One or more private IPv4 addresses.
  25546. PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddresses" locationNameList:"item" type:"list"`
  25547. // The number of secondary private IPv4 addresses to assign to a network interface.
  25548. // When you specify a number of secondary IPv4 addresses, Amazon EC2 selects
  25549. // these IP addresses within the subnet's IPv4 CIDR range. You can't specify
  25550. // this option and specify more than one private IP address using privateIpAddresses.
  25551. //
  25552. // The number of IP addresses you can assign to a network interface varies by
  25553. // instance type. For more information, see IP Addresses Per ENI Per Instance
  25554. // Type (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI)
  25555. // in the Amazon Virtual Private Cloud User Guide.
  25556. SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
  25557. // The ID of the subnet to associate with the network interface.
  25558. //
  25559. // SubnetId is a required field
  25560. SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
  25561. }
  25562. // String returns the string representation
  25563. func (s CreateNetworkInterfaceInput) String() string {
  25564. return awsutil.Prettify(s)
  25565. }
  25566. // GoString returns the string representation
  25567. func (s CreateNetworkInterfaceInput) GoString() string {
  25568. return s.String()
  25569. }
  25570. // Validate inspects the fields of the type to determine if they are valid.
  25571. func (s *CreateNetworkInterfaceInput) Validate() error {
  25572. invalidParams := request.ErrInvalidParams{Context: "CreateNetworkInterfaceInput"}
  25573. if s.SubnetId == nil {
  25574. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  25575. }
  25576. if s.PrivateIpAddresses != nil {
  25577. for i, v := range s.PrivateIpAddresses {
  25578. if v == nil {
  25579. continue
  25580. }
  25581. if err := v.Validate(); err != nil {
  25582. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PrivateIpAddresses", i), err.(request.ErrInvalidParams))
  25583. }
  25584. }
  25585. }
  25586. if invalidParams.Len() > 0 {
  25587. return invalidParams
  25588. }
  25589. return nil
  25590. }
  25591. // SetDescription sets the Description field's value.
  25592. func (s *CreateNetworkInterfaceInput) SetDescription(v string) *CreateNetworkInterfaceInput {
  25593. s.Description = &v
  25594. return s
  25595. }
  25596. // SetDryRun sets the DryRun field's value.
  25597. func (s *CreateNetworkInterfaceInput) SetDryRun(v bool) *CreateNetworkInterfaceInput {
  25598. s.DryRun = &v
  25599. return s
  25600. }
  25601. // SetGroups sets the Groups field's value.
  25602. func (s *CreateNetworkInterfaceInput) SetGroups(v []*string) *CreateNetworkInterfaceInput {
  25603. s.Groups = v
  25604. return s
  25605. }
  25606. // SetIpv6AddressCount sets the Ipv6AddressCount field's value.
  25607. func (s *CreateNetworkInterfaceInput) SetIpv6AddressCount(v int64) *CreateNetworkInterfaceInput {
  25608. s.Ipv6AddressCount = &v
  25609. return s
  25610. }
  25611. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  25612. func (s *CreateNetworkInterfaceInput) SetIpv6Addresses(v []*InstanceIpv6Address) *CreateNetworkInterfaceInput {
  25613. s.Ipv6Addresses = v
  25614. return s
  25615. }
  25616. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  25617. func (s *CreateNetworkInterfaceInput) SetPrivateIpAddress(v string) *CreateNetworkInterfaceInput {
  25618. s.PrivateIpAddress = &v
  25619. return s
  25620. }
  25621. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  25622. func (s *CreateNetworkInterfaceInput) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *CreateNetworkInterfaceInput {
  25623. s.PrivateIpAddresses = v
  25624. return s
  25625. }
  25626. // SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
  25627. func (s *CreateNetworkInterfaceInput) SetSecondaryPrivateIpAddressCount(v int64) *CreateNetworkInterfaceInput {
  25628. s.SecondaryPrivateIpAddressCount = &v
  25629. return s
  25630. }
  25631. // SetSubnetId sets the SubnetId field's value.
  25632. func (s *CreateNetworkInterfaceInput) SetSubnetId(v string) *CreateNetworkInterfaceInput {
  25633. s.SubnetId = &v
  25634. return s
  25635. }
  25636. // Contains the output of CreateNetworkInterface.
  25637. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfaceResult
  25638. type CreateNetworkInterfaceOutput struct {
  25639. _ struct{} `type:"structure"`
  25640. // Information about the network interface.
  25641. NetworkInterface *NetworkInterface `locationName:"networkInterface" type:"structure"`
  25642. }
  25643. // String returns the string representation
  25644. func (s CreateNetworkInterfaceOutput) String() string {
  25645. return awsutil.Prettify(s)
  25646. }
  25647. // GoString returns the string representation
  25648. func (s CreateNetworkInterfaceOutput) GoString() string {
  25649. return s.String()
  25650. }
  25651. // SetNetworkInterface sets the NetworkInterface field's value.
  25652. func (s *CreateNetworkInterfaceOutput) SetNetworkInterface(v *NetworkInterface) *CreateNetworkInterfaceOutput {
  25653. s.NetworkInterface = v
  25654. return s
  25655. }
  25656. // Contains the parameters for CreateNetworkInterfacePermission.
  25657. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfacePermissionRequest
  25658. type CreateNetworkInterfacePermissionInput struct {
  25659. _ struct{} `type:"structure"`
  25660. // The AWS account ID.
  25661. AwsAccountId *string `type:"string"`
  25662. // The AWS service. Currently not supported.
  25663. AwsService *string `type:"string"`
  25664. // Checks whether you have the required permissions for the action, without
  25665. // actually making the request, and provides an error response. If you have
  25666. // the required permissions, the error response is DryRunOperation. Otherwise,
  25667. // it is UnauthorizedOperation.
  25668. DryRun *bool `type:"boolean"`
  25669. // The ID of the network interface.
  25670. //
  25671. // NetworkInterfaceId is a required field
  25672. NetworkInterfaceId *string `type:"string" required:"true"`
  25673. // The type of permission to grant.
  25674. //
  25675. // Permission is a required field
  25676. Permission *string `type:"string" required:"true" enum:"InterfacePermissionType"`
  25677. }
  25678. // String returns the string representation
  25679. func (s CreateNetworkInterfacePermissionInput) String() string {
  25680. return awsutil.Prettify(s)
  25681. }
  25682. // GoString returns the string representation
  25683. func (s CreateNetworkInterfacePermissionInput) GoString() string {
  25684. return s.String()
  25685. }
  25686. // Validate inspects the fields of the type to determine if they are valid.
  25687. func (s *CreateNetworkInterfacePermissionInput) Validate() error {
  25688. invalidParams := request.ErrInvalidParams{Context: "CreateNetworkInterfacePermissionInput"}
  25689. if s.NetworkInterfaceId == nil {
  25690. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  25691. }
  25692. if s.Permission == nil {
  25693. invalidParams.Add(request.NewErrParamRequired("Permission"))
  25694. }
  25695. if invalidParams.Len() > 0 {
  25696. return invalidParams
  25697. }
  25698. return nil
  25699. }
  25700. // SetAwsAccountId sets the AwsAccountId field's value.
  25701. func (s *CreateNetworkInterfacePermissionInput) SetAwsAccountId(v string) *CreateNetworkInterfacePermissionInput {
  25702. s.AwsAccountId = &v
  25703. return s
  25704. }
  25705. // SetAwsService sets the AwsService field's value.
  25706. func (s *CreateNetworkInterfacePermissionInput) SetAwsService(v string) *CreateNetworkInterfacePermissionInput {
  25707. s.AwsService = &v
  25708. return s
  25709. }
  25710. // SetDryRun sets the DryRun field's value.
  25711. func (s *CreateNetworkInterfacePermissionInput) SetDryRun(v bool) *CreateNetworkInterfacePermissionInput {
  25712. s.DryRun = &v
  25713. return s
  25714. }
  25715. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  25716. func (s *CreateNetworkInterfacePermissionInput) SetNetworkInterfaceId(v string) *CreateNetworkInterfacePermissionInput {
  25717. s.NetworkInterfaceId = &v
  25718. return s
  25719. }
  25720. // SetPermission sets the Permission field's value.
  25721. func (s *CreateNetworkInterfacePermissionInput) SetPermission(v string) *CreateNetworkInterfacePermissionInput {
  25722. s.Permission = &v
  25723. return s
  25724. }
  25725. // Contains the output of CreateNetworkInterfacePermission.
  25726. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfacePermissionResult
  25727. type CreateNetworkInterfacePermissionOutput struct {
  25728. _ struct{} `type:"structure"`
  25729. // Information about the permission for the network interface.
  25730. InterfacePermission *NetworkInterfacePermission `locationName:"interfacePermission" type:"structure"`
  25731. }
  25732. // String returns the string representation
  25733. func (s CreateNetworkInterfacePermissionOutput) String() string {
  25734. return awsutil.Prettify(s)
  25735. }
  25736. // GoString returns the string representation
  25737. func (s CreateNetworkInterfacePermissionOutput) GoString() string {
  25738. return s.String()
  25739. }
  25740. // SetInterfacePermission sets the InterfacePermission field's value.
  25741. func (s *CreateNetworkInterfacePermissionOutput) SetInterfacePermission(v *NetworkInterfacePermission) *CreateNetworkInterfacePermissionOutput {
  25742. s.InterfacePermission = v
  25743. return s
  25744. }
  25745. // Contains the parameters for CreatePlacementGroup.
  25746. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreatePlacementGroupRequest
  25747. type CreatePlacementGroupInput struct {
  25748. _ struct{} `type:"structure"`
  25749. // Checks whether you have the required permissions for the action, without
  25750. // actually making the request, and provides an error response. If you have
  25751. // the required permissions, the error response is DryRunOperation. Otherwise,
  25752. // it is UnauthorizedOperation.
  25753. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25754. // A name for the placement group. Must be unique within the scope of your account
  25755. // for the region.
  25756. //
  25757. // Constraints: Up to 255 ASCII characters
  25758. //
  25759. // GroupName is a required field
  25760. GroupName *string `locationName:"groupName" type:"string" required:"true"`
  25761. // The placement strategy.
  25762. //
  25763. // Strategy is a required field
  25764. Strategy *string `locationName:"strategy" type:"string" required:"true" enum:"PlacementStrategy"`
  25765. }
  25766. // String returns the string representation
  25767. func (s CreatePlacementGroupInput) String() string {
  25768. return awsutil.Prettify(s)
  25769. }
  25770. // GoString returns the string representation
  25771. func (s CreatePlacementGroupInput) GoString() string {
  25772. return s.String()
  25773. }
  25774. // Validate inspects the fields of the type to determine if they are valid.
  25775. func (s *CreatePlacementGroupInput) Validate() error {
  25776. invalidParams := request.ErrInvalidParams{Context: "CreatePlacementGroupInput"}
  25777. if s.GroupName == nil {
  25778. invalidParams.Add(request.NewErrParamRequired("GroupName"))
  25779. }
  25780. if s.Strategy == nil {
  25781. invalidParams.Add(request.NewErrParamRequired("Strategy"))
  25782. }
  25783. if invalidParams.Len() > 0 {
  25784. return invalidParams
  25785. }
  25786. return nil
  25787. }
  25788. // SetDryRun sets the DryRun field's value.
  25789. func (s *CreatePlacementGroupInput) SetDryRun(v bool) *CreatePlacementGroupInput {
  25790. s.DryRun = &v
  25791. return s
  25792. }
  25793. // SetGroupName sets the GroupName field's value.
  25794. func (s *CreatePlacementGroupInput) SetGroupName(v string) *CreatePlacementGroupInput {
  25795. s.GroupName = &v
  25796. return s
  25797. }
  25798. // SetStrategy sets the Strategy field's value.
  25799. func (s *CreatePlacementGroupInput) SetStrategy(v string) *CreatePlacementGroupInput {
  25800. s.Strategy = &v
  25801. return s
  25802. }
  25803. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreatePlacementGroupOutput
  25804. type CreatePlacementGroupOutput struct {
  25805. _ struct{} `type:"structure"`
  25806. }
  25807. // String returns the string representation
  25808. func (s CreatePlacementGroupOutput) String() string {
  25809. return awsutil.Prettify(s)
  25810. }
  25811. // GoString returns the string representation
  25812. func (s CreatePlacementGroupOutput) GoString() string {
  25813. return s.String()
  25814. }
  25815. // Contains the parameters for CreateReservedInstancesListing.
  25816. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateReservedInstancesListingRequest
  25817. type CreateReservedInstancesListingInput struct {
  25818. _ struct{} `type:"structure"`
  25819. // Unique, case-sensitive identifier you provide to ensure idempotency of your
  25820. // listings. This helps avoid duplicate listings. For more information, see
  25821. // Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  25822. //
  25823. // ClientToken is a required field
  25824. ClientToken *string `locationName:"clientToken" type:"string" required:"true"`
  25825. // The number of instances that are a part of a Reserved Instance account to
  25826. // be listed in the Reserved Instance Marketplace. This number should be less
  25827. // than or equal to the instance count associated with the Reserved Instance
  25828. // ID specified in this call.
  25829. //
  25830. // InstanceCount is a required field
  25831. InstanceCount *int64 `locationName:"instanceCount" type:"integer" required:"true"`
  25832. // A list specifying the price of the Standard Reserved Instance for each month
  25833. // remaining in the Reserved Instance term.
  25834. //
  25835. // PriceSchedules is a required field
  25836. PriceSchedules []*PriceScheduleSpecification `locationName:"priceSchedules" locationNameList:"item" type:"list" required:"true"`
  25837. // The ID of the active Standard Reserved Instance.
  25838. //
  25839. // ReservedInstancesId is a required field
  25840. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string" required:"true"`
  25841. }
  25842. // String returns the string representation
  25843. func (s CreateReservedInstancesListingInput) String() string {
  25844. return awsutil.Prettify(s)
  25845. }
  25846. // GoString returns the string representation
  25847. func (s CreateReservedInstancesListingInput) GoString() string {
  25848. return s.String()
  25849. }
  25850. // Validate inspects the fields of the type to determine if they are valid.
  25851. func (s *CreateReservedInstancesListingInput) Validate() error {
  25852. invalidParams := request.ErrInvalidParams{Context: "CreateReservedInstancesListingInput"}
  25853. if s.ClientToken == nil {
  25854. invalidParams.Add(request.NewErrParamRequired("ClientToken"))
  25855. }
  25856. if s.InstanceCount == nil {
  25857. invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
  25858. }
  25859. if s.PriceSchedules == nil {
  25860. invalidParams.Add(request.NewErrParamRequired("PriceSchedules"))
  25861. }
  25862. if s.ReservedInstancesId == nil {
  25863. invalidParams.Add(request.NewErrParamRequired("ReservedInstancesId"))
  25864. }
  25865. if invalidParams.Len() > 0 {
  25866. return invalidParams
  25867. }
  25868. return nil
  25869. }
  25870. // SetClientToken sets the ClientToken field's value.
  25871. func (s *CreateReservedInstancesListingInput) SetClientToken(v string) *CreateReservedInstancesListingInput {
  25872. s.ClientToken = &v
  25873. return s
  25874. }
  25875. // SetInstanceCount sets the InstanceCount field's value.
  25876. func (s *CreateReservedInstancesListingInput) SetInstanceCount(v int64) *CreateReservedInstancesListingInput {
  25877. s.InstanceCount = &v
  25878. return s
  25879. }
  25880. // SetPriceSchedules sets the PriceSchedules field's value.
  25881. func (s *CreateReservedInstancesListingInput) SetPriceSchedules(v []*PriceScheduleSpecification) *CreateReservedInstancesListingInput {
  25882. s.PriceSchedules = v
  25883. return s
  25884. }
  25885. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  25886. func (s *CreateReservedInstancesListingInput) SetReservedInstancesId(v string) *CreateReservedInstancesListingInput {
  25887. s.ReservedInstancesId = &v
  25888. return s
  25889. }
  25890. // Contains the output of CreateReservedInstancesListing.
  25891. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateReservedInstancesListingResult
  25892. type CreateReservedInstancesListingOutput struct {
  25893. _ struct{} `type:"structure"`
  25894. // Information about the Standard Reserved Instance listing.
  25895. ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
  25896. }
  25897. // String returns the string representation
  25898. func (s CreateReservedInstancesListingOutput) String() string {
  25899. return awsutil.Prettify(s)
  25900. }
  25901. // GoString returns the string representation
  25902. func (s CreateReservedInstancesListingOutput) GoString() string {
  25903. return s.String()
  25904. }
  25905. // SetReservedInstancesListings sets the ReservedInstancesListings field's value.
  25906. func (s *CreateReservedInstancesListingOutput) SetReservedInstancesListings(v []*ReservedInstancesListing) *CreateReservedInstancesListingOutput {
  25907. s.ReservedInstancesListings = v
  25908. return s
  25909. }
  25910. // Contains the parameters for CreateRoute.
  25911. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteRequest
  25912. type CreateRouteInput struct {
  25913. _ struct{} `type:"structure"`
  25914. // The IPv4 CIDR address block used for the destination match. Routing decisions
  25915. // are based on the most specific match.
  25916. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  25917. // The IPv6 CIDR block used for the destination match. Routing decisions are
  25918. // based on the most specific match.
  25919. DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
  25920. // Checks whether you have the required permissions for the action, without
  25921. // actually making the request, and provides an error response. If you have
  25922. // the required permissions, the error response is DryRunOperation. Otherwise,
  25923. // it is UnauthorizedOperation.
  25924. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25925. // [IPv6 traffic only] The ID of an egress-only Internet gateway.
  25926. EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
  25927. // The ID of an Internet gateway or virtual private gateway attached to your
  25928. // VPC.
  25929. GatewayId *string `locationName:"gatewayId" type:"string"`
  25930. // The ID of a NAT instance in your VPC. The operation fails if you specify
  25931. // an instance ID unless exactly one network interface is attached.
  25932. InstanceId *string `locationName:"instanceId" type:"string"`
  25933. // [IPv4 traffic only] The ID of a NAT gateway.
  25934. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  25935. // The ID of a network interface.
  25936. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  25937. // The ID of the route table for the route.
  25938. //
  25939. // RouteTableId is a required field
  25940. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  25941. // The ID of a VPC peering connection.
  25942. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  25943. }
  25944. // String returns the string representation
  25945. func (s CreateRouteInput) String() string {
  25946. return awsutil.Prettify(s)
  25947. }
  25948. // GoString returns the string representation
  25949. func (s CreateRouteInput) GoString() string {
  25950. return s.String()
  25951. }
  25952. // Validate inspects the fields of the type to determine if they are valid.
  25953. func (s *CreateRouteInput) Validate() error {
  25954. invalidParams := request.ErrInvalidParams{Context: "CreateRouteInput"}
  25955. if s.RouteTableId == nil {
  25956. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  25957. }
  25958. if invalidParams.Len() > 0 {
  25959. return invalidParams
  25960. }
  25961. return nil
  25962. }
  25963. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  25964. func (s *CreateRouteInput) SetDestinationCidrBlock(v string) *CreateRouteInput {
  25965. s.DestinationCidrBlock = &v
  25966. return s
  25967. }
  25968. // SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
  25969. func (s *CreateRouteInput) SetDestinationIpv6CidrBlock(v string) *CreateRouteInput {
  25970. s.DestinationIpv6CidrBlock = &v
  25971. return s
  25972. }
  25973. // SetDryRun sets the DryRun field's value.
  25974. func (s *CreateRouteInput) SetDryRun(v bool) *CreateRouteInput {
  25975. s.DryRun = &v
  25976. return s
  25977. }
  25978. // SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
  25979. func (s *CreateRouteInput) SetEgressOnlyInternetGatewayId(v string) *CreateRouteInput {
  25980. s.EgressOnlyInternetGatewayId = &v
  25981. return s
  25982. }
  25983. // SetGatewayId sets the GatewayId field's value.
  25984. func (s *CreateRouteInput) SetGatewayId(v string) *CreateRouteInput {
  25985. s.GatewayId = &v
  25986. return s
  25987. }
  25988. // SetInstanceId sets the InstanceId field's value.
  25989. func (s *CreateRouteInput) SetInstanceId(v string) *CreateRouteInput {
  25990. s.InstanceId = &v
  25991. return s
  25992. }
  25993. // SetNatGatewayId sets the NatGatewayId field's value.
  25994. func (s *CreateRouteInput) SetNatGatewayId(v string) *CreateRouteInput {
  25995. s.NatGatewayId = &v
  25996. return s
  25997. }
  25998. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  25999. func (s *CreateRouteInput) SetNetworkInterfaceId(v string) *CreateRouteInput {
  26000. s.NetworkInterfaceId = &v
  26001. return s
  26002. }
  26003. // SetRouteTableId sets the RouteTableId field's value.
  26004. func (s *CreateRouteInput) SetRouteTableId(v string) *CreateRouteInput {
  26005. s.RouteTableId = &v
  26006. return s
  26007. }
  26008. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  26009. func (s *CreateRouteInput) SetVpcPeeringConnectionId(v string) *CreateRouteInput {
  26010. s.VpcPeeringConnectionId = &v
  26011. return s
  26012. }
  26013. // Contains the output of CreateRoute.
  26014. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteResult
  26015. type CreateRouteOutput struct {
  26016. _ struct{} `type:"structure"`
  26017. // Returns true if the request succeeds; otherwise, it returns an error.
  26018. Return *bool `locationName:"return" type:"boolean"`
  26019. }
  26020. // String returns the string representation
  26021. func (s CreateRouteOutput) String() string {
  26022. return awsutil.Prettify(s)
  26023. }
  26024. // GoString returns the string representation
  26025. func (s CreateRouteOutput) GoString() string {
  26026. return s.String()
  26027. }
  26028. // SetReturn sets the Return field's value.
  26029. func (s *CreateRouteOutput) SetReturn(v bool) *CreateRouteOutput {
  26030. s.Return = &v
  26031. return s
  26032. }
  26033. // Contains the parameters for CreateRouteTable.
  26034. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteTableRequest
  26035. type CreateRouteTableInput struct {
  26036. _ struct{} `type:"structure"`
  26037. // Checks whether you have the required permissions for the action, without
  26038. // actually making the request, and provides an error response. If you have
  26039. // the required permissions, the error response is DryRunOperation. Otherwise,
  26040. // it is UnauthorizedOperation.
  26041. DryRun *bool `locationName:"dryRun" type:"boolean"`
  26042. // The ID of the VPC.
  26043. //
  26044. // VpcId is a required field
  26045. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  26046. }
  26047. // String returns the string representation
  26048. func (s CreateRouteTableInput) String() string {
  26049. return awsutil.Prettify(s)
  26050. }
  26051. // GoString returns the string representation
  26052. func (s CreateRouteTableInput) GoString() string {
  26053. return s.String()
  26054. }
  26055. // Validate inspects the fields of the type to determine if they are valid.
  26056. func (s *CreateRouteTableInput) Validate() error {
  26057. invalidParams := request.ErrInvalidParams{Context: "CreateRouteTableInput"}
  26058. if s.VpcId == nil {
  26059. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  26060. }
  26061. if invalidParams.Len() > 0 {
  26062. return invalidParams
  26063. }
  26064. return nil
  26065. }
  26066. // SetDryRun sets the DryRun field's value.
  26067. func (s *CreateRouteTableInput) SetDryRun(v bool) *CreateRouteTableInput {
  26068. s.DryRun = &v
  26069. return s
  26070. }
  26071. // SetVpcId sets the VpcId field's value.
  26072. func (s *CreateRouteTableInput) SetVpcId(v string) *CreateRouteTableInput {
  26073. s.VpcId = &v
  26074. return s
  26075. }
  26076. // Contains the output of CreateRouteTable.
  26077. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteTableResult
  26078. type CreateRouteTableOutput struct {
  26079. _ struct{} `type:"structure"`
  26080. // Information about the route table.
  26081. RouteTable *RouteTable `locationName:"routeTable" type:"structure"`
  26082. }
  26083. // String returns the string representation
  26084. func (s CreateRouteTableOutput) String() string {
  26085. return awsutil.Prettify(s)
  26086. }
  26087. // GoString returns the string representation
  26088. func (s CreateRouteTableOutput) GoString() string {
  26089. return s.String()
  26090. }
  26091. // SetRouteTable sets the RouteTable field's value.
  26092. func (s *CreateRouteTableOutput) SetRouteTable(v *RouteTable) *CreateRouteTableOutput {
  26093. s.RouteTable = v
  26094. return s
  26095. }
  26096. // Contains the parameters for CreateSecurityGroup.
  26097. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSecurityGroupRequest
  26098. type CreateSecurityGroupInput struct {
  26099. _ struct{} `type:"structure"`
  26100. // A description for the security group. This is informational only.
  26101. //
  26102. // Constraints: Up to 255 characters in length
  26103. //
  26104. // Constraints for EC2-Classic: ASCII characters
  26105. //
  26106. // Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
  26107. //
  26108. // Description is a required field
  26109. Description *string `locationName:"GroupDescription" type:"string" required:"true"`
  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 name of the security group.
  26116. //
  26117. // Constraints: Up to 255 characters in length
  26118. //
  26119. // Constraints for EC2-Classic: ASCII characters
  26120. //
  26121. // Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
  26122. //
  26123. // GroupName is a required field
  26124. GroupName *string `type:"string" required:"true"`
  26125. // [EC2-VPC] The ID of the VPC. Required for EC2-VPC.
  26126. VpcId *string `type:"string"`
  26127. }
  26128. // String returns the string representation
  26129. func (s CreateSecurityGroupInput) String() string {
  26130. return awsutil.Prettify(s)
  26131. }
  26132. // GoString returns the string representation
  26133. func (s CreateSecurityGroupInput) GoString() string {
  26134. return s.String()
  26135. }
  26136. // Validate inspects the fields of the type to determine if they are valid.
  26137. func (s *CreateSecurityGroupInput) Validate() error {
  26138. invalidParams := request.ErrInvalidParams{Context: "CreateSecurityGroupInput"}
  26139. if s.Description == nil {
  26140. invalidParams.Add(request.NewErrParamRequired("Description"))
  26141. }
  26142. if s.GroupName == nil {
  26143. invalidParams.Add(request.NewErrParamRequired("GroupName"))
  26144. }
  26145. if invalidParams.Len() > 0 {
  26146. return invalidParams
  26147. }
  26148. return nil
  26149. }
  26150. // SetDescription sets the Description field's value.
  26151. func (s *CreateSecurityGroupInput) SetDescription(v string) *CreateSecurityGroupInput {
  26152. s.Description = &v
  26153. return s
  26154. }
  26155. // SetDryRun sets the DryRun field's value.
  26156. func (s *CreateSecurityGroupInput) SetDryRun(v bool) *CreateSecurityGroupInput {
  26157. s.DryRun = &v
  26158. return s
  26159. }
  26160. // SetGroupName sets the GroupName field's value.
  26161. func (s *CreateSecurityGroupInput) SetGroupName(v string) *CreateSecurityGroupInput {
  26162. s.GroupName = &v
  26163. return s
  26164. }
  26165. // SetVpcId sets the VpcId field's value.
  26166. func (s *CreateSecurityGroupInput) SetVpcId(v string) *CreateSecurityGroupInput {
  26167. s.VpcId = &v
  26168. return s
  26169. }
  26170. // Contains the output of CreateSecurityGroup.
  26171. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSecurityGroupResult
  26172. type CreateSecurityGroupOutput struct {
  26173. _ struct{} `type:"structure"`
  26174. // The ID of the security group.
  26175. GroupId *string `locationName:"groupId" type:"string"`
  26176. }
  26177. // String returns the string representation
  26178. func (s CreateSecurityGroupOutput) String() string {
  26179. return awsutil.Prettify(s)
  26180. }
  26181. // GoString returns the string representation
  26182. func (s CreateSecurityGroupOutput) GoString() string {
  26183. return s.String()
  26184. }
  26185. // SetGroupId sets the GroupId field's value.
  26186. func (s *CreateSecurityGroupOutput) SetGroupId(v string) *CreateSecurityGroupOutput {
  26187. s.GroupId = &v
  26188. return s
  26189. }
  26190. // Contains the parameters for CreateSnapshot.
  26191. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshotRequest
  26192. type CreateSnapshotInput struct {
  26193. _ struct{} `type:"structure"`
  26194. // A description for the snapshot.
  26195. Description *string `type:"string"`
  26196. // Checks whether you have the required permissions for the action, without
  26197. // actually making the request, and provides an error response. If you have
  26198. // the required permissions, the error response is DryRunOperation. Otherwise,
  26199. // it is UnauthorizedOperation.
  26200. DryRun *bool `locationName:"dryRun" type:"boolean"`
  26201. // The ID of the EBS volume.
  26202. //
  26203. // VolumeId is a required field
  26204. VolumeId *string `type:"string" required:"true"`
  26205. }
  26206. // String returns the string representation
  26207. func (s CreateSnapshotInput) String() string {
  26208. return awsutil.Prettify(s)
  26209. }
  26210. // GoString returns the string representation
  26211. func (s CreateSnapshotInput) GoString() string {
  26212. return s.String()
  26213. }
  26214. // Validate inspects the fields of the type to determine if they are valid.
  26215. func (s *CreateSnapshotInput) Validate() error {
  26216. invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotInput"}
  26217. if s.VolumeId == nil {
  26218. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  26219. }
  26220. if invalidParams.Len() > 0 {
  26221. return invalidParams
  26222. }
  26223. return nil
  26224. }
  26225. // SetDescription sets the Description field's value.
  26226. func (s *CreateSnapshotInput) SetDescription(v string) *CreateSnapshotInput {
  26227. s.Description = &v
  26228. return s
  26229. }
  26230. // SetDryRun sets the DryRun field's value.
  26231. func (s *CreateSnapshotInput) SetDryRun(v bool) *CreateSnapshotInput {
  26232. s.DryRun = &v
  26233. return s
  26234. }
  26235. // SetVolumeId sets the VolumeId field's value.
  26236. func (s *CreateSnapshotInput) SetVolumeId(v string) *CreateSnapshotInput {
  26237. s.VolumeId = &v
  26238. return s
  26239. }
  26240. // Contains the parameters for CreateSpotDatafeedSubscription.
  26241. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSpotDatafeedSubscriptionRequest
  26242. type CreateSpotDatafeedSubscriptionInput struct {
  26243. _ struct{} `type:"structure"`
  26244. // The Amazon S3 bucket in which to store the Spot Instance data feed.
  26245. //
  26246. // Bucket is a required field
  26247. Bucket *string `locationName:"bucket" type:"string" required:"true"`
  26248. // Checks whether you have the required permissions for the action, without
  26249. // actually making the request, and provides an error response. If you have
  26250. // the required permissions, the error response is DryRunOperation. Otherwise,
  26251. // it is UnauthorizedOperation.
  26252. DryRun *bool `locationName:"dryRun" type:"boolean"`
  26253. // A prefix for the data feed file names.
  26254. Prefix *string `locationName:"prefix" type:"string"`
  26255. }
  26256. // String returns the string representation
  26257. func (s CreateSpotDatafeedSubscriptionInput) String() string {
  26258. return awsutil.Prettify(s)
  26259. }
  26260. // GoString returns the string representation
  26261. func (s CreateSpotDatafeedSubscriptionInput) GoString() string {
  26262. return s.String()
  26263. }
  26264. // Validate inspects the fields of the type to determine if they are valid.
  26265. func (s *CreateSpotDatafeedSubscriptionInput) Validate() error {
  26266. invalidParams := request.ErrInvalidParams{Context: "CreateSpotDatafeedSubscriptionInput"}
  26267. if s.Bucket == nil {
  26268. invalidParams.Add(request.NewErrParamRequired("Bucket"))
  26269. }
  26270. if invalidParams.Len() > 0 {
  26271. return invalidParams
  26272. }
  26273. return nil
  26274. }
  26275. // SetBucket sets the Bucket field's value.
  26276. func (s *CreateSpotDatafeedSubscriptionInput) SetBucket(v string) *CreateSpotDatafeedSubscriptionInput {
  26277. s.Bucket = &v
  26278. return s
  26279. }
  26280. // SetDryRun sets the DryRun field's value.
  26281. func (s *CreateSpotDatafeedSubscriptionInput) SetDryRun(v bool) *CreateSpotDatafeedSubscriptionInput {
  26282. s.DryRun = &v
  26283. return s
  26284. }
  26285. // SetPrefix sets the Prefix field's value.
  26286. func (s *CreateSpotDatafeedSubscriptionInput) SetPrefix(v string) *CreateSpotDatafeedSubscriptionInput {
  26287. s.Prefix = &v
  26288. return s
  26289. }
  26290. // Contains the output of CreateSpotDatafeedSubscription.
  26291. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSpotDatafeedSubscriptionResult
  26292. type CreateSpotDatafeedSubscriptionOutput struct {
  26293. _ struct{} `type:"structure"`
  26294. // The Spot Instance data feed subscription.
  26295. SpotDatafeedSubscription *SpotDatafeedSubscription `locationName:"spotDatafeedSubscription" type:"structure"`
  26296. }
  26297. // String returns the string representation
  26298. func (s CreateSpotDatafeedSubscriptionOutput) String() string {
  26299. return awsutil.Prettify(s)
  26300. }
  26301. // GoString returns the string representation
  26302. func (s CreateSpotDatafeedSubscriptionOutput) GoString() string {
  26303. return s.String()
  26304. }
  26305. // SetSpotDatafeedSubscription sets the SpotDatafeedSubscription field's value.
  26306. func (s *CreateSpotDatafeedSubscriptionOutput) SetSpotDatafeedSubscription(v *SpotDatafeedSubscription) *CreateSpotDatafeedSubscriptionOutput {
  26307. s.SpotDatafeedSubscription = v
  26308. return s
  26309. }
  26310. // Contains the parameters for CreateSubnet.
  26311. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSubnetRequest
  26312. type CreateSubnetInput struct {
  26313. _ struct{} `type:"structure"`
  26314. // The Availability Zone for the subnet.
  26315. //
  26316. // Default: AWS selects one for you. If you create more than one subnet in your
  26317. // VPC, we may not necessarily select a different zone for each subnet.
  26318. AvailabilityZone *string `type:"string"`
  26319. // The IPv4 network range for the subnet, in CIDR notation. For example, 10.0.0.0/24.
  26320. //
  26321. // CidrBlock is a required field
  26322. CidrBlock *string `type:"string" required:"true"`
  26323. // Checks whether you have the required permissions for the action, without
  26324. // actually making the request, and provides an error response. If you have
  26325. // the required permissions, the error response is DryRunOperation. Otherwise,
  26326. // it is UnauthorizedOperation.
  26327. DryRun *bool `locationName:"dryRun" type:"boolean"`
  26328. // The IPv6 network range for the subnet, in CIDR notation. The subnet size
  26329. // must use a /64 prefix length.
  26330. Ipv6CidrBlock *string `type:"string"`
  26331. // The ID of the VPC.
  26332. //
  26333. // VpcId is a required field
  26334. VpcId *string `type:"string" required:"true"`
  26335. }
  26336. // String returns the string representation
  26337. func (s CreateSubnetInput) String() string {
  26338. return awsutil.Prettify(s)
  26339. }
  26340. // GoString returns the string representation
  26341. func (s CreateSubnetInput) GoString() string {
  26342. return s.String()
  26343. }
  26344. // Validate inspects the fields of the type to determine if they are valid.
  26345. func (s *CreateSubnetInput) Validate() error {
  26346. invalidParams := request.ErrInvalidParams{Context: "CreateSubnetInput"}
  26347. if s.CidrBlock == nil {
  26348. invalidParams.Add(request.NewErrParamRequired("CidrBlock"))
  26349. }
  26350. if s.VpcId == nil {
  26351. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  26352. }
  26353. if invalidParams.Len() > 0 {
  26354. return invalidParams
  26355. }
  26356. return nil
  26357. }
  26358. // SetAvailabilityZone sets the AvailabilityZone field's value.
  26359. func (s *CreateSubnetInput) SetAvailabilityZone(v string) *CreateSubnetInput {
  26360. s.AvailabilityZone = &v
  26361. return s
  26362. }
  26363. // SetCidrBlock sets the CidrBlock field's value.
  26364. func (s *CreateSubnetInput) SetCidrBlock(v string) *CreateSubnetInput {
  26365. s.CidrBlock = &v
  26366. return s
  26367. }
  26368. // SetDryRun sets the DryRun field's value.
  26369. func (s *CreateSubnetInput) SetDryRun(v bool) *CreateSubnetInput {
  26370. s.DryRun = &v
  26371. return s
  26372. }
  26373. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  26374. func (s *CreateSubnetInput) SetIpv6CidrBlock(v string) *CreateSubnetInput {
  26375. s.Ipv6CidrBlock = &v
  26376. return s
  26377. }
  26378. // SetVpcId sets the VpcId field's value.
  26379. func (s *CreateSubnetInput) SetVpcId(v string) *CreateSubnetInput {
  26380. s.VpcId = &v
  26381. return s
  26382. }
  26383. // Contains the output of CreateSubnet.
  26384. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSubnetResult
  26385. type CreateSubnetOutput struct {
  26386. _ struct{} `type:"structure"`
  26387. // Information about the subnet.
  26388. Subnet *Subnet `locationName:"subnet" type:"structure"`
  26389. }
  26390. // String returns the string representation
  26391. func (s CreateSubnetOutput) String() string {
  26392. return awsutil.Prettify(s)
  26393. }
  26394. // GoString returns the string representation
  26395. func (s CreateSubnetOutput) GoString() string {
  26396. return s.String()
  26397. }
  26398. // SetSubnet sets the Subnet field's value.
  26399. func (s *CreateSubnetOutput) SetSubnet(v *Subnet) *CreateSubnetOutput {
  26400. s.Subnet = v
  26401. return s
  26402. }
  26403. // Contains the parameters for CreateTags.
  26404. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTagsRequest
  26405. type CreateTagsInput struct {
  26406. _ struct{} `type:"structure"`
  26407. // Checks whether you have the required permissions for the action, without
  26408. // actually making the request, and provides an error response. If you have
  26409. // the required permissions, the error response is DryRunOperation. Otherwise,
  26410. // it is UnauthorizedOperation.
  26411. DryRun *bool `locationName:"dryRun" type:"boolean"`
  26412. // The IDs of one or more resources to tag. For example, ami-1a2b3c4d.
  26413. //
  26414. // Resources is a required field
  26415. Resources []*string `locationName:"ResourceId" type:"list" required:"true"`
  26416. // One or more tags. The value parameter is required, but if you don't want
  26417. // the tag to have a value, specify the parameter with no value, and we set
  26418. // the value to an empty string.
  26419. //
  26420. // Tags is a required field
  26421. Tags []*Tag `locationName:"Tag" locationNameList:"item" type:"list" required:"true"`
  26422. }
  26423. // String returns the string representation
  26424. func (s CreateTagsInput) String() string {
  26425. return awsutil.Prettify(s)
  26426. }
  26427. // GoString returns the string representation
  26428. func (s CreateTagsInput) GoString() string {
  26429. return s.String()
  26430. }
  26431. // Validate inspects the fields of the type to determine if they are valid.
  26432. func (s *CreateTagsInput) Validate() error {
  26433. invalidParams := request.ErrInvalidParams{Context: "CreateTagsInput"}
  26434. if s.Resources == nil {
  26435. invalidParams.Add(request.NewErrParamRequired("Resources"))
  26436. }
  26437. if s.Tags == nil {
  26438. invalidParams.Add(request.NewErrParamRequired("Tags"))
  26439. }
  26440. if invalidParams.Len() > 0 {
  26441. return invalidParams
  26442. }
  26443. return nil
  26444. }
  26445. // SetDryRun sets the DryRun field's value.
  26446. func (s *CreateTagsInput) SetDryRun(v bool) *CreateTagsInput {
  26447. s.DryRun = &v
  26448. return s
  26449. }
  26450. // SetResources sets the Resources field's value.
  26451. func (s *CreateTagsInput) SetResources(v []*string) *CreateTagsInput {
  26452. s.Resources = v
  26453. return s
  26454. }
  26455. // SetTags sets the Tags field's value.
  26456. func (s *CreateTagsInput) SetTags(v []*Tag) *CreateTagsInput {
  26457. s.Tags = v
  26458. return s
  26459. }
  26460. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTagsOutput
  26461. type CreateTagsOutput struct {
  26462. _ struct{} `type:"structure"`
  26463. }
  26464. // String returns the string representation
  26465. func (s CreateTagsOutput) String() string {
  26466. return awsutil.Prettify(s)
  26467. }
  26468. // GoString returns the string representation
  26469. func (s CreateTagsOutput) GoString() string {
  26470. return s.String()
  26471. }
  26472. // Contains the parameters for CreateVolume.
  26473. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVolumeRequest
  26474. type CreateVolumeInput struct {
  26475. _ struct{} `type:"structure"`
  26476. // The Availability Zone in which to create the volume. Use DescribeAvailabilityZones
  26477. // to list the Availability Zones that are currently available to you.
  26478. //
  26479. // AvailabilityZone is a required field
  26480. AvailabilityZone *string `type:"string" required:"true"`
  26481. // Checks whether you have the required permissions for the action, without
  26482. // actually making the request, and provides an error response. If you have
  26483. // the required permissions, the error response is DryRunOperation. Otherwise,
  26484. // it is UnauthorizedOperation.
  26485. DryRun *bool `locationName:"dryRun" type:"boolean"`
  26486. // Specifies whether the volume should be encrypted. Encrypted Amazon EBS volumes
  26487. // may only be attached to instances that support Amazon EBS encryption. Volumes
  26488. // that are created from encrypted snapshots are automatically encrypted. There
  26489. // is no way to create an encrypted volume from an unencrypted snapshot or vice
  26490. // versa. If your AMI uses encrypted volumes, you can only launch it on supported
  26491. // instance types. For more information, see Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  26492. // in the Amazon Elastic Compute Cloud User Guide.
  26493. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  26494. // Only valid for Provisioned IOPS SSD volumes. The number of I/O operations
  26495. // per second (IOPS) to provision for the volume, with a maximum ratio of 50
  26496. // IOPS/GiB.
  26497. //
  26498. // Constraint: Range is 100 to 20000 for Provisioned IOPS SSD volumes
  26499. Iops *int64 `type:"integer"`
  26500. // The full ARN of the AWS Key Management Service (AWS KMS) customer master
  26501. // key (CMK) to use when creating the encrypted volume. This parameter is only
  26502. // required if you want to use a non-default CMK; if this parameter is not specified,
  26503. // the default CMK for EBS is used. The ARN contains the arn:aws:kms namespace,
  26504. // followed by the region of the CMK, the AWS account ID of the CMK owner, the
  26505. // key namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
  26506. // If a KmsKeyId is specified, the Encrypted flag must also be set.
  26507. KmsKeyId *string `type:"string"`
  26508. // The size of the volume, in GiBs.
  26509. //
  26510. // Constraints: 1-16384 for gp2, 4-16384 for io1, 500-16384 for st1, 500-16384
  26511. // for sc1, and 1-1024 for standard. If you specify a snapshot, the volume size
  26512. // must be equal to or larger than the snapshot size.
  26513. //
  26514. // Default: If you're creating the volume from a snapshot and don't specify
  26515. // a volume size, the default is the snapshot size.
  26516. Size *int64 `type:"integer"`
  26517. // The snapshot from which to create the volume.
  26518. SnapshotId *string `type:"string"`
  26519. // The tags to apply to the volume during creation.
  26520. TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
  26521. // The volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned
  26522. // IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard
  26523. // for Magnetic volumes.
  26524. //
  26525. // Default: standard
  26526. VolumeType *string `type:"string" enum:"VolumeType"`
  26527. }
  26528. // String returns the string representation
  26529. func (s CreateVolumeInput) String() string {
  26530. return awsutil.Prettify(s)
  26531. }
  26532. // GoString returns the string representation
  26533. func (s CreateVolumeInput) GoString() string {
  26534. return s.String()
  26535. }
  26536. // Validate inspects the fields of the type to determine if they are valid.
  26537. func (s *CreateVolumeInput) Validate() error {
  26538. invalidParams := request.ErrInvalidParams{Context: "CreateVolumeInput"}
  26539. if s.AvailabilityZone == nil {
  26540. invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
  26541. }
  26542. if invalidParams.Len() > 0 {
  26543. return invalidParams
  26544. }
  26545. return nil
  26546. }
  26547. // SetAvailabilityZone sets the AvailabilityZone field's value.
  26548. func (s *CreateVolumeInput) SetAvailabilityZone(v string) *CreateVolumeInput {
  26549. s.AvailabilityZone = &v
  26550. return s
  26551. }
  26552. // SetDryRun sets the DryRun field's value.
  26553. func (s *CreateVolumeInput) SetDryRun(v bool) *CreateVolumeInput {
  26554. s.DryRun = &v
  26555. return s
  26556. }
  26557. // SetEncrypted sets the Encrypted field's value.
  26558. func (s *CreateVolumeInput) SetEncrypted(v bool) *CreateVolumeInput {
  26559. s.Encrypted = &v
  26560. return s
  26561. }
  26562. // SetIops sets the Iops field's value.
  26563. func (s *CreateVolumeInput) SetIops(v int64) *CreateVolumeInput {
  26564. s.Iops = &v
  26565. return s
  26566. }
  26567. // SetKmsKeyId sets the KmsKeyId field's value.
  26568. func (s *CreateVolumeInput) SetKmsKeyId(v string) *CreateVolumeInput {
  26569. s.KmsKeyId = &v
  26570. return s
  26571. }
  26572. // SetSize sets the Size field's value.
  26573. func (s *CreateVolumeInput) SetSize(v int64) *CreateVolumeInput {
  26574. s.Size = &v
  26575. return s
  26576. }
  26577. // SetSnapshotId sets the SnapshotId field's value.
  26578. func (s *CreateVolumeInput) SetSnapshotId(v string) *CreateVolumeInput {
  26579. s.SnapshotId = &v
  26580. return s
  26581. }
  26582. // SetTagSpecifications sets the TagSpecifications field's value.
  26583. func (s *CreateVolumeInput) SetTagSpecifications(v []*TagSpecification) *CreateVolumeInput {
  26584. s.TagSpecifications = v
  26585. return s
  26586. }
  26587. // SetVolumeType sets the VolumeType field's value.
  26588. func (s *CreateVolumeInput) SetVolumeType(v string) *CreateVolumeInput {
  26589. s.VolumeType = &v
  26590. return s
  26591. }
  26592. // Describes the user or group to be added or removed from the permissions for
  26593. // a volume.
  26594. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVolumePermission
  26595. type CreateVolumePermission struct {
  26596. _ struct{} `type:"structure"`
  26597. // The specific group that is to be added or removed from a volume's list of
  26598. // create volume permissions.
  26599. Group *string `locationName:"group" type:"string" enum:"PermissionGroup"`
  26600. // The specific AWS account ID that is to be added or removed from a volume's
  26601. // list of create volume permissions.
  26602. UserId *string `locationName:"userId" type:"string"`
  26603. }
  26604. // String returns the string representation
  26605. func (s CreateVolumePermission) String() string {
  26606. return awsutil.Prettify(s)
  26607. }
  26608. // GoString returns the string representation
  26609. func (s CreateVolumePermission) GoString() string {
  26610. return s.String()
  26611. }
  26612. // SetGroup sets the Group field's value.
  26613. func (s *CreateVolumePermission) SetGroup(v string) *CreateVolumePermission {
  26614. s.Group = &v
  26615. return s
  26616. }
  26617. // SetUserId sets the UserId field's value.
  26618. func (s *CreateVolumePermission) SetUserId(v string) *CreateVolumePermission {
  26619. s.UserId = &v
  26620. return s
  26621. }
  26622. // Describes modifications to the permissions for a volume.
  26623. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVolumePermissionModifications
  26624. type CreateVolumePermissionModifications struct {
  26625. _ struct{} `type:"structure"`
  26626. // Adds a specific AWS account ID or group to a volume's list of create volume
  26627. // permissions.
  26628. Add []*CreateVolumePermission `locationNameList:"item" type:"list"`
  26629. // Removes a specific AWS account ID or group from a volume's list of create
  26630. // volume permissions.
  26631. Remove []*CreateVolumePermission `locationNameList:"item" type:"list"`
  26632. }
  26633. // String returns the string representation
  26634. func (s CreateVolumePermissionModifications) String() string {
  26635. return awsutil.Prettify(s)
  26636. }
  26637. // GoString returns the string representation
  26638. func (s CreateVolumePermissionModifications) GoString() string {
  26639. return s.String()
  26640. }
  26641. // SetAdd sets the Add field's value.
  26642. func (s *CreateVolumePermissionModifications) SetAdd(v []*CreateVolumePermission) *CreateVolumePermissionModifications {
  26643. s.Add = v
  26644. return s
  26645. }
  26646. // SetRemove sets the Remove field's value.
  26647. func (s *CreateVolumePermissionModifications) SetRemove(v []*CreateVolumePermission) *CreateVolumePermissionModifications {
  26648. s.Remove = v
  26649. return s
  26650. }
  26651. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointConnectionNotificationRequest
  26652. type CreateVpcEndpointConnectionNotificationInput struct {
  26653. _ struct{} `type:"structure"`
  26654. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  26655. // the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  26656. ClientToken *string `type:"string"`
  26657. // One or more endpoint events for which to receive notifications. Valid values
  26658. // are Accept, Connect, Delete, and Reject.
  26659. //
  26660. // ConnectionEvents is a required field
  26661. ConnectionEvents []*string `locationNameList:"item" type:"list" required:"true"`
  26662. // The ARN of the SNS topic for the notifications.
  26663. //
  26664. // ConnectionNotificationArn is a required field
  26665. ConnectionNotificationArn *string `type:"string" required:"true"`
  26666. // Checks whether you have the required permissions for the action, without
  26667. // actually making the request, and provides an error response. If you have
  26668. // the required permissions, the error response is DryRunOperation. Otherwise,
  26669. // it is UnauthorizedOperation.
  26670. DryRun *bool `type:"boolean"`
  26671. // The ID of the endpoint service.
  26672. ServiceId *string `type:"string"`
  26673. // The ID of the endpoint.
  26674. VpcEndpointId *string `type:"string"`
  26675. }
  26676. // String returns the string representation
  26677. func (s CreateVpcEndpointConnectionNotificationInput) String() string {
  26678. return awsutil.Prettify(s)
  26679. }
  26680. // GoString returns the string representation
  26681. func (s CreateVpcEndpointConnectionNotificationInput) GoString() string {
  26682. return s.String()
  26683. }
  26684. // Validate inspects the fields of the type to determine if they are valid.
  26685. func (s *CreateVpcEndpointConnectionNotificationInput) Validate() error {
  26686. invalidParams := request.ErrInvalidParams{Context: "CreateVpcEndpointConnectionNotificationInput"}
  26687. if s.ConnectionEvents == nil {
  26688. invalidParams.Add(request.NewErrParamRequired("ConnectionEvents"))
  26689. }
  26690. if s.ConnectionNotificationArn == nil {
  26691. invalidParams.Add(request.NewErrParamRequired("ConnectionNotificationArn"))
  26692. }
  26693. if invalidParams.Len() > 0 {
  26694. return invalidParams
  26695. }
  26696. return nil
  26697. }
  26698. // SetClientToken sets the ClientToken field's value.
  26699. func (s *CreateVpcEndpointConnectionNotificationInput) SetClientToken(v string) *CreateVpcEndpointConnectionNotificationInput {
  26700. s.ClientToken = &v
  26701. return s
  26702. }
  26703. // SetConnectionEvents sets the ConnectionEvents field's value.
  26704. func (s *CreateVpcEndpointConnectionNotificationInput) SetConnectionEvents(v []*string) *CreateVpcEndpointConnectionNotificationInput {
  26705. s.ConnectionEvents = v
  26706. return s
  26707. }
  26708. // SetConnectionNotificationArn sets the ConnectionNotificationArn field's value.
  26709. func (s *CreateVpcEndpointConnectionNotificationInput) SetConnectionNotificationArn(v string) *CreateVpcEndpointConnectionNotificationInput {
  26710. s.ConnectionNotificationArn = &v
  26711. return s
  26712. }
  26713. // SetDryRun sets the DryRun field's value.
  26714. func (s *CreateVpcEndpointConnectionNotificationInput) SetDryRun(v bool) *CreateVpcEndpointConnectionNotificationInput {
  26715. s.DryRun = &v
  26716. return s
  26717. }
  26718. // SetServiceId sets the ServiceId field's value.
  26719. func (s *CreateVpcEndpointConnectionNotificationInput) SetServiceId(v string) *CreateVpcEndpointConnectionNotificationInput {
  26720. s.ServiceId = &v
  26721. return s
  26722. }
  26723. // SetVpcEndpointId sets the VpcEndpointId field's value.
  26724. func (s *CreateVpcEndpointConnectionNotificationInput) SetVpcEndpointId(v string) *CreateVpcEndpointConnectionNotificationInput {
  26725. s.VpcEndpointId = &v
  26726. return s
  26727. }
  26728. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointConnectionNotificationResult
  26729. type CreateVpcEndpointConnectionNotificationOutput struct {
  26730. _ struct{} `type:"structure"`
  26731. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  26732. // the request.
  26733. ClientToken *string `locationName:"clientToken" type:"string"`
  26734. // Information about the notification.
  26735. ConnectionNotification *ConnectionNotification `locationName:"connectionNotification" type:"structure"`
  26736. }
  26737. // String returns the string representation
  26738. func (s CreateVpcEndpointConnectionNotificationOutput) String() string {
  26739. return awsutil.Prettify(s)
  26740. }
  26741. // GoString returns the string representation
  26742. func (s CreateVpcEndpointConnectionNotificationOutput) GoString() string {
  26743. return s.String()
  26744. }
  26745. // SetClientToken sets the ClientToken field's value.
  26746. func (s *CreateVpcEndpointConnectionNotificationOutput) SetClientToken(v string) *CreateVpcEndpointConnectionNotificationOutput {
  26747. s.ClientToken = &v
  26748. return s
  26749. }
  26750. // SetConnectionNotification sets the ConnectionNotification field's value.
  26751. func (s *CreateVpcEndpointConnectionNotificationOutput) SetConnectionNotification(v *ConnectionNotification) *CreateVpcEndpointConnectionNotificationOutput {
  26752. s.ConnectionNotification = v
  26753. return s
  26754. }
  26755. // Contains the parameters for CreateVpcEndpoint.
  26756. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointRequest
  26757. type CreateVpcEndpointInput struct {
  26758. _ struct{} `type:"structure"`
  26759. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  26760. // the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  26761. ClientToken *string `type:"string"`
  26762. // Checks whether you have the required permissions for the action, without
  26763. // actually making the request, and provides an error response. If you have
  26764. // the required permissions, the error response is DryRunOperation. Otherwise,
  26765. // it is UnauthorizedOperation.
  26766. DryRun *bool `type:"boolean"`
  26767. // (Gateway endpoint) A policy to attach to the endpoint that controls access
  26768. // to the service. The policy must be in valid JSON format. If this parameter
  26769. // is not specified, we attach a default policy that allows full access to the
  26770. // service.
  26771. PolicyDocument *string `type:"string"`
  26772. // (Interface endpoint) Indicate whether to associate a private hosted zone
  26773. // with the specified VPC. The private hosted zone contains a record set for
  26774. // the default public DNS name for the service for the region (for example,
  26775. // kinesis.us-east-1.amazonaws.com) which resolves to the private IP addresses
  26776. // of the endpoint network interfaces in the VPC. This enables you to make requests
  26777. // to the default public DNS name for the service instead of the public DNS
  26778. // names that are automatically generated by the VPC endpoint service.
  26779. //
  26780. // To use a private hosted zone, you must set the following VPC attributes to
  26781. // true: enableDnsHostnames and enableDnsSupport. Use ModifyVpcAttribute to
  26782. // set the VPC attributes.
  26783. //
  26784. // Default: true
  26785. PrivateDnsEnabled *bool `type:"boolean"`
  26786. // (Gateway endpoint) One or more route table IDs.
  26787. RouteTableIds []*string `locationName:"RouteTableId" locationNameList:"item" type:"list"`
  26788. // (Interface endpoint) The ID of one or more security groups to associate with
  26789. // the endpoint network interface.
  26790. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list"`
  26791. // The service name. To get a list of available services, use the DescribeVpcEndpointServices
  26792. // request.
  26793. //
  26794. // ServiceName is a required field
  26795. ServiceName *string `type:"string" required:"true"`
  26796. // (Interface endpoint) The ID of one or more subnets in which to create an
  26797. // endpoint network interface.
  26798. SubnetIds []*string `locationName:"SubnetId" locationNameList:"item" type:"list"`
  26799. // The type of endpoint.
  26800. //
  26801. // Default: Gateway
  26802. VpcEndpointType *string `type:"string" enum:"VpcEndpointType"`
  26803. // The ID of the VPC in which the endpoint will be used.
  26804. //
  26805. // VpcId is a required field
  26806. VpcId *string `type:"string" required:"true"`
  26807. }
  26808. // String returns the string representation
  26809. func (s CreateVpcEndpointInput) String() string {
  26810. return awsutil.Prettify(s)
  26811. }
  26812. // GoString returns the string representation
  26813. func (s CreateVpcEndpointInput) GoString() string {
  26814. return s.String()
  26815. }
  26816. // Validate inspects the fields of the type to determine if they are valid.
  26817. func (s *CreateVpcEndpointInput) Validate() error {
  26818. invalidParams := request.ErrInvalidParams{Context: "CreateVpcEndpointInput"}
  26819. if s.ServiceName == nil {
  26820. invalidParams.Add(request.NewErrParamRequired("ServiceName"))
  26821. }
  26822. if s.VpcId == nil {
  26823. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  26824. }
  26825. if invalidParams.Len() > 0 {
  26826. return invalidParams
  26827. }
  26828. return nil
  26829. }
  26830. // SetClientToken sets the ClientToken field's value.
  26831. func (s *CreateVpcEndpointInput) SetClientToken(v string) *CreateVpcEndpointInput {
  26832. s.ClientToken = &v
  26833. return s
  26834. }
  26835. // SetDryRun sets the DryRun field's value.
  26836. func (s *CreateVpcEndpointInput) SetDryRun(v bool) *CreateVpcEndpointInput {
  26837. s.DryRun = &v
  26838. return s
  26839. }
  26840. // SetPolicyDocument sets the PolicyDocument field's value.
  26841. func (s *CreateVpcEndpointInput) SetPolicyDocument(v string) *CreateVpcEndpointInput {
  26842. s.PolicyDocument = &v
  26843. return s
  26844. }
  26845. // SetPrivateDnsEnabled sets the PrivateDnsEnabled field's value.
  26846. func (s *CreateVpcEndpointInput) SetPrivateDnsEnabled(v bool) *CreateVpcEndpointInput {
  26847. s.PrivateDnsEnabled = &v
  26848. return s
  26849. }
  26850. // SetRouteTableIds sets the RouteTableIds field's value.
  26851. func (s *CreateVpcEndpointInput) SetRouteTableIds(v []*string) *CreateVpcEndpointInput {
  26852. s.RouteTableIds = v
  26853. return s
  26854. }
  26855. // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  26856. func (s *CreateVpcEndpointInput) SetSecurityGroupIds(v []*string) *CreateVpcEndpointInput {
  26857. s.SecurityGroupIds = v
  26858. return s
  26859. }
  26860. // SetServiceName sets the ServiceName field's value.
  26861. func (s *CreateVpcEndpointInput) SetServiceName(v string) *CreateVpcEndpointInput {
  26862. s.ServiceName = &v
  26863. return s
  26864. }
  26865. // SetSubnetIds sets the SubnetIds field's value.
  26866. func (s *CreateVpcEndpointInput) SetSubnetIds(v []*string) *CreateVpcEndpointInput {
  26867. s.SubnetIds = v
  26868. return s
  26869. }
  26870. // SetVpcEndpointType sets the VpcEndpointType field's value.
  26871. func (s *CreateVpcEndpointInput) SetVpcEndpointType(v string) *CreateVpcEndpointInput {
  26872. s.VpcEndpointType = &v
  26873. return s
  26874. }
  26875. // SetVpcId sets the VpcId field's value.
  26876. func (s *CreateVpcEndpointInput) SetVpcId(v string) *CreateVpcEndpointInput {
  26877. s.VpcId = &v
  26878. return s
  26879. }
  26880. // Contains the output of CreateVpcEndpoint.
  26881. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointResult
  26882. type CreateVpcEndpointOutput struct {
  26883. _ struct{} `type:"structure"`
  26884. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  26885. // the request.
  26886. ClientToken *string `locationName:"clientToken" type:"string"`
  26887. // Information about the endpoint.
  26888. VpcEndpoint *VpcEndpoint `locationName:"vpcEndpoint" type:"structure"`
  26889. }
  26890. // String returns the string representation
  26891. func (s CreateVpcEndpointOutput) String() string {
  26892. return awsutil.Prettify(s)
  26893. }
  26894. // GoString returns the string representation
  26895. func (s CreateVpcEndpointOutput) GoString() string {
  26896. return s.String()
  26897. }
  26898. // SetClientToken sets the ClientToken field's value.
  26899. func (s *CreateVpcEndpointOutput) SetClientToken(v string) *CreateVpcEndpointOutput {
  26900. s.ClientToken = &v
  26901. return s
  26902. }
  26903. // SetVpcEndpoint sets the VpcEndpoint field's value.
  26904. func (s *CreateVpcEndpointOutput) SetVpcEndpoint(v *VpcEndpoint) *CreateVpcEndpointOutput {
  26905. s.VpcEndpoint = v
  26906. return s
  26907. }
  26908. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointServiceConfigurationRequest
  26909. type CreateVpcEndpointServiceConfigurationInput struct {
  26910. _ struct{} `type:"structure"`
  26911. // Indicate whether requests from service consumers to create an endpoint to
  26912. // your service must be accepted. To accept a request, use AcceptVpcEndpointConnections.
  26913. AcceptanceRequired *bool `type:"boolean"`
  26914. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  26915. // the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
  26916. ClientToken *string `type:"string"`
  26917. // Checks whether you have the required permissions for the action, without
  26918. // actually making the request, and provides an error response. If you have
  26919. // the required permissions, the error response is DryRunOperation. Otherwise,
  26920. // it is UnauthorizedOperation.
  26921. DryRun *bool `type:"boolean"`
  26922. // The Amazon Resource Names (ARNs) of one or more Network Load Balancers for
  26923. // your service.
  26924. //
  26925. // NetworkLoadBalancerArns is a required field
  26926. NetworkLoadBalancerArns []*string `locationName:"NetworkLoadBalancerArn" locationNameList:"item" type:"list" required:"true"`
  26927. }
  26928. // String returns the string representation
  26929. func (s CreateVpcEndpointServiceConfigurationInput) String() string {
  26930. return awsutil.Prettify(s)
  26931. }
  26932. // GoString returns the string representation
  26933. func (s CreateVpcEndpointServiceConfigurationInput) GoString() string {
  26934. return s.String()
  26935. }
  26936. // Validate inspects the fields of the type to determine if they are valid.
  26937. func (s *CreateVpcEndpointServiceConfigurationInput) Validate() error {
  26938. invalidParams := request.ErrInvalidParams{Context: "CreateVpcEndpointServiceConfigurationInput"}
  26939. if s.NetworkLoadBalancerArns == nil {
  26940. invalidParams.Add(request.NewErrParamRequired("NetworkLoadBalancerArns"))
  26941. }
  26942. if invalidParams.Len() > 0 {
  26943. return invalidParams
  26944. }
  26945. return nil
  26946. }
  26947. // SetAcceptanceRequired sets the AcceptanceRequired field's value.
  26948. func (s *CreateVpcEndpointServiceConfigurationInput) SetAcceptanceRequired(v bool) *CreateVpcEndpointServiceConfigurationInput {
  26949. s.AcceptanceRequired = &v
  26950. return s
  26951. }
  26952. // SetClientToken sets the ClientToken field's value.
  26953. func (s *CreateVpcEndpointServiceConfigurationInput) SetClientToken(v string) *CreateVpcEndpointServiceConfigurationInput {
  26954. s.ClientToken = &v
  26955. return s
  26956. }
  26957. // SetDryRun sets the DryRun field's value.
  26958. func (s *CreateVpcEndpointServiceConfigurationInput) SetDryRun(v bool) *CreateVpcEndpointServiceConfigurationInput {
  26959. s.DryRun = &v
  26960. return s
  26961. }
  26962. // SetNetworkLoadBalancerArns sets the NetworkLoadBalancerArns field's value.
  26963. func (s *CreateVpcEndpointServiceConfigurationInput) SetNetworkLoadBalancerArns(v []*string) *CreateVpcEndpointServiceConfigurationInput {
  26964. s.NetworkLoadBalancerArns = v
  26965. return s
  26966. }
  26967. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointServiceConfigurationResult
  26968. type CreateVpcEndpointServiceConfigurationOutput struct {
  26969. _ struct{} `type:"structure"`
  26970. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  26971. // the request.
  26972. ClientToken *string `locationName:"clientToken" type:"string"`
  26973. // Information about the service configuration.
  26974. ServiceConfiguration *ServiceConfiguration `locationName:"serviceConfiguration" type:"structure"`
  26975. }
  26976. // String returns the string representation
  26977. func (s CreateVpcEndpointServiceConfigurationOutput) String() string {
  26978. return awsutil.Prettify(s)
  26979. }
  26980. // GoString returns the string representation
  26981. func (s CreateVpcEndpointServiceConfigurationOutput) GoString() string {
  26982. return s.String()
  26983. }
  26984. // SetClientToken sets the ClientToken field's value.
  26985. func (s *CreateVpcEndpointServiceConfigurationOutput) SetClientToken(v string) *CreateVpcEndpointServiceConfigurationOutput {
  26986. s.ClientToken = &v
  26987. return s
  26988. }
  26989. // SetServiceConfiguration sets the ServiceConfiguration field's value.
  26990. func (s *CreateVpcEndpointServiceConfigurationOutput) SetServiceConfiguration(v *ServiceConfiguration) *CreateVpcEndpointServiceConfigurationOutput {
  26991. s.ServiceConfiguration = v
  26992. return s
  26993. }
  26994. // Contains the parameters for CreateVpc.
  26995. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcRequest
  26996. type CreateVpcInput struct {
  26997. _ struct{} `type:"structure"`
  26998. // Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for
  26999. // the VPC. You cannot specify the range of IP addresses, or the size of the
  27000. // CIDR block.
  27001. AmazonProvidedIpv6CidrBlock *bool `locationName:"amazonProvidedIpv6CidrBlock" type:"boolean"`
  27002. // The IPv4 network range for the VPC, in CIDR notation. For example, 10.0.0.0/16.
  27003. //
  27004. // CidrBlock is a required field
  27005. CidrBlock *string `type:"string" required:"true"`
  27006. // Checks whether you have the required permissions for the action, without
  27007. // actually making the request, and provides an error response. If you have
  27008. // the required permissions, the error response is DryRunOperation. Otherwise,
  27009. // it is UnauthorizedOperation.
  27010. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27011. // The tenancy options for instances launched into the VPC. For default, instances
  27012. // are launched with shared tenancy by default. You can launch instances with
  27013. // any tenancy into a shared tenancy VPC. For dedicated, instances are launched
  27014. // as dedicated tenancy instances by default. You can only launch instances
  27015. // with a tenancy of dedicated or host into a dedicated tenancy VPC.
  27016. //
  27017. // Important: The host value cannot be used with this parameter. Use the default
  27018. // or dedicated values only.
  27019. //
  27020. // Default: default
  27021. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  27022. }
  27023. // String returns the string representation
  27024. func (s CreateVpcInput) String() string {
  27025. return awsutil.Prettify(s)
  27026. }
  27027. // GoString returns the string representation
  27028. func (s CreateVpcInput) GoString() string {
  27029. return s.String()
  27030. }
  27031. // Validate inspects the fields of the type to determine if they are valid.
  27032. func (s *CreateVpcInput) Validate() error {
  27033. invalidParams := request.ErrInvalidParams{Context: "CreateVpcInput"}
  27034. if s.CidrBlock == nil {
  27035. invalidParams.Add(request.NewErrParamRequired("CidrBlock"))
  27036. }
  27037. if invalidParams.Len() > 0 {
  27038. return invalidParams
  27039. }
  27040. return nil
  27041. }
  27042. // SetAmazonProvidedIpv6CidrBlock sets the AmazonProvidedIpv6CidrBlock field's value.
  27043. func (s *CreateVpcInput) SetAmazonProvidedIpv6CidrBlock(v bool) *CreateVpcInput {
  27044. s.AmazonProvidedIpv6CidrBlock = &v
  27045. return s
  27046. }
  27047. // SetCidrBlock sets the CidrBlock field's value.
  27048. func (s *CreateVpcInput) SetCidrBlock(v string) *CreateVpcInput {
  27049. s.CidrBlock = &v
  27050. return s
  27051. }
  27052. // SetDryRun sets the DryRun field's value.
  27053. func (s *CreateVpcInput) SetDryRun(v bool) *CreateVpcInput {
  27054. s.DryRun = &v
  27055. return s
  27056. }
  27057. // SetInstanceTenancy sets the InstanceTenancy field's value.
  27058. func (s *CreateVpcInput) SetInstanceTenancy(v string) *CreateVpcInput {
  27059. s.InstanceTenancy = &v
  27060. return s
  27061. }
  27062. // Contains the output of CreateVpc.
  27063. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcResult
  27064. type CreateVpcOutput struct {
  27065. _ struct{} `type:"structure"`
  27066. // Information about the VPC.
  27067. Vpc *Vpc `locationName:"vpc" type:"structure"`
  27068. }
  27069. // String returns the string representation
  27070. func (s CreateVpcOutput) String() string {
  27071. return awsutil.Prettify(s)
  27072. }
  27073. // GoString returns the string representation
  27074. func (s CreateVpcOutput) GoString() string {
  27075. return s.String()
  27076. }
  27077. // SetVpc sets the Vpc field's value.
  27078. func (s *CreateVpcOutput) SetVpc(v *Vpc) *CreateVpcOutput {
  27079. s.Vpc = v
  27080. return s
  27081. }
  27082. // Contains the parameters for CreateVpcPeeringConnection.
  27083. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcPeeringConnectionRequest
  27084. type CreateVpcPeeringConnectionInput struct {
  27085. _ struct{} `type:"structure"`
  27086. // Checks whether you have the required permissions for the action, without
  27087. // actually making the request, and provides an error response. If you have
  27088. // the required permissions, the error response is DryRunOperation. Otherwise,
  27089. // it is UnauthorizedOperation.
  27090. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27091. // The AWS account ID of the owner of the accepter VPC.
  27092. //
  27093. // Default: Your AWS account ID
  27094. PeerOwnerId *string `locationName:"peerOwnerId" type:"string"`
  27095. // The region code for the accepter VPC, if the accepter VPC is located in a
  27096. // region other than the region in which you make the request.
  27097. //
  27098. // Default: The region in which you make the request.
  27099. PeerRegion *string `type:"string"`
  27100. // The ID of the VPC with which you are creating the VPC peering connection.
  27101. // You must specify this parameter in the request.
  27102. PeerVpcId *string `locationName:"peerVpcId" type:"string"`
  27103. // The ID of the requester VPC. You must specify this parameter in the request.
  27104. VpcId *string `locationName:"vpcId" type:"string"`
  27105. }
  27106. // String returns the string representation
  27107. func (s CreateVpcPeeringConnectionInput) String() string {
  27108. return awsutil.Prettify(s)
  27109. }
  27110. // GoString returns the string representation
  27111. func (s CreateVpcPeeringConnectionInput) GoString() string {
  27112. return s.String()
  27113. }
  27114. // SetDryRun sets the DryRun field's value.
  27115. func (s *CreateVpcPeeringConnectionInput) SetDryRun(v bool) *CreateVpcPeeringConnectionInput {
  27116. s.DryRun = &v
  27117. return s
  27118. }
  27119. // SetPeerOwnerId sets the PeerOwnerId field's value.
  27120. func (s *CreateVpcPeeringConnectionInput) SetPeerOwnerId(v string) *CreateVpcPeeringConnectionInput {
  27121. s.PeerOwnerId = &v
  27122. return s
  27123. }
  27124. // SetPeerRegion sets the PeerRegion field's value.
  27125. func (s *CreateVpcPeeringConnectionInput) SetPeerRegion(v string) *CreateVpcPeeringConnectionInput {
  27126. s.PeerRegion = &v
  27127. return s
  27128. }
  27129. // SetPeerVpcId sets the PeerVpcId field's value.
  27130. func (s *CreateVpcPeeringConnectionInput) SetPeerVpcId(v string) *CreateVpcPeeringConnectionInput {
  27131. s.PeerVpcId = &v
  27132. return s
  27133. }
  27134. // SetVpcId sets the VpcId field's value.
  27135. func (s *CreateVpcPeeringConnectionInput) SetVpcId(v string) *CreateVpcPeeringConnectionInput {
  27136. s.VpcId = &v
  27137. return s
  27138. }
  27139. // Contains the output of CreateVpcPeeringConnection.
  27140. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcPeeringConnectionResult
  27141. type CreateVpcPeeringConnectionOutput struct {
  27142. _ struct{} `type:"structure"`
  27143. // Information about the VPC peering connection.
  27144. VpcPeeringConnection *VpcPeeringConnection `locationName:"vpcPeeringConnection" type:"structure"`
  27145. }
  27146. // String returns the string representation
  27147. func (s CreateVpcPeeringConnectionOutput) String() string {
  27148. return awsutil.Prettify(s)
  27149. }
  27150. // GoString returns the string representation
  27151. func (s CreateVpcPeeringConnectionOutput) GoString() string {
  27152. return s.String()
  27153. }
  27154. // SetVpcPeeringConnection sets the VpcPeeringConnection field's value.
  27155. func (s *CreateVpcPeeringConnectionOutput) SetVpcPeeringConnection(v *VpcPeeringConnection) *CreateVpcPeeringConnectionOutput {
  27156. s.VpcPeeringConnection = v
  27157. return s
  27158. }
  27159. // Contains the parameters for CreateVpnConnection.
  27160. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionRequest
  27161. type CreateVpnConnectionInput struct {
  27162. _ struct{} `type:"structure"`
  27163. // The ID of the customer gateway.
  27164. //
  27165. // CustomerGatewayId is a required field
  27166. CustomerGatewayId *string `type:"string" required:"true"`
  27167. // Checks whether you have the required permissions for the action, without
  27168. // actually making the request, and provides an error response. If you have
  27169. // the required permissions, the error response is DryRunOperation. Otherwise,
  27170. // it is UnauthorizedOperation.
  27171. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27172. // The options for the VPN connection.
  27173. Options *VpnConnectionOptionsSpecification `locationName:"options" type:"structure"`
  27174. // The type of VPN connection (ipsec.1).
  27175. //
  27176. // Type is a required field
  27177. Type *string `type:"string" required:"true"`
  27178. // The ID of the virtual private gateway.
  27179. //
  27180. // VpnGatewayId is a required field
  27181. VpnGatewayId *string `type:"string" required:"true"`
  27182. }
  27183. // String returns the string representation
  27184. func (s CreateVpnConnectionInput) String() string {
  27185. return awsutil.Prettify(s)
  27186. }
  27187. // GoString returns the string representation
  27188. func (s CreateVpnConnectionInput) GoString() string {
  27189. return s.String()
  27190. }
  27191. // Validate inspects the fields of the type to determine if they are valid.
  27192. func (s *CreateVpnConnectionInput) Validate() error {
  27193. invalidParams := request.ErrInvalidParams{Context: "CreateVpnConnectionInput"}
  27194. if s.CustomerGatewayId == nil {
  27195. invalidParams.Add(request.NewErrParamRequired("CustomerGatewayId"))
  27196. }
  27197. if s.Type == nil {
  27198. invalidParams.Add(request.NewErrParamRequired("Type"))
  27199. }
  27200. if s.VpnGatewayId == nil {
  27201. invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
  27202. }
  27203. if invalidParams.Len() > 0 {
  27204. return invalidParams
  27205. }
  27206. return nil
  27207. }
  27208. // SetCustomerGatewayId sets the CustomerGatewayId field's value.
  27209. func (s *CreateVpnConnectionInput) SetCustomerGatewayId(v string) *CreateVpnConnectionInput {
  27210. s.CustomerGatewayId = &v
  27211. return s
  27212. }
  27213. // SetDryRun sets the DryRun field's value.
  27214. func (s *CreateVpnConnectionInput) SetDryRun(v bool) *CreateVpnConnectionInput {
  27215. s.DryRun = &v
  27216. return s
  27217. }
  27218. // SetOptions sets the Options field's value.
  27219. func (s *CreateVpnConnectionInput) SetOptions(v *VpnConnectionOptionsSpecification) *CreateVpnConnectionInput {
  27220. s.Options = v
  27221. return s
  27222. }
  27223. // SetType sets the Type field's value.
  27224. func (s *CreateVpnConnectionInput) SetType(v string) *CreateVpnConnectionInput {
  27225. s.Type = &v
  27226. return s
  27227. }
  27228. // SetVpnGatewayId sets the VpnGatewayId field's value.
  27229. func (s *CreateVpnConnectionInput) SetVpnGatewayId(v string) *CreateVpnConnectionInput {
  27230. s.VpnGatewayId = &v
  27231. return s
  27232. }
  27233. // Contains the output of CreateVpnConnection.
  27234. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionResult
  27235. type CreateVpnConnectionOutput struct {
  27236. _ struct{} `type:"structure"`
  27237. // Information about the VPN connection.
  27238. VpnConnection *VpnConnection `locationName:"vpnConnection" type:"structure"`
  27239. }
  27240. // String returns the string representation
  27241. func (s CreateVpnConnectionOutput) String() string {
  27242. return awsutil.Prettify(s)
  27243. }
  27244. // GoString returns the string representation
  27245. func (s CreateVpnConnectionOutput) GoString() string {
  27246. return s.String()
  27247. }
  27248. // SetVpnConnection sets the VpnConnection field's value.
  27249. func (s *CreateVpnConnectionOutput) SetVpnConnection(v *VpnConnection) *CreateVpnConnectionOutput {
  27250. s.VpnConnection = v
  27251. return s
  27252. }
  27253. // Contains the parameters for CreateVpnConnectionRoute.
  27254. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionRouteRequest
  27255. type CreateVpnConnectionRouteInput struct {
  27256. _ struct{} `type:"structure"`
  27257. // The CIDR block associated with the local subnet of the customer network.
  27258. //
  27259. // DestinationCidrBlock is a required field
  27260. DestinationCidrBlock *string `type:"string" required:"true"`
  27261. // The ID of the VPN connection.
  27262. //
  27263. // VpnConnectionId is a required field
  27264. VpnConnectionId *string `type:"string" required:"true"`
  27265. }
  27266. // String returns the string representation
  27267. func (s CreateVpnConnectionRouteInput) String() string {
  27268. return awsutil.Prettify(s)
  27269. }
  27270. // GoString returns the string representation
  27271. func (s CreateVpnConnectionRouteInput) GoString() string {
  27272. return s.String()
  27273. }
  27274. // Validate inspects the fields of the type to determine if they are valid.
  27275. func (s *CreateVpnConnectionRouteInput) Validate() error {
  27276. invalidParams := request.ErrInvalidParams{Context: "CreateVpnConnectionRouteInput"}
  27277. if s.DestinationCidrBlock == nil {
  27278. invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
  27279. }
  27280. if s.VpnConnectionId == nil {
  27281. invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
  27282. }
  27283. if invalidParams.Len() > 0 {
  27284. return invalidParams
  27285. }
  27286. return nil
  27287. }
  27288. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  27289. func (s *CreateVpnConnectionRouteInput) SetDestinationCidrBlock(v string) *CreateVpnConnectionRouteInput {
  27290. s.DestinationCidrBlock = &v
  27291. return s
  27292. }
  27293. // SetVpnConnectionId sets the VpnConnectionId field's value.
  27294. func (s *CreateVpnConnectionRouteInput) SetVpnConnectionId(v string) *CreateVpnConnectionRouteInput {
  27295. s.VpnConnectionId = &v
  27296. return s
  27297. }
  27298. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionRouteOutput
  27299. type CreateVpnConnectionRouteOutput struct {
  27300. _ struct{} `type:"structure"`
  27301. }
  27302. // String returns the string representation
  27303. func (s CreateVpnConnectionRouteOutput) String() string {
  27304. return awsutil.Prettify(s)
  27305. }
  27306. // GoString returns the string representation
  27307. func (s CreateVpnConnectionRouteOutput) GoString() string {
  27308. return s.String()
  27309. }
  27310. // Contains the parameters for CreateVpnGateway.
  27311. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnGatewayRequest
  27312. type CreateVpnGatewayInput struct {
  27313. _ struct{} `type:"structure"`
  27314. // A private Autonomous System Number (ASN) for the Amazon side of a BGP session.
  27315. // If you're using a 16-bit ASN, it must be in the 64512 to 65534 range. If
  27316. // you're using a 32-bit ASN, it must be in the 4200000000 to 4294967294 range.
  27317. //
  27318. // Default: 64512
  27319. AmazonSideAsn *int64 `type:"long"`
  27320. // The Availability Zone for the virtual private gateway.
  27321. AvailabilityZone *string `type:"string"`
  27322. // Checks whether you have the required permissions for the action, without
  27323. // actually making the request, and provides an error response. If you have
  27324. // the required permissions, the error response is DryRunOperation. Otherwise,
  27325. // it is UnauthorizedOperation.
  27326. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27327. // The type of VPN connection this virtual private gateway supports.
  27328. //
  27329. // Type is a required field
  27330. Type *string `type:"string" required:"true" enum:"GatewayType"`
  27331. }
  27332. // String returns the string representation
  27333. func (s CreateVpnGatewayInput) String() string {
  27334. return awsutil.Prettify(s)
  27335. }
  27336. // GoString returns the string representation
  27337. func (s CreateVpnGatewayInput) GoString() string {
  27338. return s.String()
  27339. }
  27340. // Validate inspects the fields of the type to determine if they are valid.
  27341. func (s *CreateVpnGatewayInput) Validate() error {
  27342. invalidParams := request.ErrInvalidParams{Context: "CreateVpnGatewayInput"}
  27343. if s.Type == nil {
  27344. invalidParams.Add(request.NewErrParamRequired("Type"))
  27345. }
  27346. if invalidParams.Len() > 0 {
  27347. return invalidParams
  27348. }
  27349. return nil
  27350. }
  27351. // SetAmazonSideAsn sets the AmazonSideAsn field's value.
  27352. func (s *CreateVpnGatewayInput) SetAmazonSideAsn(v int64) *CreateVpnGatewayInput {
  27353. s.AmazonSideAsn = &v
  27354. return s
  27355. }
  27356. // SetAvailabilityZone sets the AvailabilityZone field's value.
  27357. func (s *CreateVpnGatewayInput) SetAvailabilityZone(v string) *CreateVpnGatewayInput {
  27358. s.AvailabilityZone = &v
  27359. return s
  27360. }
  27361. // SetDryRun sets the DryRun field's value.
  27362. func (s *CreateVpnGatewayInput) SetDryRun(v bool) *CreateVpnGatewayInput {
  27363. s.DryRun = &v
  27364. return s
  27365. }
  27366. // SetType sets the Type field's value.
  27367. func (s *CreateVpnGatewayInput) SetType(v string) *CreateVpnGatewayInput {
  27368. s.Type = &v
  27369. return s
  27370. }
  27371. // Contains the output of CreateVpnGateway.
  27372. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnGatewayResult
  27373. type CreateVpnGatewayOutput struct {
  27374. _ struct{} `type:"structure"`
  27375. // Information about the virtual private gateway.
  27376. VpnGateway *VpnGateway `locationName:"vpnGateway" type:"structure"`
  27377. }
  27378. // String returns the string representation
  27379. func (s CreateVpnGatewayOutput) String() string {
  27380. return awsutil.Prettify(s)
  27381. }
  27382. // GoString returns the string representation
  27383. func (s CreateVpnGatewayOutput) GoString() string {
  27384. return s.String()
  27385. }
  27386. // SetVpnGateway sets the VpnGateway field's value.
  27387. func (s *CreateVpnGatewayOutput) SetVpnGateway(v *VpnGateway) *CreateVpnGatewayOutput {
  27388. s.VpnGateway = v
  27389. return s
  27390. }
  27391. // Describes the credit option for CPU usage of a T2 instance.
  27392. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreditSpecification
  27393. type CreditSpecification struct {
  27394. _ struct{} `type:"structure"`
  27395. // The credit option for CPU usage of a T2 instance.
  27396. CpuCredits *string `locationName:"cpuCredits" type:"string"`
  27397. }
  27398. // String returns the string representation
  27399. func (s CreditSpecification) String() string {
  27400. return awsutil.Prettify(s)
  27401. }
  27402. // GoString returns the string representation
  27403. func (s CreditSpecification) GoString() string {
  27404. return s.String()
  27405. }
  27406. // SetCpuCredits sets the CpuCredits field's value.
  27407. func (s *CreditSpecification) SetCpuCredits(v string) *CreditSpecification {
  27408. s.CpuCredits = &v
  27409. return s
  27410. }
  27411. // The credit option for CPU usage of a T2 instance.
  27412. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreditSpecificationRequest
  27413. type CreditSpecificationRequest struct {
  27414. _ struct{} `type:"structure"`
  27415. // The credit option for CPU usage of a T2 instance. Valid values are standard
  27416. // and unlimited.
  27417. //
  27418. // CpuCredits is a required field
  27419. CpuCredits *string `type:"string" required:"true"`
  27420. }
  27421. // String returns the string representation
  27422. func (s CreditSpecificationRequest) String() string {
  27423. return awsutil.Prettify(s)
  27424. }
  27425. // GoString returns the string representation
  27426. func (s CreditSpecificationRequest) GoString() string {
  27427. return s.String()
  27428. }
  27429. // Validate inspects the fields of the type to determine if they are valid.
  27430. func (s *CreditSpecificationRequest) Validate() error {
  27431. invalidParams := request.ErrInvalidParams{Context: "CreditSpecificationRequest"}
  27432. if s.CpuCredits == nil {
  27433. invalidParams.Add(request.NewErrParamRequired("CpuCredits"))
  27434. }
  27435. if invalidParams.Len() > 0 {
  27436. return invalidParams
  27437. }
  27438. return nil
  27439. }
  27440. // SetCpuCredits sets the CpuCredits field's value.
  27441. func (s *CreditSpecificationRequest) SetCpuCredits(v string) *CreditSpecificationRequest {
  27442. s.CpuCredits = &v
  27443. return s
  27444. }
  27445. // Describes a customer gateway.
  27446. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CustomerGateway
  27447. type CustomerGateway struct {
  27448. _ struct{} `type:"structure"`
  27449. // The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number
  27450. // (ASN).
  27451. BgpAsn *string `locationName:"bgpAsn" type:"string"`
  27452. // The ID of the customer gateway.
  27453. CustomerGatewayId *string `locationName:"customerGatewayId" type:"string"`
  27454. // The Internet-routable IP address of the customer gateway's outside interface.
  27455. IpAddress *string `locationName:"ipAddress" type:"string"`
  27456. // The current state of the customer gateway (pending | available | deleting
  27457. // | deleted).
  27458. State *string `locationName:"state" type:"string"`
  27459. // Any tags assigned to the customer gateway.
  27460. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  27461. // The type of VPN connection the customer gateway supports (ipsec.1).
  27462. Type *string `locationName:"type" type:"string"`
  27463. }
  27464. // String returns the string representation
  27465. func (s CustomerGateway) String() string {
  27466. return awsutil.Prettify(s)
  27467. }
  27468. // GoString returns the string representation
  27469. func (s CustomerGateway) GoString() string {
  27470. return s.String()
  27471. }
  27472. // SetBgpAsn sets the BgpAsn field's value.
  27473. func (s *CustomerGateway) SetBgpAsn(v string) *CustomerGateway {
  27474. s.BgpAsn = &v
  27475. return s
  27476. }
  27477. // SetCustomerGatewayId sets the CustomerGatewayId field's value.
  27478. func (s *CustomerGateway) SetCustomerGatewayId(v string) *CustomerGateway {
  27479. s.CustomerGatewayId = &v
  27480. return s
  27481. }
  27482. // SetIpAddress sets the IpAddress field's value.
  27483. func (s *CustomerGateway) SetIpAddress(v string) *CustomerGateway {
  27484. s.IpAddress = &v
  27485. return s
  27486. }
  27487. // SetState sets the State field's value.
  27488. func (s *CustomerGateway) SetState(v string) *CustomerGateway {
  27489. s.State = &v
  27490. return s
  27491. }
  27492. // SetTags sets the Tags field's value.
  27493. func (s *CustomerGateway) SetTags(v []*Tag) *CustomerGateway {
  27494. s.Tags = v
  27495. return s
  27496. }
  27497. // SetType sets the Type field's value.
  27498. func (s *CustomerGateway) SetType(v string) *CustomerGateway {
  27499. s.Type = &v
  27500. return s
  27501. }
  27502. // Contains the parameters for DeleteCustomerGateway.
  27503. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCustomerGatewayRequest
  27504. type DeleteCustomerGatewayInput struct {
  27505. _ struct{} `type:"structure"`
  27506. // The ID of the customer gateway.
  27507. //
  27508. // CustomerGatewayId is a required field
  27509. CustomerGatewayId *string `type:"string" required:"true"`
  27510. // Checks whether you have the required permissions for the action, without
  27511. // actually making the request, and provides an error response. If you have
  27512. // the required permissions, the error response is DryRunOperation. Otherwise,
  27513. // it is UnauthorizedOperation.
  27514. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27515. }
  27516. // String returns the string representation
  27517. func (s DeleteCustomerGatewayInput) String() string {
  27518. return awsutil.Prettify(s)
  27519. }
  27520. // GoString returns the string representation
  27521. func (s DeleteCustomerGatewayInput) GoString() string {
  27522. return s.String()
  27523. }
  27524. // Validate inspects the fields of the type to determine if they are valid.
  27525. func (s *DeleteCustomerGatewayInput) Validate() error {
  27526. invalidParams := request.ErrInvalidParams{Context: "DeleteCustomerGatewayInput"}
  27527. if s.CustomerGatewayId == nil {
  27528. invalidParams.Add(request.NewErrParamRequired("CustomerGatewayId"))
  27529. }
  27530. if invalidParams.Len() > 0 {
  27531. return invalidParams
  27532. }
  27533. return nil
  27534. }
  27535. // SetCustomerGatewayId sets the CustomerGatewayId field's value.
  27536. func (s *DeleteCustomerGatewayInput) SetCustomerGatewayId(v string) *DeleteCustomerGatewayInput {
  27537. s.CustomerGatewayId = &v
  27538. return s
  27539. }
  27540. // SetDryRun sets the DryRun field's value.
  27541. func (s *DeleteCustomerGatewayInput) SetDryRun(v bool) *DeleteCustomerGatewayInput {
  27542. s.DryRun = &v
  27543. return s
  27544. }
  27545. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCustomerGatewayOutput
  27546. type DeleteCustomerGatewayOutput struct {
  27547. _ struct{} `type:"structure"`
  27548. }
  27549. // String returns the string representation
  27550. func (s DeleteCustomerGatewayOutput) String() string {
  27551. return awsutil.Prettify(s)
  27552. }
  27553. // GoString returns the string representation
  27554. func (s DeleteCustomerGatewayOutput) GoString() string {
  27555. return s.String()
  27556. }
  27557. // Contains the parameters for DeleteDhcpOptions.
  27558. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteDhcpOptionsRequest
  27559. type DeleteDhcpOptionsInput struct {
  27560. _ struct{} `type:"structure"`
  27561. // The ID of the DHCP options set.
  27562. //
  27563. // DhcpOptionsId is a required field
  27564. DhcpOptionsId *string `type:"string" required:"true"`
  27565. // Checks whether you have the required permissions for the action, without
  27566. // actually making the request, and provides an error response. If you have
  27567. // the required permissions, the error response is DryRunOperation. Otherwise,
  27568. // it is UnauthorizedOperation.
  27569. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27570. }
  27571. // String returns the string representation
  27572. func (s DeleteDhcpOptionsInput) String() string {
  27573. return awsutil.Prettify(s)
  27574. }
  27575. // GoString returns the string representation
  27576. func (s DeleteDhcpOptionsInput) GoString() string {
  27577. return s.String()
  27578. }
  27579. // Validate inspects the fields of the type to determine if they are valid.
  27580. func (s *DeleteDhcpOptionsInput) Validate() error {
  27581. invalidParams := request.ErrInvalidParams{Context: "DeleteDhcpOptionsInput"}
  27582. if s.DhcpOptionsId == nil {
  27583. invalidParams.Add(request.NewErrParamRequired("DhcpOptionsId"))
  27584. }
  27585. if invalidParams.Len() > 0 {
  27586. return invalidParams
  27587. }
  27588. return nil
  27589. }
  27590. // SetDhcpOptionsId sets the DhcpOptionsId field's value.
  27591. func (s *DeleteDhcpOptionsInput) SetDhcpOptionsId(v string) *DeleteDhcpOptionsInput {
  27592. s.DhcpOptionsId = &v
  27593. return s
  27594. }
  27595. // SetDryRun sets the DryRun field's value.
  27596. func (s *DeleteDhcpOptionsInput) SetDryRun(v bool) *DeleteDhcpOptionsInput {
  27597. s.DryRun = &v
  27598. return s
  27599. }
  27600. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteDhcpOptionsOutput
  27601. type DeleteDhcpOptionsOutput struct {
  27602. _ struct{} `type:"structure"`
  27603. }
  27604. // String returns the string representation
  27605. func (s DeleteDhcpOptionsOutput) String() string {
  27606. return awsutil.Prettify(s)
  27607. }
  27608. // GoString returns the string representation
  27609. func (s DeleteDhcpOptionsOutput) GoString() string {
  27610. return s.String()
  27611. }
  27612. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteEgressOnlyInternetGatewayRequest
  27613. type DeleteEgressOnlyInternetGatewayInput struct {
  27614. _ struct{} `type:"structure"`
  27615. // Checks whether you have the required permissions for the action, without
  27616. // actually making the request, and provides an error response. If you have
  27617. // the required permissions, the error response is DryRunOperation. Otherwise,
  27618. // it is UnauthorizedOperation.
  27619. DryRun *bool `type:"boolean"`
  27620. // The ID of the egress-only Internet gateway.
  27621. //
  27622. // EgressOnlyInternetGatewayId is a required field
  27623. EgressOnlyInternetGatewayId *string `type:"string" required:"true"`
  27624. }
  27625. // String returns the string representation
  27626. func (s DeleteEgressOnlyInternetGatewayInput) String() string {
  27627. return awsutil.Prettify(s)
  27628. }
  27629. // GoString returns the string representation
  27630. func (s DeleteEgressOnlyInternetGatewayInput) GoString() string {
  27631. return s.String()
  27632. }
  27633. // Validate inspects the fields of the type to determine if they are valid.
  27634. func (s *DeleteEgressOnlyInternetGatewayInput) Validate() error {
  27635. invalidParams := request.ErrInvalidParams{Context: "DeleteEgressOnlyInternetGatewayInput"}
  27636. if s.EgressOnlyInternetGatewayId == nil {
  27637. invalidParams.Add(request.NewErrParamRequired("EgressOnlyInternetGatewayId"))
  27638. }
  27639. if invalidParams.Len() > 0 {
  27640. return invalidParams
  27641. }
  27642. return nil
  27643. }
  27644. // SetDryRun sets the DryRun field's value.
  27645. func (s *DeleteEgressOnlyInternetGatewayInput) SetDryRun(v bool) *DeleteEgressOnlyInternetGatewayInput {
  27646. s.DryRun = &v
  27647. return s
  27648. }
  27649. // SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
  27650. func (s *DeleteEgressOnlyInternetGatewayInput) SetEgressOnlyInternetGatewayId(v string) *DeleteEgressOnlyInternetGatewayInput {
  27651. s.EgressOnlyInternetGatewayId = &v
  27652. return s
  27653. }
  27654. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteEgressOnlyInternetGatewayResult
  27655. type DeleteEgressOnlyInternetGatewayOutput struct {
  27656. _ struct{} `type:"structure"`
  27657. // Returns true if the request succeeds; otherwise, it returns an error.
  27658. ReturnCode *bool `locationName:"returnCode" type:"boolean"`
  27659. }
  27660. // String returns the string representation
  27661. func (s DeleteEgressOnlyInternetGatewayOutput) String() string {
  27662. return awsutil.Prettify(s)
  27663. }
  27664. // GoString returns the string representation
  27665. func (s DeleteEgressOnlyInternetGatewayOutput) GoString() string {
  27666. return s.String()
  27667. }
  27668. // SetReturnCode sets the ReturnCode field's value.
  27669. func (s *DeleteEgressOnlyInternetGatewayOutput) SetReturnCode(v bool) *DeleteEgressOnlyInternetGatewayOutput {
  27670. s.ReturnCode = &v
  27671. return s
  27672. }
  27673. // Contains the parameters for DeleteFlowLogs.
  27674. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFlowLogsRequest
  27675. type DeleteFlowLogsInput struct {
  27676. _ struct{} `type:"structure"`
  27677. // One or more flow log IDs.
  27678. //
  27679. // FlowLogIds is a required field
  27680. FlowLogIds []*string `locationName:"FlowLogId" locationNameList:"item" type:"list" required:"true"`
  27681. }
  27682. // String returns the string representation
  27683. func (s DeleteFlowLogsInput) String() string {
  27684. return awsutil.Prettify(s)
  27685. }
  27686. // GoString returns the string representation
  27687. func (s DeleteFlowLogsInput) GoString() string {
  27688. return s.String()
  27689. }
  27690. // Validate inspects the fields of the type to determine if they are valid.
  27691. func (s *DeleteFlowLogsInput) Validate() error {
  27692. invalidParams := request.ErrInvalidParams{Context: "DeleteFlowLogsInput"}
  27693. if s.FlowLogIds == nil {
  27694. invalidParams.Add(request.NewErrParamRequired("FlowLogIds"))
  27695. }
  27696. if invalidParams.Len() > 0 {
  27697. return invalidParams
  27698. }
  27699. return nil
  27700. }
  27701. // SetFlowLogIds sets the FlowLogIds field's value.
  27702. func (s *DeleteFlowLogsInput) SetFlowLogIds(v []*string) *DeleteFlowLogsInput {
  27703. s.FlowLogIds = v
  27704. return s
  27705. }
  27706. // Contains the output of DeleteFlowLogs.
  27707. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFlowLogsResult
  27708. type DeleteFlowLogsOutput struct {
  27709. _ struct{} `type:"structure"`
  27710. // Information about the flow logs that could not be deleted successfully.
  27711. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  27712. }
  27713. // String returns the string representation
  27714. func (s DeleteFlowLogsOutput) String() string {
  27715. return awsutil.Prettify(s)
  27716. }
  27717. // GoString returns the string representation
  27718. func (s DeleteFlowLogsOutput) GoString() string {
  27719. return s.String()
  27720. }
  27721. // SetUnsuccessful sets the Unsuccessful field's value.
  27722. func (s *DeleteFlowLogsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteFlowLogsOutput {
  27723. s.Unsuccessful = v
  27724. return s
  27725. }
  27726. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFpgaImageRequest
  27727. type DeleteFpgaImageInput struct {
  27728. _ struct{} `type:"structure"`
  27729. // Checks whether you have the required permissions for the action, without
  27730. // actually making the request, and provides an error response. If you have
  27731. // the required permissions, the error response is DryRunOperation. Otherwise,
  27732. // it is UnauthorizedOperation.
  27733. DryRun *bool `type:"boolean"`
  27734. // The ID of the AFI.
  27735. //
  27736. // FpgaImageId is a required field
  27737. FpgaImageId *string `type:"string" required:"true"`
  27738. }
  27739. // String returns the string representation
  27740. func (s DeleteFpgaImageInput) String() string {
  27741. return awsutil.Prettify(s)
  27742. }
  27743. // GoString returns the string representation
  27744. func (s DeleteFpgaImageInput) GoString() string {
  27745. return s.String()
  27746. }
  27747. // Validate inspects the fields of the type to determine if they are valid.
  27748. func (s *DeleteFpgaImageInput) Validate() error {
  27749. invalidParams := request.ErrInvalidParams{Context: "DeleteFpgaImageInput"}
  27750. if s.FpgaImageId == nil {
  27751. invalidParams.Add(request.NewErrParamRequired("FpgaImageId"))
  27752. }
  27753. if invalidParams.Len() > 0 {
  27754. return invalidParams
  27755. }
  27756. return nil
  27757. }
  27758. // SetDryRun sets the DryRun field's value.
  27759. func (s *DeleteFpgaImageInput) SetDryRun(v bool) *DeleteFpgaImageInput {
  27760. s.DryRun = &v
  27761. return s
  27762. }
  27763. // SetFpgaImageId sets the FpgaImageId field's value.
  27764. func (s *DeleteFpgaImageInput) SetFpgaImageId(v string) *DeleteFpgaImageInput {
  27765. s.FpgaImageId = &v
  27766. return s
  27767. }
  27768. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFpgaImageResult
  27769. type DeleteFpgaImageOutput struct {
  27770. _ struct{} `type:"structure"`
  27771. // Is true if the request succeeds, and an error otherwise.
  27772. Return *bool `locationName:"return" type:"boolean"`
  27773. }
  27774. // String returns the string representation
  27775. func (s DeleteFpgaImageOutput) String() string {
  27776. return awsutil.Prettify(s)
  27777. }
  27778. // GoString returns the string representation
  27779. func (s DeleteFpgaImageOutput) GoString() string {
  27780. return s.String()
  27781. }
  27782. // SetReturn sets the Return field's value.
  27783. func (s *DeleteFpgaImageOutput) SetReturn(v bool) *DeleteFpgaImageOutput {
  27784. s.Return = &v
  27785. return s
  27786. }
  27787. // Contains the parameters for DeleteInternetGateway.
  27788. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteInternetGatewayRequest
  27789. type DeleteInternetGatewayInput struct {
  27790. _ struct{} `type:"structure"`
  27791. // Checks whether you have the required permissions for the action, without
  27792. // actually making the request, and provides an error response. If you have
  27793. // the required permissions, the error response is DryRunOperation. Otherwise,
  27794. // it is UnauthorizedOperation.
  27795. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27796. // The ID of the Internet gateway.
  27797. //
  27798. // InternetGatewayId is a required field
  27799. InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
  27800. }
  27801. // String returns the string representation
  27802. func (s DeleteInternetGatewayInput) String() string {
  27803. return awsutil.Prettify(s)
  27804. }
  27805. // GoString returns the string representation
  27806. func (s DeleteInternetGatewayInput) GoString() string {
  27807. return s.String()
  27808. }
  27809. // Validate inspects the fields of the type to determine if they are valid.
  27810. func (s *DeleteInternetGatewayInput) Validate() error {
  27811. invalidParams := request.ErrInvalidParams{Context: "DeleteInternetGatewayInput"}
  27812. if s.InternetGatewayId == nil {
  27813. invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
  27814. }
  27815. if invalidParams.Len() > 0 {
  27816. return invalidParams
  27817. }
  27818. return nil
  27819. }
  27820. // SetDryRun sets the DryRun field's value.
  27821. func (s *DeleteInternetGatewayInput) SetDryRun(v bool) *DeleteInternetGatewayInput {
  27822. s.DryRun = &v
  27823. return s
  27824. }
  27825. // SetInternetGatewayId sets the InternetGatewayId field's value.
  27826. func (s *DeleteInternetGatewayInput) SetInternetGatewayId(v string) *DeleteInternetGatewayInput {
  27827. s.InternetGatewayId = &v
  27828. return s
  27829. }
  27830. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteInternetGatewayOutput
  27831. type DeleteInternetGatewayOutput struct {
  27832. _ struct{} `type:"structure"`
  27833. }
  27834. // String returns the string representation
  27835. func (s DeleteInternetGatewayOutput) String() string {
  27836. return awsutil.Prettify(s)
  27837. }
  27838. // GoString returns the string representation
  27839. func (s DeleteInternetGatewayOutput) GoString() string {
  27840. return s.String()
  27841. }
  27842. // Contains the parameters for DeleteKeyPair.
  27843. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteKeyPairRequest
  27844. type DeleteKeyPairInput struct {
  27845. _ struct{} `type:"structure"`
  27846. // Checks whether you have the required permissions for the action, without
  27847. // actually making the request, and provides an error response. If you have
  27848. // the required permissions, the error response is DryRunOperation. Otherwise,
  27849. // it is UnauthorizedOperation.
  27850. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27851. // The name of the key pair.
  27852. //
  27853. // KeyName is a required field
  27854. KeyName *string `type:"string" required:"true"`
  27855. }
  27856. // String returns the string representation
  27857. func (s DeleteKeyPairInput) String() string {
  27858. return awsutil.Prettify(s)
  27859. }
  27860. // GoString returns the string representation
  27861. func (s DeleteKeyPairInput) GoString() string {
  27862. return s.String()
  27863. }
  27864. // Validate inspects the fields of the type to determine if they are valid.
  27865. func (s *DeleteKeyPairInput) Validate() error {
  27866. invalidParams := request.ErrInvalidParams{Context: "DeleteKeyPairInput"}
  27867. if s.KeyName == nil {
  27868. invalidParams.Add(request.NewErrParamRequired("KeyName"))
  27869. }
  27870. if invalidParams.Len() > 0 {
  27871. return invalidParams
  27872. }
  27873. return nil
  27874. }
  27875. // SetDryRun sets the DryRun field's value.
  27876. func (s *DeleteKeyPairInput) SetDryRun(v bool) *DeleteKeyPairInput {
  27877. s.DryRun = &v
  27878. return s
  27879. }
  27880. // SetKeyName sets the KeyName field's value.
  27881. func (s *DeleteKeyPairInput) SetKeyName(v string) *DeleteKeyPairInput {
  27882. s.KeyName = &v
  27883. return s
  27884. }
  27885. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteKeyPairOutput
  27886. type DeleteKeyPairOutput struct {
  27887. _ struct{} `type:"structure"`
  27888. }
  27889. // String returns the string representation
  27890. func (s DeleteKeyPairOutput) String() string {
  27891. return awsutil.Prettify(s)
  27892. }
  27893. // GoString returns the string representation
  27894. func (s DeleteKeyPairOutput) GoString() string {
  27895. return s.String()
  27896. }
  27897. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplateRequest
  27898. type DeleteLaunchTemplateInput struct {
  27899. _ struct{} `type:"structure"`
  27900. // Checks whether you have the required permissions for the action, without
  27901. // actually making the request, and provides an error response. If you have
  27902. // the required permissions, the error response is DryRunOperation. Otherwise,
  27903. // it is UnauthorizedOperation.
  27904. DryRun *bool `type:"boolean"`
  27905. // The ID of the launch template. You must specify either the launch template
  27906. // ID or launch template name in the request.
  27907. LaunchTemplateId *string `type:"string"`
  27908. // The name of the launch template. You must specify either the launch template
  27909. // ID or launch template name in the request.
  27910. LaunchTemplateName *string `min:"3" type:"string"`
  27911. }
  27912. // String returns the string representation
  27913. func (s DeleteLaunchTemplateInput) String() string {
  27914. return awsutil.Prettify(s)
  27915. }
  27916. // GoString returns the string representation
  27917. func (s DeleteLaunchTemplateInput) GoString() string {
  27918. return s.String()
  27919. }
  27920. // Validate inspects the fields of the type to determine if they are valid.
  27921. func (s *DeleteLaunchTemplateInput) Validate() error {
  27922. invalidParams := request.ErrInvalidParams{Context: "DeleteLaunchTemplateInput"}
  27923. if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
  27924. invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
  27925. }
  27926. if invalidParams.Len() > 0 {
  27927. return invalidParams
  27928. }
  27929. return nil
  27930. }
  27931. // SetDryRun sets the DryRun field's value.
  27932. func (s *DeleteLaunchTemplateInput) SetDryRun(v bool) *DeleteLaunchTemplateInput {
  27933. s.DryRun = &v
  27934. return s
  27935. }
  27936. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  27937. func (s *DeleteLaunchTemplateInput) SetLaunchTemplateId(v string) *DeleteLaunchTemplateInput {
  27938. s.LaunchTemplateId = &v
  27939. return s
  27940. }
  27941. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  27942. func (s *DeleteLaunchTemplateInput) SetLaunchTemplateName(v string) *DeleteLaunchTemplateInput {
  27943. s.LaunchTemplateName = &v
  27944. return s
  27945. }
  27946. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplateResult
  27947. type DeleteLaunchTemplateOutput struct {
  27948. _ struct{} `type:"structure"`
  27949. // Information about the launch template.
  27950. LaunchTemplate *LaunchTemplate `locationName:"launchTemplate" type:"structure"`
  27951. }
  27952. // String returns the string representation
  27953. func (s DeleteLaunchTemplateOutput) String() string {
  27954. return awsutil.Prettify(s)
  27955. }
  27956. // GoString returns the string representation
  27957. func (s DeleteLaunchTemplateOutput) GoString() string {
  27958. return s.String()
  27959. }
  27960. // SetLaunchTemplate sets the LaunchTemplate field's value.
  27961. func (s *DeleteLaunchTemplateOutput) SetLaunchTemplate(v *LaunchTemplate) *DeleteLaunchTemplateOutput {
  27962. s.LaunchTemplate = v
  27963. return s
  27964. }
  27965. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplateVersionsRequest
  27966. type DeleteLaunchTemplateVersionsInput struct {
  27967. _ struct{} `type:"structure"`
  27968. // Checks whether you have the required permissions for the action, without
  27969. // actually making the request, and provides an error response. If you have
  27970. // the required permissions, the error response is DryRunOperation. Otherwise,
  27971. // it is UnauthorizedOperation.
  27972. DryRun *bool `type:"boolean"`
  27973. // The ID of the launch template. You must specify either the launch template
  27974. // ID or launch template name in the request.
  27975. LaunchTemplateId *string `type:"string"`
  27976. // The name of the launch template. You must specify either the launch template
  27977. // ID or launch template name in the request.
  27978. LaunchTemplateName *string `min:"3" type:"string"`
  27979. // The version numbers of one or more launch template versions to delete.
  27980. //
  27981. // Versions is a required field
  27982. Versions []*string `locationName:"LaunchTemplateVersion" locationNameList:"item" type:"list" required:"true"`
  27983. }
  27984. // String returns the string representation
  27985. func (s DeleteLaunchTemplateVersionsInput) String() string {
  27986. return awsutil.Prettify(s)
  27987. }
  27988. // GoString returns the string representation
  27989. func (s DeleteLaunchTemplateVersionsInput) GoString() string {
  27990. return s.String()
  27991. }
  27992. // Validate inspects the fields of the type to determine if they are valid.
  27993. func (s *DeleteLaunchTemplateVersionsInput) Validate() error {
  27994. invalidParams := request.ErrInvalidParams{Context: "DeleteLaunchTemplateVersionsInput"}
  27995. if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
  27996. invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
  27997. }
  27998. if s.Versions == nil {
  27999. invalidParams.Add(request.NewErrParamRequired("Versions"))
  28000. }
  28001. if invalidParams.Len() > 0 {
  28002. return invalidParams
  28003. }
  28004. return nil
  28005. }
  28006. // SetDryRun sets the DryRun field's value.
  28007. func (s *DeleteLaunchTemplateVersionsInput) SetDryRun(v bool) *DeleteLaunchTemplateVersionsInput {
  28008. s.DryRun = &v
  28009. return s
  28010. }
  28011. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  28012. func (s *DeleteLaunchTemplateVersionsInput) SetLaunchTemplateId(v string) *DeleteLaunchTemplateVersionsInput {
  28013. s.LaunchTemplateId = &v
  28014. return s
  28015. }
  28016. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  28017. func (s *DeleteLaunchTemplateVersionsInput) SetLaunchTemplateName(v string) *DeleteLaunchTemplateVersionsInput {
  28018. s.LaunchTemplateName = &v
  28019. return s
  28020. }
  28021. // SetVersions sets the Versions field's value.
  28022. func (s *DeleteLaunchTemplateVersionsInput) SetVersions(v []*string) *DeleteLaunchTemplateVersionsInput {
  28023. s.Versions = v
  28024. return s
  28025. }
  28026. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplateVersionsResult
  28027. type DeleteLaunchTemplateVersionsOutput struct {
  28028. _ struct{} `type:"structure"`
  28029. // Information about the launch template versions that were successfully deleted.
  28030. SuccessfullyDeletedLaunchTemplateVersions []*DeleteLaunchTemplateVersionsResponseSuccessItem `locationName:"successfullyDeletedLaunchTemplateVersionSet" locationNameList:"item" type:"list"`
  28031. // Information about the launch template versions that could not be deleted.
  28032. UnsuccessfullyDeletedLaunchTemplateVersions []*DeleteLaunchTemplateVersionsResponseErrorItem `locationName:"unsuccessfullyDeletedLaunchTemplateVersionSet" locationNameList:"item" type:"list"`
  28033. }
  28034. // String returns the string representation
  28035. func (s DeleteLaunchTemplateVersionsOutput) String() string {
  28036. return awsutil.Prettify(s)
  28037. }
  28038. // GoString returns the string representation
  28039. func (s DeleteLaunchTemplateVersionsOutput) GoString() string {
  28040. return s.String()
  28041. }
  28042. // SetSuccessfullyDeletedLaunchTemplateVersions sets the SuccessfullyDeletedLaunchTemplateVersions field's value.
  28043. func (s *DeleteLaunchTemplateVersionsOutput) SetSuccessfullyDeletedLaunchTemplateVersions(v []*DeleteLaunchTemplateVersionsResponseSuccessItem) *DeleteLaunchTemplateVersionsOutput {
  28044. s.SuccessfullyDeletedLaunchTemplateVersions = v
  28045. return s
  28046. }
  28047. // SetUnsuccessfullyDeletedLaunchTemplateVersions sets the UnsuccessfullyDeletedLaunchTemplateVersions field's value.
  28048. func (s *DeleteLaunchTemplateVersionsOutput) SetUnsuccessfullyDeletedLaunchTemplateVersions(v []*DeleteLaunchTemplateVersionsResponseErrorItem) *DeleteLaunchTemplateVersionsOutput {
  28049. s.UnsuccessfullyDeletedLaunchTemplateVersions = v
  28050. return s
  28051. }
  28052. // Describes a launch template version that could not be deleted.
  28053. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplateVersionsResponseErrorItem
  28054. type DeleteLaunchTemplateVersionsResponseErrorItem struct {
  28055. _ struct{} `type:"structure"`
  28056. // The ID of the launch template.
  28057. LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
  28058. // The name of the launch template.
  28059. LaunchTemplateName *string `locationName:"launchTemplateName" type:"string"`
  28060. // Information about the error.
  28061. ResponseError *ResponseError `locationName:"responseError" type:"structure"`
  28062. // The version number of the launch template.
  28063. VersionNumber *int64 `locationName:"versionNumber" type:"long"`
  28064. }
  28065. // String returns the string representation
  28066. func (s DeleteLaunchTemplateVersionsResponseErrorItem) String() string {
  28067. return awsutil.Prettify(s)
  28068. }
  28069. // GoString returns the string representation
  28070. func (s DeleteLaunchTemplateVersionsResponseErrorItem) GoString() string {
  28071. return s.String()
  28072. }
  28073. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  28074. func (s *DeleteLaunchTemplateVersionsResponseErrorItem) SetLaunchTemplateId(v string) *DeleteLaunchTemplateVersionsResponseErrorItem {
  28075. s.LaunchTemplateId = &v
  28076. return s
  28077. }
  28078. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  28079. func (s *DeleteLaunchTemplateVersionsResponseErrorItem) SetLaunchTemplateName(v string) *DeleteLaunchTemplateVersionsResponseErrorItem {
  28080. s.LaunchTemplateName = &v
  28081. return s
  28082. }
  28083. // SetResponseError sets the ResponseError field's value.
  28084. func (s *DeleteLaunchTemplateVersionsResponseErrorItem) SetResponseError(v *ResponseError) *DeleteLaunchTemplateVersionsResponseErrorItem {
  28085. s.ResponseError = v
  28086. return s
  28087. }
  28088. // SetVersionNumber sets the VersionNumber field's value.
  28089. func (s *DeleteLaunchTemplateVersionsResponseErrorItem) SetVersionNumber(v int64) *DeleteLaunchTemplateVersionsResponseErrorItem {
  28090. s.VersionNumber = &v
  28091. return s
  28092. }
  28093. // Describes a launch template version that was successfully deleted.
  28094. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplateVersionsResponseSuccessItem
  28095. type DeleteLaunchTemplateVersionsResponseSuccessItem struct {
  28096. _ struct{} `type:"structure"`
  28097. // The ID of the launch template.
  28098. LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
  28099. // The name of the launch template.
  28100. LaunchTemplateName *string `locationName:"launchTemplateName" type:"string"`
  28101. // The version number of the launch template.
  28102. VersionNumber *int64 `locationName:"versionNumber" type:"long"`
  28103. }
  28104. // String returns the string representation
  28105. func (s DeleteLaunchTemplateVersionsResponseSuccessItem) String() string {
  28106. return awsutil.Prettify(s)
  28107. }
  28108. // GoString returns the string representation
  28109. func (s DeleteLaunchTemplateVersionsResponseSuccessItem) GoString() string {
  28110. return s.String()
  28111. }
  28112. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  28113. func (s *DeleteLaunchTemplateVersionsResponseSuccessItem) SetLaunchTemplateId(v string) *DeleteLaunchTemplateVersionsResponseSuccessItem {
  28114. s.LaunchTemplateId = &v
  28115. return s
  28116. }
  28117. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  28118. func (s *DeleteLaunchTemplateVersionsResponseSuccessItem) SetLaunchTemplateName(v string) *DeleteLaunchTemplateVersionsResponseSuccessItem {
  28119. s.LaunchTemplateName = &v
  28120. return s
  28121. }
  28122. // SetVersionNumber sets the VersionNumber field's value.
  28123. func (s *DeleteLaunchTemplateVersionsResponseSuccessItem) SetVersionNumber(v int64) *DeleteLaunchTemplateVersionsResponseSuccessItem {
  28124. s.VersionNumber = &v
  28125. return s
  28126. }
  28127. // Contains the parameters for DeleteNatGateway.
  28128. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNatGatewayRequest
  28129. type DeleteNatGatewayInput struct {
  28130. _ struct{} `type:"structure"`
  28131. // The ID of the NAT gateway.
  28132. //
  28133. // NatGatewayId is a required field
  28134. NatGatewayId *string `type:"string" required:"true"`
  28135. }
  28136. // String returns the string representation
  28137. func (s DeleteNatGatewayInput) String() string {
  28138. return awsutil.Prettify(s)
  28139. }
  28140. // GoString returns the string representation
  28141. func (s DeleteNatGatewayInput) GoString() string {
  28142. return s.String()
  28143. }
  28144. // Validate inspects the fields of the type to determine if they are valid.
  28145. func (s *DeleteNatGatewayInput) Validate() error {
  28146. invalidParams := request.ErrInvalidParams{Context: "DeleteNatGatewayInput"}
  28147. if s.NatGatewayId == nil {
  28148. invalidParams.Add(request.NewErrParamRequired("NatGatewayId"))
  28149. }
  28150. if invalidParams.Len() > 0 {
  28151. return invalidParams
  28152. }
  28153. return nil
  28154. }
  28155. // SetNatGatewayId sets the NatGatewayId field's value.
  28156. func (s *DeleteNatGatewayInput) SetNatGatewayId(v string) *DeleteNatGatewayInput {
  28157. s.NatGatewayId = &v
  28158. return s
  28159. }
  28160. // Contains the output of DeleteNatGateway.
  28161. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNatGatewayResult
  28162. type DeleteNatGatewayOutput struct {
  28163. _ struct{} `type:"structure"`
  28164. // The ID of the NAT gateway.
  28165. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  28166. }
  28167. // String returns the string representation
  28168. func (s DeleteNatGatewayOutput) String() string {
  28169. return awsutil.Prettify(s)
  28170. }
  28171. // GoString returns the string representation
  28172. func (s DeleteNatGatewayOutput) GoString() string {
  28173. return s.String()
  28174. }
  28175. // SetNatGatewayId sets the NatGatewayId field's value.
  28176. func (s *DeleteNatGatewayOutput) SetNatGatewayId(v string) *DeleteNatGatewayOutput {
  28177. s.NatGatewayId = &v
  28178. return s
  28179. }
  28180. // Contains the parameters for DeleteNetworkAclEntry.
  28181. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclEntryRequest
  28182. type DeleteNetworkAclEntryInput struct {
  28183. _ struct{} `type:"structure"`
  28184. // Checks whether you have the required permissions for the action, without
  28185. // actually making the request, and provides an error response. If you have
  28186. // the required permissions, the error response is DryRunOperation. Otherwise,
  28187. // it is UnauthorizedOperation.
  28188. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28189. // Indicates whether the rule is an egress rule.
  28190. //
  28191. // Egress is a required field
  28192. Egress *bool `locationName:"egress" type:"boolean" required:"true"`
  28193. // The ID of the network ACL.
  28194. //
  28195. // NetworkAclId is a required field
  28196. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  28197. // The rule number of the entry to delete.
  28198. //
  28199. // RuleNumber is a required field
  28200. RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
  28201. }
  28202. // String returns the string representation
  28203. func (s DeleteNetworkAclEntryInput) String() string {
  28204. return awsutil.Prettify(s)
  28205. }
  28206. // GoString returns the string representation
  28207. func (s DeleteNetworkAclEntryInput) GoString() string {
  28208. return s.String()
  28209. }
  28210. // Validate inspects the fields of the type to determine if they are valid.
  28211. func (s *DeleteNetworkAclEntryInput) Validate() error {
  28212. invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkAclEntryInput"}
  28213. if s.Egress == nil {
  28214. invalidParams.Add(request.NewErrParamRequired("Egress"))
  28215. }
  28216. if s.NetworkAclId == nil {
  28217. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  28218. }
  28219. if s.RuleNumber == nil {
  28220. invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
  28221. }
  28222. if invalidParams.Len() > 0 {
  28223. return invalidParams
  28224. }
  28225. return nil
  28226. }
  28227. // SetDryRun sets the DryRun field's value.
  28228. func (s *DeleteNetworkAclEntryInput) SetDryRun(v bool) *DeleteNetworkAclEntryInput {
  28229. s.DryRun = &v
  28230. return s
  28231. }
  28232. // SetEgress sets the Egress field's value.
  28233. func (s *DeleteNetworkAclEntryInput) SetEgress(v bool) *DeleteNetworkAclEntryInput {
  28234. s.Egress = &v
  28235. return s
  28236. }
  28237. // SetNetworkAclId sets the NetworkAclId field's value.
  28238. func (s *DeleteNetworkAclEntryInput) SetNetworkAclId(v string) *DeleteNetworkAclEntryInput {
  28239. s.NetworkAclId = &v
  28240. return s
  28241. }
  28242. // SetRuleNumber sets the RuleNumber field's value.
  28243. func (s *DeleteNetworkAclEntryInput) SetRuleNumber(v int64) *DeleteNetworkAclEntryInput {
  28244. s.RuleNumber = &v
  28245. return s
  28246. }
  28247. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclEntryOutput
  28248. type DeleteNetworkAclEntryOutput struct {
  28249. _ struct{} `type:"structure"`
  28250. }
  28251. // String returns the string representation
  28252. func (s DeleteNetworkAclEntryOutput) String() string {
  28253. return awsutil.Prettify(s)
  28254. }
  28255. // GoString returns the string representation
  28256. func (s DeleteNetworkAclEntryOutput) GoString() string {
  28257. return s.String()
  28258. }
  28259. // Contains the parameters for DeleteNetworkAcl.
  28260. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclRequest
  28261. type DeleteNetworkAclInput struct {
  28262. _ struct{} `type:"structure"`
  28263. // Checks whether you have the required permissions for the action, without
  28264. // actually making the request, and provides an error response. If you have
  28265. // the required permissions, the error response is DryRunOperation. Otherwise,
  28266. // it is UnauthorizedOperation.
  28267. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28268. // The ID of the network ACL.
  28269. //
  28270. // NetworkAclId is a required field
  28271. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  28272. }
  28273. // String returns the string representation
  28274. func (s DeleteNetworkAclInput) String() string {
  28275. return awsutil.Prettify(s)
  28276. }
  28277. // GoString returns the string representation
  28278. func (s DeleteNetworkAclInput) GoString() string {
  28279. return s.String()
  28280. }
  28281. // Validate inspects the fields of the type to determine if they are valid.
  28282. func (s *DeleteNetworkAclInput) Validate() error {
  28283. invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkAclInput"}
  28284. if s.NetworkAclId == nil {
  28285. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  28286. }
  28287. if invalidParams.Len() > 0 {
  28288. return invalidParams
  28289. }
  28290. return nil
  28291. }
  28292. // SetDryRun sets the DryRun field's value.
  28293. func (s *DeleteNetworkAclInput) SetDryRun(v bool) *DeleteNetworkAclInput {
  28294. s.DryRun = &v
  28295. return s
  28296. }
  28297. // SetNetworkAclId sets the NetworkAclId field's value.
  28298. func (s *DeleteNetworkAclInput) SetNetworkAclId(v string) *DeleteNetworkAclInput {
  28299. s.NetworkAclId = &v
  28300. return s
  28301. }
  28302. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclOutput
  28303. type DeleteNetworkAclOutput struct {
  28304. _ struct{} `type:"structure"`
  28305. }
  28306. // String returns the string representation
  28307. func (s DeleteNetworkAclOutput) String() string {
  28308. return awsutil.Prettify(s)
  28309. }
  28310. // GoString returns the string representation
  28311. func (s DeleteNetworkAclOutput) GoString() string {
  28312. return s.String()
  28313. }
  28314. // Contains the parameters for DeleteNetworkInterface.
  28315. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfaceRequest
  28316. type DeleteNetworkInterfaceInput struct {
  28317. _ struct{} `type:"structure"`
  28318. // Checks whether you have the required permissions for the action, without
  28319. // actually making the request, and provides an error response. If you have
  28320. // the required permissions, the error response is DryRunOperation. Otherwise,
  28321. // it is UnauthorizedOperation.
  28322. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28323. // The ID of the network interface.
  28324. //
  28325. // NetworkInterfaceId is a required field
  28326. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  28327. }
  28328. // String returns the string representation
  28329. func (s DeleteNetworkInterfaceInput) String() string {
  28330. return awsutil.Prettify(s)
  28331. }
  28332. // GoString returns the string representation
  28333. func (s DeleteNetworkInterfaceInput) GoString() string {
  28334. return s.String()
  28335. }
  28336. // Validate inspects the fields of the type to determine if they are valid.
  28337. func (s *DeleteNetworkInterfaceInput) Validate() error {
  28338. invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkInterfaceInput"}
  28339. if s.NetworkInterfaceId == nil {
  28340. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  28341. }
  28342. if invalidParams.Len() > 0 {
  28343. return invalidParams
  28344. }
  28345. return nil
  28346. }
  28347. // SetDryRun sets the DryRun field's value.
  28348. func (s *DeleteNetworkInterfaceInput) SetDryRun(v bool) *DeleteNetworkInterfaceInput {
  28349. s.DryRun = &v
  28350. return s
  28351. }
  28352. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  28353. func (s *DeleteNetworkInterfaceInput) SetNetworkInterfaceId(v string) *DeleteNetworkInterfaceInput {
  28354. s.NetworkInterfaceId = &v
  28355. return s
  28356. }
  28357. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfaceOutput
  28358. type DeleteNetworkInterfaceOutput struct {
  28359. _ struct{} `type:"structure"`
  28360. }
  28361. // String returns the string representation
  28362. func (s DeleteNetworkInterfaceOutput) String() string {
  28363. return awsutil.Prettify(s)
  28364. }
  28365. // GoString returns the string representation
  28366. func (s DeleteNetworkInterfaceOutput) GoString() string {
  28367. return s.String()
  28368. }
  28369. // Contains the parameters for DeleteNetworkInterfacePermission.
  28370. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfacePermissionRequest
  28371. type DeleteNetworkInterfacePermissionInput struct {
  28372. _ struct{} `type:"structure"`
  28373. // Checks whether you have the required permissions for the action, without
  28374. // actually making the request, and provides an error response. If you have
  28375. // the required permissions, the error response is DryRunOperation. Otherwise,
  28376. // it is UnauthorizedOperation.
  28377. DryRun *bool `type:"boolean"`
  28378. // Specify true to remove the permission even if the network interface is attached
  28379. // to an instance.
  28380. Force *bool `type:"boolean"`
  28381. // The ID of the network interface permission.
  28382. //
  28383. // NetworkInterfacePermissionId is a required field
  28384. NetworkInterfacePermissionId *string `type:"string" required:"true"`
  28385. }
  28386. // String returns the string representation
  28387. func (s DeleteNetworkInterfacePermissionInput) String() string {
  28388. return awsutil.Prettify(s)
  28389. }
  28390. // GoString returns the string representation
  28391. func (s DeleteNetworkInterfacePermissionInput) GoString() string {
  28392. return s.String()
  28393. }
  28394. // Validate inspects the fields of the type to determine if they are valid.
  28395. func (s *DeleteNetworkInterfacePermissionInput) Validate() error {
  28396. invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkInterfacePermissionInput"}
  28397. if s.NetworkInterfacePermissionId == nil {
  28398. invalidParams.Add(request.NewErrParamRequired("NetworkInterfacePermissionId"))
  28399. }
  28400. if invalidParams.Len() > 0 {
  28401. return invalidParams
  28402. }
  28403. return nil
  28404. }
  28405. // SetDryRun sets the DryRun field's value.
  28406. func (s *DeleteNetworkInterfacePermissionInput) SetDryRun(v bool) *DeleteNetworkInterfacePermissionInput {
  28407. s.DryRun = &v
  28408. return s
  28409. }
  28410. // SetForce sets the Force field's value.
  28411. func (s *DeleteNetworkInterfacePermissionInput) SetForce(v bool) *DeleteNetworkInterfacePermissionInput {
  28412. s.Force = &v
  28413. return s
  28414. }
  28415. // SetNetworkInterfacePermissionId sets the NetworkInterfacePermissionId field's value.
  28416. func (s *DeleteNetworkInterfacePermissionInput) SetNetworkInterfacePermissionId(v string) *DeleteNetworkInterfacePermissionInput {
  28417. s.NetworkInterfacePermissionId = &v
  28418. return s
  28419. }
  28420. // Contains the output for DeleteNetworkInterfacePermission.
  28421. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfacePermissionResult
  28422. type DeleteNetworkInterfacePermissionOutput struct {
  28423. _ struct{} `type:"structure"`
  28424. // Returns true if the request succeeds, otherwise returns an error.
  28425. Return *bool `locationName:"return" type:"boolean"`
  28426. }
  28427. // String returns the string representation
  28428. func (s DeleteNetworkInterfacePermissionOutput) String() string {
  28429. return awsutil.Prettify(s)
  28430. }
  28431. // GoString returns the string representation
  28432. func (s DeleteNetworkInterfacePermissionOutput) GoString() string {
  28433. return s.String()
  28434. }
  28435. // SetReturn sets the Return field's value.
  28436. func (s *DeleteNetworkInterfacePermissionOutput) SetReturn(v bool) *DeleteNetworkInterfacePermissionOutput {
  28437. s.Return = &v
  28438. return s
  28439. }
  28440. // Contains the parameters for DeletePlacementGroup.
  28441. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeletePlacementGroupRequest
  28442. type DeletePlacementGroupInput struct {
  28443. _ struct{} `type:"structure"`
  28444. // Checks whether you have the required permissions for the action, without
  28445. // actually making the request, and provides an error response. If you have
  28446. // the required permissions, the error response is DryRunOperation. Otherwise,
  28447. // it is UnauthorizedOperation.
  28448. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28449. // The name of the placement group.
  28450. //
  28451. // GroupName is a required field
  28452. GroupName *string `locationName:"groupName" type:"string" required:"true"`
  28453. }
  28454. // String returns the string representation
  28455. func (s DeletePlacementGroupInput) String() string {
  28456. return awsutil.Prettify(s)
  28457. }
  28458. // GoString returns the string representation
  28459. func (s DeletePlacementGroupInput) GoString() string {
  28460. return s.String()
  28461. }
  28462. // Validate inspects the fields of the type to determine if they are valid.
  28463. func (s *DeletePlacementGroupInput) Validate() error {
  28464. invalidParams := request.ErrInvalidParams{Context: "DeletePlacementGroupInput"}
  28465. if s.GroupName == nil {
  28466. invalidParams.Add(request.NewErrParamRequired("GroupName"))
  28467. }
  28468. if invalidParams.Len() > 0 {
  28469. return invalidParams
  28470. }
  28471. return nil
  28472. }
  28473. // SetDryRun sets the DryRun field's value.
  28474. func (s *DeletePlacementGroupInput) SetDryRun(v bool) *DeletePlacementGroupInput {
  28475. s.DryRun = &v
  28476. return s
  28477. }
  28478. // SetGroupName sets the GroupName field's value.
  28479. func (s *DeletePlacementGroupInput) SetGroupName(v string) *DeletePlacementGroupInput {
  28480. s.GroupName = &v
  28481. return s
  28482. }
  28483. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeletePlacementGroupOutput
  28484. type DeletePlacementGroupOutput struct {
  28485. _ struct{} `type:"structure"`
  28486. }
  28487. // String returns the string representation
  28488. func (s DeletePlacementGroupOutput) String() string {
  28489. return awsutil.Prettify(s)
  28490. }
  28491. // GoString returns the string representation
  28492. func (s DeletePlacementGroupOutput) GoString() string {
  28493. return s.String()
  28494. }
  28495. // Contains the parameters for DeleteRoute.
  28496. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteRequest
  28497. type DeleteRouteInput struct {
  28498. _ struct{} `type:"structure"`
  28499. // The IPv4 CIDR range for the route. The value you specify must match the CIDR
  28500. // for the route exactly.
  28501. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  28502. // The IPv6 CIDR range for the route. The value you specify must match the CIDR
  28503. // for the route exactly.
  28504. DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
  28505. // Checks whether you have the required permissions for the action, without
  28506. // actually making the request, and provides an error response. If you have
  28507. // the required permissions, the error response is DryRunOperation. Otherwise,
  28508. // it is UnauthorizedOperation.
  28509. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28510. // The ID of the route table.
  28511. //
  28512. // RouteTableId is a required field
  28513. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  28514. }
  28515. // String returns the string representation
  28516. func (s DeleteRouteInput) String() string {
  28517. return awsutil.Prettify(s)
  28518. }
  28519. // GoString returns the string representation
  28520. func (s DeleteRouteInput) GoString() string {
  28521. return s.String()
  28522. }
  28523. // Validate inspects the fields of the type to determine if they are valid.
  28524. func (s *DeleteRouteInput) Validate() error {
  28525. invalidParams := request.ErrInvalidParams{Context: "DeleteRouteInput"}
  28526. if s.RouteTableId == nil {
  28527. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  28528. }
  28529. if invalidParams.Len() > 0 {
  28530. return invalidParams
  28531. }
  28532. return nil
  28533. }
  28534. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  28535. func (s *DeleteRouteInput) SetDestinationCidrBlock(v string) *DeleteRouteInput {
  28536. s.DestinationCidrBlock = &v
  28537. return s
  28538. }
  28539. // SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
  28540. func (s *DeleteRouteInput) SetDestinationIpv6CidrBlock(v string) *DeleteRouteInput {
  28541. s.DestinationIpv6CidrBlock = &v
  28542. return s
  28543. }
  28544. // SetDryRun sets the DryRun field's value.
  28545. func (s *DeleteRouteInput) SetDryRun(v bool) *DeleteRouteInput {
  28546. s.DryRun = &v
  28547. return s
  28548. }
  28549. // SetRouteTableId sets the RouteTableId field's value.
  28550. func (s *DeleteRouteInput) SetRouteTableId(v string) *DeleteRouteInput {
  28551. s.RouteTableId = &v
  28552. return s
  28553. }
  28554. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteOutput
  28555. type DeleteRouteOutput struct {
  28556. _ struct{} `type:"structure"`
  28557. }
  28558. // String returns the string representation
  28559. func (s DeleteRouteOutput) String() string {
  28560. return awsutil.Prettify(s)
  28561. }
  28562. // GoString returns the string representation
  28563. func (s DeleteRouteOutput) GoString() string {
  28564. return s.String()
  28565. }
  28566. // Contains the parameters for DeleteRouteTable.
  28567. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteTableRequest
  28568. type DeleteRouteTableInput struct {
  28569. _ struct{} `type:"structure"`
  28570. // Checks whether you have the required permissions for the action, without
  28571. // actually making the request, and provides an error response. If you have
  28572. // the required permissions, the error response is DryRunOperation. Otherwise,
  28573. // it is UnauthorizedOperation.
  28574. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28575. // The ID of the route table.
  28576. //
  28577. // RouteTableId is a required field
  28578. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  28579. }
  28580. // String returns the string representation
  28581. func (s DeleteRouteTableInput) String() string {
  28582. return awsutil.Prettify(s)
  28583. }
  28584. // GoString returns the string representation
  28585. func (s DeleteRouteTableInput) GoString() string {
  28586. return s.String()
  28587. }
  28588. // Validate inspects the fields of the type to determine if they are valid.
  28589. func (s *DeleteRouteTableInput) Validate() error {
  28590. invalidParams := request.ErrInvalidParams{Context: "DeleteRouteTableInput"}
  28591. if s.RouteTableId == nil {
  28592. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  28593. }
  28594. if invalidParams.Len() > 0 {
  28595. return invalidParams
  28596. }
  28597. return nil
  28598. }
  28599. // SetDryRun sets the DryRun field's value.
  28600. func (s *DeleteRouteTableInput) SetDryRun(v bool) *DeleteRouteTableInput {
  28601. s.DryRun = &v
  28602. return s
  28603. }
  28604. // SetRouteTableId sets the RouteTableId field's value.
  28605. func (s *DeleteRouteTableInput) SetRouteTableId(v string) *DeleteRouteTableInput {
  28606. s.RouteTableId = &v
  28607. return s
  28608. }
  28609. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteTableOutput
  28610. type DeleteRouteTableOutput struct {
  28611. _ struct{} `type:"structure"`
  28612. }
  28613. // String returns the string representation
  28614. func (s DeleteRouteTableOutput) String() string {
  28615. return awsutil.Prettify(s)
  28616. }
  28617. // GoString returns the string representation
  28618. func (s DeleteRouteTableOutput) GoString() string {
  28619. return s.String()
  28620. }
  28621. // Contains the parameters for DeleteSecurityGroup.
  28622. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSecurityGroupRequest
  28623. type DeleteSecurityGroupInput struct {
  28624. _ struct{} `type:"structure"`
  28625. // Checks whether you have the required permissions for the action, without
  28626. // actually making the request, and provides an error response. If you have
  28627. // the required permissions, the error response is DryRunOperation. Otherwise,
  28628. // it is UnauthorizedOperation.
  28629. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28630. // The ID of the security group. Required for a nondefault VPC.
  28631. GroupId *string `type:"string"`
  28632. // [EC2-Classic, default VPC] The name of the security group. You can specify
  28633. // either the security group name or the security group ID.
  28634. GroupName *string `type:"string"`
  28635. }
  28636. // String returns the string representation
  28637. func (s DeleteSecurityGroupInput) String() string {
  28638. return awsutil.Prettify(s)
  28639. }
  28640. // GoString returns the string representation
  28641. func (s DeleteSecurityGroupInput) GoString() string {
  28642. return s.String()
  28643. }
  28644. // SetDryRun sets the DryRun field's value.
  28645. func (s *DeleteSecurityGroupInput) SetDryRun(v bool) *DeleteSecurityGroupInput {
  28646. s.DryRun = &v
  28647. return s
  28648. }
  28649. // SetGroupId sets the GroupId field's value.
  28650. func (s *DeleteSecurityGroupInput) SetGroupId(v string) *DeleteSecurityGroupInput {
  28651. s.GroupId = &v
  28652. return s
  28653. }
  28654. // SetGroupName sets the GroupName field's value.
  28655. func (s *DeleteSecurityGroupInput) SetGroupName(v string) *DeleteSecurityGroupInput {
  28656. s.GroupName = &v
  28657. return s
  28658. }
  28659. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSecurityGroupOutput
  28660. type DeleteSecurityGroupOutput struct {
  28661. _ struct{} `type:"structure"`
  28662. }
  28663. // String returns the string representation
  28664. func (s DeleteSecurityGroupOutput) String() string {
  28665. return awsutil.Prettify(s)
  28666. }
  28667. // GoString returns the string representation
  28668. func (s DeleteSecurityGroupOutput) GoString() string {
  28669. return s.String()
  28670. }
  28671. // Contains the parameters for DeleteSnapshot.
  28672. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSnapshotRequest
  28673. type DeleteSnapshotInput struct {
  28674. _ struct{} `type:"structure"`
  28675. // Checks whether you have the required permissions for the action, without
  28676. // actually making the request, and provides an error response. If you have
  28677. // the required permissions, the error response is DryRunOperation. Otherwise,
  28678. // it is UnauthorizedOperation.
  28679. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28680. // The ID of the EBS snapshot.
  28681. //
  28682. // SnapshotId is a required field
  28683. SnapshotId *string `type:"string" required:"true"`
  28684. }
  28685. // String returns the string representation
  28686. func (s DeleteSnapshotInput) String() string {
  28687. return awsutil.Prettify(s)
  28688. }
  28689. // GoString returns the string representation
  28690. func (s DeleteSnapshotInput) GoString() string {
  28691. return s.String()
  28692. }
  28693. // Validate inspects the fields of the type to determine if they are valid.
  28694. func (s *DeleteSnapshotInput) Validate() error {
  28695. invalidParams := request.ErrInvalidParams{Context: "DeleteSnapshotInput"}
  28696. if s.SnapshotId == nil {
  28697. invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
  28698. }
  28699. if invalidParams.Len() > 0 {
  28700. return invalidParams
  28701. }
  28702. return nil
  28703. }
  28704. // SetDryRun sets the DryRun field's value.
  28705. func (s *DeleteSnapshotInput) SetDryRun(v bool) *DeleteSnapshotInput {
  28706. s.DryRun = &v
  28707. return s
  28708. }
  28709. // SetSnapshotId sets the SnapshotId field's value.
  28710. func (s *DeleteSnapshotInput) SetSnapshotId(v string) *DeleteSnapshotInput {
  28711. s.SnapshotId = &v
  28712. return s
  28713. }
  28714. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSnapshotOutput
  28715. type DeleteSnapshotOutput struct {
  28716. _ struct{} `type:"structure"`
  28717. }
  28718. // String returns the string representation
  28719. func (s DeleteSnapshotOutput) String() string {
  28720. return awsutil.Prettify(s)
  28721. }
  28722. // GoString returns the string representation
  28723. func (s DeleteSnapshotOutput) GoString() string {
  28724. return s.String()
  28725. }
  28726. // Contains the parameters for DeleteSpotDatafeedSubscription.
  28727. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSpotDatafeedSubscriptionRequest
  28728. type DeleteSpotDatafeedSubscriptionInput struct {
  28729. _ struct{} `type:"structure"`
  28730. // Checks whether you have the required permissions for the action, without
  28731. // actually making the request, and provides an error response. If you have
  28732. // the required permissions, the error response is DryRunOperation. Otherwise,
  28733. // it is UnauthorizedOperation.
  28734. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28735. }
  28736. // String returns the string representation
  28737. func (s DeleteSpotDatafeedSubscriptionInput) String() string {
  28738. return awsutil.Prettify(s)
  28739. }
  28740. // GoString returns the string representation
  28741. func (s DeleteSpotDatafeedSubscriptionInput) GoString() string {
  28742. return s.String()
  28743. }
  28744. // SetDryRun sets the DryRun field's value.
  28745. func (s *DeleteSpotDatafeedSubscriptionInput) SetDryRun(v bool) *DeleteSpotDatafeedSubscriptionInput {
  28746. s.DryRun = &v
  28747. return s
  28748. }
  28749. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSpotDatafeedSubscriptionOutput
  28750. type DeleteSpotDatafeedSubscriptionOutput struct {
  28751. _ struct{} `type:"structure"`
  28752. }
  28753. // String returns the string representation
  28754. func (s DeleteSpotDatafeedSubscriptionOutput) String() string {
  28755. return awsutil.Prettify(s)
  28756. }
  28757. // GoString returns the string representation
  28758. func (s DeleteSpotDatafeedSubscriptionOutput) GoString() string {
  28759. return s.String()
  28760. }
  28761. // Contains the parameters for DeleteSubnet.
  28762. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSubnetRequest
  28763. type DeleteSubnetInput struct {
  28764. _ struct{} `type:"structure"`
  28765. // Checks whether you have the required permissions for the action, without
  28766. // actually making the request, and provides an error response. If you have
  28767. // the required permissions, the error response is DryRunOperation. Otherwise,
  28768. // it is UnauthorizedOperation.
  28769. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28770. // The ID of the subnet.
  28771. //
  28772. // SubnetId is a required field
  28773. SubnetId *string `type:"string" required:"true"`
  28774. }
  28775. // String returns the string representation
  28776. func (s DeleteSubnetInput) String() string {
  28777. return awsutil.Prettify(s)
  28778. }
  28779. // GoString returns the string representation
  28780. func (s DeleteSubnetInput) GoString() string {
  28781. return s.String()
  28782. }
  28783. // Validate inspects the fields of the type to determine if they are valid.
  28784. func (s *DeleteSubnetInput) Validate() error {
  28785. invalidParams := request.ErrInvalidParams{Context: "DeleteSubnetInput"}
  28786. if s.SubnetId == nil {
  28787. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  28788. }
  28789. if invalidParams.Len() > 0 {
  28790. return invalidParams
  28791. }
  28792. return nil
  28793. }
  28794. // SetDryRun sets the DryRun field's value.
  28795. func (s *DeleteSubnetInput) SetDryRun(v bool) *DeleteSubnetInput {
  28796. s.DryRun = &v
  28797. return s
  28798. }
  28799. // SetSubnetId sets the SubnetId field's value.
  28800. func (s *DeleteSubnetInput) SetSubnetId(v string) *DeleteSubnetInput {
  28801. s.SubnetId = &v
  28802. return s
  28803. }
  28804. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSubnetOutput
  28805. type DeleteSubnetOutput struct {
  28806. _ struct{} `type:"structure"`
  28807. }
  28808. // String returns the string representation
  28809. func (s DeleteSubnetOutput) String() string {
  28810. return awsutil.Prettify(s)
  28811. }
  28812. // GoString returns the string representation
  28813. func (s DeleteSubnetOutput) GoString() string {
  28814. return s.String()
  28815. }
  28816. // Contains the parameters for DeleteTags.
  28817. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTagsRequest
  28818. type DeleteTagsInput struct {
  28819. _ struct{} `type:"structure"`
  28820. // Checks whether you have the required permissions for the action, without
  28821. // actually making the request, and provides an error response. If you have
  28822. // the required permissions, the error response is DryRunOperation. Otherwise,
  28823. // it is UnauthorizedOperation.
  28824. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28825. // The IDs of one or more resources.
  28826. //
  28827. // Resources is a required field
  28828. Resources []*string `locationName:"resourceId" type:"list" required:"true"`
  28829. // One or more tags to delete. If you omit this parameter, we delete all tags
  28830. // for the specified resources. Specify a tag key and an optional tag value
  28831. // to delete specific tags. If you specify a tag key without a tag value, we
  28832. // delete any tag with this key regardless of its value. If you specify a tag
  28833. // key with an empty string as the tag value, we delete the tag only if its
  28834. // value is an empty string.
  28835. Tags []*Tag `locationName:"tag" locationNameList:"item" type:"list"`
  28836. }
  28837. // String returns the string representation
  28838. func (s DeleteTagsInput) String() string {
  28839. return awsutil.Prettify(s)
  28840. }
  28841. // GoString returns the string representation
  28842. func (s DeleteTagsInput) GoString() string {
  28843. return s.String()
  28844. }
  28845. // Validate inspects the fields of the type to determine if they are valid.
  28846. func (s *DeleteTagsInput) Validate() error {
  28847. invalidParams := request.ErrInvalidParams{Context: "DeleteTagsInput"}
  28848. if s.Resources == nil {
  28849. invalidParams.Add(request.NewErrParamRequired("Resources"))
  28850. }
  28851. if invalidParams.Len() > 0 {
  28852. return invalidParams
  28853. }
  28854. return nil
  28855. }
  28856. // SetDryRun sets the DryRun field's value.
  28857. func (s *DeleteTagsInput) SetDryRun(v bool) *DeleteTagsInput {
  28858. s.DryRun = &v
  28859. return s
  28860. }
  28861. // SetResources sets the Resources field's value.
  28862. func (s *DeleteTagsInput) SetResources(v []*string) *DeleteTagsInput {
  28863. s.Resources = v
  28864. return s
  28865. }
  28866. // SetTags sets the Tags field's value.
  28867. func (s *DeleteTagsInput) SetTags(v []*Tag) *DeleteTagsInput {
  28868. s.Tags = v
  28869. return s
  28870. }
  28871. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTagsOutput
  28872. type DeleteTagsOutput struct {
  28873. _ struct{} `type:"structure"`
  28874. }
  28875. // String returns the string representation
  28876. func (s DeleteTagsOutput) String() string {
  28877. return awsutil.Prettify(s)
  28878. }
  28879. // GoString returns the string representation
  28880. func (s DeleteTagsOutput) GoString() string {
  28881. return s.String()
  28882. }
  28883. // Contains the parameters for DeleteVolume.
  28884. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVolumeRequest
  28885. type DeleteVolumeInput struct {
  28886. _ struct{} `type:"structure"`
  28887. // Checks whether you have the required permissions for the action, without
  28888. // actually making the request, and provides an error response. If you have
  28889. // the required permissions, the error response is DryRunOperation. Otherwise,
  28890. // it is UnauthorizedOperation.
  28891. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28892. // The ID of the volume.
  28893. //
  28894. // VolumeId is a required field
  28895. VolumeId *string `type:"string" required:"true"`
  28896. }
  28897. // String returns the string representation
  28898. func (s DeleteVolumeInput) String() string {
  28899. return awsutil.Prettify(s)
  28900. }
  28901. // GoString returns the string representation
  28902. func (s DeleteVolumeInput) GoString() string {
  28903. return s.String()
  28904. }
  28905. // Validate inspects the fields of the type to determine if they are valid.
  28906. func (s *DeleteVolumeInput) Validate() error {
  28907. invalidParams := request.ErrInvalidParams{Context: "DeleteVolumeInput"}
  28908. if s.VolumeId == nil {
  28909. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  28910. }
  28911. if invalidParams.Len() > 0 {
  28912. return invalidParams
  28913. }
  28914. return nil
  28915. }
  28916. // SetDryRun sets the DryRun field's value.
  28917. func (s *DeleteVolumeInput) SetDryRun(v bool) *DeleteVolumeInput {
  28918. s.DryRun = &v
  28919. return s
  28920. }
  28921. // SetVolumeId sets the VolumeId field's value.
  28922. func (s *DeleteVolumeInput) SetVolumeId(v string) *DeleteVolumeInput {
  28923. s.VolumeId = &v
  28924. return s
  28925. }
  28926. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVolumeOutput
  28927. type DeleteVolumeOutput struct {
  28928. _ struct{} `type:"structure"`
  28929. }
  28930. // String returns the string representation
  28931. func (s DeleteVolumeOutput) String() string {
  28932. return awsutil.Prettify(s)
  28933. }
  28934. // GoString returns the string representation
  28935. func (s DeleteVolumeOutput) GoString() string {
  28936. return s.String()
  28937. }
  28938. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointConnectionNotificationsRequest
  28939. type DeleteVpcEndpointConnectionNotificationsInput struct {
  28940. _ struct{} `type:"structure"`
  28941. // One or more notification IDs.
  28942. //
  28943. // ConnectionNotificationIds is a required field
  28944. ConnectionNotificationIds []*string `locationName:"ConnectionNotificationId" locationNameList:"item" type:"list" required:"true"`
  28945. // Checks whether you have the required permissions for the action, without
  28946. // actually making the request, and provides an error response. If you have
  28947. // the required permissions, the error response is DryRunOperation. Otherwise,
  28948. // it is UnauthorizedOperation.
  28949. DryRun *bool `type:"boolean"`
  28950. }
  28951. // String returns the string representation
  28952. func (s DeleteVpcEndpointConnectionNotificationsInput) String() string {
  28953. return awsutil.Prettify(s)
  28954. }
  28955. // GoString returns the string representation
  28956. func (s DeleteVpcEndpointConnectionNotificationsInput) GoString() string {
  28957. return s.String()
  28958. }
  28959. // Validate inspects the fields of the type to determine if they are valid.
  28960. func (s *DeleteVpcEndpointConnectionNotificationsInput) Validate() error {
  28961. invalidParams := request.ErrInvalidParams{Context: "DeleteVpcEndpointConnectionNotificationsInput"}
  28962. if s.ConnectionNotificationIds == nil {
  28963. invalidParams.Add(request.NewErrParamRequired("ConnectionNotificationIds"))
  28964. }
  28965. if invalidParams.Len() > 0 {
  28966. return invalidParams
  28967. }
  28968. return nil
  28969. }
  28970. // SetConnectionNotificationIds sets the ConnectionNotificationIds field's value.
  28971. func (s *DeleteVpcEndpointConnectionNotificationsInput) SetConnectionNotificationIds(v []*string) *DeleteVpcEndpointConnectionNotificationsInput {
  28972. s.ConnectionNotificationIds = v
  28973. return s
  28974. }
  28975. // SetDryRun sets the DryRun field's value.
  28976. func (s *DeleteVpcEndpointConnectionNotificationsInput) SetDryRun(v bool) *DeleteVpcEndpointConnectionNotificationsInput {
  28977. s.DryRun = &v
  28978. return s
  28979. }
  28980. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointConnectionNotificationsResult
  28981. type DeleteVpcEndpointConnectionNotificationsOutput struct {
  28982. _ struct{} `type:"structure"`
  28983. // Information about the notifications that could not be deleted successfully.
  28984. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  28985. }
  28986. // String returns the string representation
  28987. func (s DeleteVpcEndpointConnectionNotificationsOutput) String() string {
  28988. return awsutil.Prettify(s)
  28989. }
  28990. // GoString returns the string representation
  28991. func (s DeleteVpcEndpointConnectionNotificationsOutput) GoString() string {
  28992. return s.String()
  28993. }
  28994. // SetUnsuccessful sets the Unsuccessful field's value.
  28995. func (s *DeleteVpcEndpointConnectionNotificationsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteVpcEndpointConnectionNotificationsOutput {
  28996. s.Unsuccessful = v
  28997. return s
  28998. }
  28999. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointServiceConfigurationsRequest
  29000. type DeleteVpcEndpointServiceConfigurationsInput struct {
  29001. _ struct{} `type:"structure"`
  29002. // Checks whether you have the required permissions for the action, without
  29003. // actually making the request, and provides an error response. If you have
  29004. // the required permissions, the error response is DryRunOperation. Otherwise,
  29005. // it is UnauthorizedOperation.
  29006. DryRun *bool `type:"boolean"`
  29007. // The IDs of one or more services.
  29008. //
  29009. // ServiceIds is a required field
  29010. ServiceIds []*string `locationName:"ServiceId" locationNameList:"item" type:"list" required:"true"`
  29011. }
  29012. // String returns the string representation
  29013. func (s DeleteVpcEndpointServiceConfigurationsInput) String() string {
  29014. return awsutil.Prettify(s)
  29015. }
  29016. // GoString returns the string representation
  29017. func (s DeleteVpcEndpointServiceConfigurationsInput) GoString() string {
  29018. return s.String()
  29019. }
  29020. // Validate inspects the fields of the type to determine if they are valid.
  29021. func (s *DeleteVpcEndpointServiceConfigurationsInput) Validate() error {
  29022. invalidParams := request.ErrInvalidParams{Context: "DeleteVpcEndpointServiceConfigurationsInput"}
  29023. if s.ServiceIds == nil {
  29024. invalidParams.Add(request.NewErrParamRequired("ServiceIds"))
  29025. }
  29026. if invalidParams.Len() > 0 {
  29027. return invalidParams
  29028. }
  29029. return nil
  29030. }
  29031. // SetDryRun sets the DryRun field's value.
  29032. func (s *DeleteVpcEndpointServiceConfigurationsInput) SetDryRun(v bool) *DeleteVpcEndpointServiceConfigurationsInput {
  29033. s.DryRun = &v
  29034. return s
  29035. }
  29036. // SetServiceIds sets the ServiceIds field's value.
  29037. func (s *DeleteVpcEndpointServiceConfigurationsInput) SetServiceIds(v []*string) *DeleteVpcEndpointServiceConfigurationsInput {
  29038. s.ServiceIds = v
  29039. return s
  29040. }
  29041. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointServiceConfigurationsResult
  29042. type DeleteVpcEndpointServiceConfigurationsOutput struct {
  29043. _ struct{} `type:"structure"`
  29044. // Information about the service configurations that were not deleted, if applicable.
  29045. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  29046. }
  29047. // String returns the string representation
  29048. func (s DeleteVpcEndpointServiceConfigurationsOutput) String() string {
  29049. return awsutil.Prettify(s)
  29050. }
  29051. // GoString returns the string representation
  29052. func (s DeleteVpcEndpointServiceConfigurationsOutput) GoString() string {
  29053. return s.String()
  29054. }
  29055. // SetUnsuccessful sets the Unsuccessful field's value.
  29056. func (s *DeleteVpcEndpointServiceConfigurationsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteVpcEndpointServiceConfigurationsOutput {
  29057. s.Unsuccessful = v
  29058. return s
  29059. }
  29060. // Contains the parameters for DeleteVpcEndpoints.
  29061. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointsRequest
  29062. type DeleteVpcEndpointsInput struct {
  29063. _ struct{} `type:"structure"`
  29064. // Checks whether you have the required permissions for the action, without
  29065. // actually making the request, and provides an error response. If you have
  29066. // the required permissions, the error response is DryRunOperation. Otherwise,
  29067. // it is UnauthorizedOperation.
  29068. DryRun *bool `type:"boolean"`
  29069. // One or more VPC endpoint IDs.
  29070. //
  29071. // VpcEndpointIds is a required field
  29072. VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list" required:"true"`
  29073. }
  29074. // String returns the string representation
  29075. func (s DeleteVpcEndpointsInput) String() string {
  29076. return awsutil.Prettify(s)
  29077. }
  29078. // GoString returns the string representation
  29079. func (s DeleteVpcEndpointsInput) GoString() string {
  29080. return s.String()
  29081. }
  29082. // Validate inspects the fields of the type to determine if they are valid.
  29083. func (s *DeleteVpcEndpointsInput) Validate() error {
  29084. invalidParams := request.ErrInvalidParams{Context: "DeleteVpcEndpointsInput"}
  29085. if s.VpcEndpointIds == nil {
  29086. invalidParams.Add(request.NewErrParamRequired("VpcEndpointIds"))
  29087. }
  29088. if invalidParams.Len() > 0 {
  29089. return invalidParams
  29090. }
  29091. return nil
  29092. }
  29093. // SetDryRun sets the DryRun field's value.
  29094. func (s *DeleteVpcEndpointsInput) SetDryRun(v bool) *DeleteVpcEndpointsInput {
  29095. s.DryRun = &v
  29096. return s
  29097. }
  29098. // SetVpcEndpointIds sets the VpcEndpointIds field's value.
  29099. func (s *DeleteVpcEndpointsInput) SetVpcEndpointIds(v []*string) *DeleteVpcEndpointsInput {
  29100. s.VpcEndpointIds = v
  29101. return s
  29102. }
  29103. // Contains the output of DeleteVpcEndpoints.
  29104. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointsResult
  29105. type DeleteVpcEndpointsOutput struct {
  29106. _ struct{} `type:"structure"`
  29107. // Information about the VPC endpoints that were not successfully deleted.
  29108. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  29109. }
  29110. // String returns the string representation
  29111. func (s DeleteVpcEndpointsOutput) String() string {
  29112. return awsutil.Prettify(s)
  29113. }
  29114. // GoString returns the string representation
  29115. func (s DeleteVpcEndpointsOutput) GoString() string {
  29116. return s.String()
  29117. }
  29118. // SetUnsuccessful sets the Unsuccessful field's value.
  29119. func (s *DeleteVpcEndpointsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteVpcEndpointsOutput {
  29120. s.Unsuccessful = v
  29121. return s
  29122. }
  29123. // Contains the parameters for DeleteVpc.
  29124. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcRequest
  29125. type DeleteVpcInput struct {
  29126. _ struct{} `type:"structure"`
  29127. // Checks whether you have the required permissions for the action, without
  29128. // actually making the request, and provides an error response. If you have
  29129. // the required permissions, the error response is DryRunOperation. Otherwise,
  29130. // it is UnauthorizedOperation.
  29131. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29132. // The ID of the VPC.
  29133. //
  29134. // VpcId is a required field
  29135. VpcId *string `type:"string" required:"true"`
  29136. }
  29137. // String returns the string representation
  29138. func (s DeleteVpcInput) String() string {
  29139. return awsutil.Prettify(s)
  29140. }
  29141. // GoString returns the string representation
  29142. func (s DeleteVpcInput) GoString() string {
  29143. return s.String()
  29144. }
  29145. // Validate inspects the fields of the type to determine if they are valid.
  29146. func (s *DeleteVpcInput) Validate() error {
  29147. invalidParams := request.ErrInvalidParams{Context: "DeleteVpcInput"}
  29148. if s.VpcId == nil {
  29149. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  29150. }
  29151. if invalidParams.Len() > 0 {
  29152. return invalidParams
  29153. }
  29154. return nil
  29155. }
  29156. // SetDryRun sets the DryRun field's value.
  29157. func (s *DeleteVpcInput) SetDryRun(v bool) *DeleteVpcInput {
  29158. s.DryRun = &v
  29159. return s
  29160. }
  29161. // SetVpcId sets the VpcId field's value.
  29162. func (s *DeleteVpcInput) SetVpcId(v string) *DeleteVpcInput {
  29163. s.VpcId = &v
  29164. return s
  29165. }
  29166. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcOutput
  29167. type DeleteVpcOutput struct {
  29168. _ struct{} `type:"structure"`
  29169. }
  29170. // String returns the string representation
  29171. func (s DeleteVpcOutput) String() string {
  29172. return awsutil.Prettify(s)
  29173. }
  29174. // GoString returns the string representation
  29175. func (s DeleteVpcOutput) GoString() string {
  29176. return s.String()
  29177. }
  29178. // Contains the parameters for DeleteVpcPeeringConnection.
  29179. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcPeeringConnectionRequest
  29180. type DeleteVpcPeeringConnectionInput struct {
  29181. _ struct{} `type:"structure"`
  29182. // Checks whether you have the required permissions for the action, without
  29183. // actually making the request, and provides an error response. If you have
  29184. // the required permissions, the error response is DryRunOperation. Otherwise,
  29185. // it is UnauthorizedOperation.
  29186. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29187. // The ID of the VPC peering connection.
  29188. //
  29189. // VpcPeeringConnectionId is a required field
  29190. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string" required:"true"`
  29191. }
  29192. // String returns the string representation
  29193. func (s DeleteVpcPeeringConnectionInput) String() string {
  29194. return awsutil.Prettify(s)
  29195. }
  29196. // GoString returns the string representation
  29197. func (s DeleteVpcPeeringConnectionInput) GoString() string {
  29198. return s.String()
  29199. }
  29200. // Validate inspects the fields of the type to determine if they are valid.
  29201. func (s *DeleteVpcPeeringConnectionInput) Validate() error {
  29202. invalidParams := request.ErrInvalidParams{Context: "DeleteVpcPeeringConnectionInput"}
  29203. if s.VpcPeeringConnectionId == nil {
  29204. invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
  29205. }
  29206. if invalidParams.Len() > 0 {
  29207. return invalidParams
  29208. }
  29209. return nil
  29210. }
  29211. // SetDryRun sets the DryRun field's value.
  29212. func (s *DeleteVpcPeeringConnectionInput) SetDryRun(v bool) *DeleteVpcPeeringConnectionInput {
  29213. s.DryRun = &v
  29214. return s
  29215. }
  29216. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  29217. func (s *DeleteVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *DeleteVpcPeeringConnectionInput {
  29218. s.VpcPeeringConnectionId = &v
  29219. return s
  29220. }
  29221. // Contains the output of DeleteVpcPeeringConnection.
  29222. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcPeeringConnectionResult
  29223. type DeleteVpcPeeringConnectionOutput struct {
  29224. _ struct{} `type:"structure"`
  29225. // Returns true if the request succeeds; otherwise, it returns an error.
  29226. Return *bool `locationName:"return" type:"boolean"`
  29227. }
  29228. // String returns the string representation
  29229. func (s DeleteVpcPeeringConnectionOutput) String() string {
  29230. return awsutil.Prettify(s)
  29231. }
  29232. // GoString returns the string representation
  29233. func (s DeleteVpcPeeringConnectionOutput) GoString() string {
  29234. return s.String()
  29235. }
  29236. // SetReturn sets the Return field's value.
  29237. func (s *DeleteVpcPeeringConnectionOutput) SetReturn(v bool) *DeleteVpcPeeringConnectionOutput {
  29238. s.Return = &v
  29239. return s
  29240. }
  29241. // Contains the parameters for DeleteVpnConnection.
  29242. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionRequest
  29243. type DeleteVpnConnectionInput struct {
  29244. _ struct{} `type:"structure"`
  29245. // Checks whether you have the required permissions for the action, without
  29246. // actually making the request, and provides an error response. If you have
  29247. // the required permissions, the error response is DryRunOperation. Otherwise,
  29248. // it is UnauthorizedOperation.
  29249. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29250. // The ID of the VPN connection.
  29251. //
  29252. // VpnConnectionId is a required field
  29253. VpnConnectionId *string `type:"string" required:"true"`
  29254. }
  29255. // String returns the string representation
  29256. func (s DeleteVpnConnectionInput) String() string {
  29257. return awsutil.Prettify(s)
  29258. }
  29259. // GoString returns the string representation
  29260. func (s DeleteVpnConnectionInput) GoString() string {
  29261. return s.String()
  29262. }
  29263. // Validate inspects the fields of the type to determine if they are valid.
  29264. func (s *DeleteVpnConnectionInput) Validate() error {
  29265. invalidParams := request.ErrInvalidParams{Context: "DeleteVpnConnectionInput"}
  29266. if s.VpnConnectionId == nil {
  29267. invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
  29268. }
  29269. if invalidParams.Len() > 0 {
  29270. return invalidParams
  29271. }
  29272. return nil
  29273. }
  29274. // SetDryRun sets the DryRun field's value.
  29275. func (s *DeleteVpnConnectionInput) SetDryRun(v bool) *DeleteVpnConnectionInput {
  29276. s.DryRun = &v
  29277. return s
  29278. }
  29279. // SetVpnConnectionId sets the VpnConnectionId field's value.
  29280. func (s *DeleteVpnConnectionInput) SetVpnConnectionId(v string) *DeleteVpnConnectionInput {
  29281. s.VpnConnectionId = &v
  29282. return s
  29283. }
  29284. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionOutput
  29285. type DeleteVpnConnectionOutput struct {
  29286. _ struct{} `type:"structure"`
  29287. }
  29288. // String returns the string representation
  29289. func (s DeleteVpnConnectionOutput) String() string {
  29290. return awsutil.Prettify(s)
  29291. }
  29292. // GoString returns the string representation
  29293. func (s DeleteVpnConnectionOutput) GoString() string {
  29294. return s.String()
  29295. }
  29296. // Contains the parameters for DeleteVpnConnectionRoute.
  29297. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionRouteRequest
  29298. type DeleteVpnConnectionRouteInput struct {
  29299. _ struct{} `type:"structure"`
  29300. // The CIDR block associated with the local subnet of the customer network.
  29301. //
  29302. // DestinationCidrBlock is a required field
  29303. DestinationCidrBlock *string `type:"string" required:"true"`
  29304. // The ID of the VPN connection.
  29305. //
  29306. // VpnConnectionId is a required field
  29307. VpnConnectionId *string `type:"string" required:"true"`
  29308. }
  29309. // String returns the string representation
  29310. func (s DeleteVpnConnectionRouteInput) String() string {
  29311. return awsutil.Prettify(s)
  29312. }
  29313. // GoString returns the string representation
  29314. func (s DeleteVpnConnectionRouteInput) GoString() string {
  29315. return s.String()
  29316. }
  29317. // Validate inspects the fields of the type to determine if they are valid.
  29318. func (s *DeleteVpnConnectionRouteInput) Validate() error {
  29319. invalidParams := request.ErrInvalidParams{Context: "DeleteVpnConnectionRouteInput"}
  29320. if s.DestinationCidrBlock == nil {
  29321. invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
  29322. }
  29323. if s.VpnConnectionId == nil {
  29324. invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
  29325. }
  29326. if invalidParams.Len() > 0 {
  29327. return invalidParams
  29328. }
  29329. return nil
  29330. }
  29331. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  29332. func (s *DeleteVpnConnectionRouteInput) SetDestinationCidrBlock(v string) *DeleteVpnConnectionRouteInput {
  29333. s.DestinationCidrBlock = &v
  29334. return s
  29335. }
  29336. // SetVpnConnectionId sets the VpnConnectionId field's value.
  29337. func (s *DeleteVpnConnectionRouteInput) SetVpnConnectionId(v string) *DeleteVpnConnectionRouteInput {
  29338. s.VpnConnectionId = &v
  29339. return s
  29340. }
  29341. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionRouteOutput
  29342. type DeleteVpnConnectionRouteOutput struct {
  29343. _ struct{} `type:"structure"`
  29344. }
  29345. // String returns the string representation
  29346. func (s DeleteVpnConnectionRouteOutput) String() string {
  29347. return awsutil.Prettify(s)
  29348. }
  29349. // GoString returns the string representation
  29350. func (s DeleteVpnConnectionRouteOutput) GoString() string {
  29351. return s.String()
  29352. }
  29353. // Contains the parameters for DeleteVpnGateway.
  29354. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnGatewayRequest
  29355. type DeleteVpnGatewayInput struct {
  29356. _ struct{} `type:"structure"`
  29357. // Checks whether you have the required permissions for the action, without
  29358. // actually making the request, and provides an error response. If you have
  29359. // the required permissions, the error response is DryRunOperation. Otherwise,
  29360. // it is UnauthorizedOperation.
  29361. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29362. // The ID of the virtual private gateway.
  29363. //
  29364. // VpnGatewayId is a required field
  29365. VpnGatewayId *string `type:"string" required:"true"`
  29366. }
  29367. // String returns the string representation
  29368. func (s DeleteVpnGatewayInput) String() string {
  29369. return awsutil.Prettify(s)
  29370. }
  29371. // GoString returns the string representation
  29372. func (s DeleteVpnGatewayInput) GoString() string {
  29373. return s.String()
  29374. }
  29375. // Validate inspects the fields of the type to determine if they are valid.
  29376. func (s *DeleteVpnGatewayInput) Validate() error {
  29377. invalidParams := request.ErrInvalidParams{Context: "DeleteVpnGatewayInput"}
  29378. if s.VpnGatewayId == nil {
  29379. invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
  29380. }
  29381. if invalidParams.Len() > 0 {
  29382. return invalidParams
  29383. }
  29384. return nil
  29385. }
  29386. // SetDryRun sets the DryRun field's value.
  29387. func (s *DeleteVpnGatewayInput) SetDryRun(v bool) *DeleteVpnGatewayInput {
  29388. s.DryRun = &v
  29389. return s
  29390. }
  29391. // SetVpnGatewayId sets the VpnGatewayId field's value.
  29392. func (s *DeleteVpnGatewayInput) SetVpnGatewayId(v string) *DeleteVpnGatewayInput {
  29393. s.VpnGatewayId = &v
  29394. return s
  29395. }
  29396. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnGatewayOutput
  29397. type DeleteVpnGatewayOutput struct {
  29398. _ struct{} `type:"structure"`
  29399. }
  29400. // String returns the string representation
  29401. func (s DeleteVpnGatewayOutput) String() string {
  29402. return awsutil.Prettify(s)
  29403. }
  29404. // GoString returns the string representation
  29405. func (s DeleteVpnGatewayOutput) GoString() string {
  29406. return s.String()
  29407. }
  29408. // Contains the parameters for DeregisterImage.
  29409. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterImageRequest
  29410. type DeregisterImageInput struct {
  29411. _ struct{} `type:"structure"`
  29412. // Checks whether you have the required permissions for the action, without
  29413. // actually making the request, and provides an error response. If you have
  29414. // the required permissions, the error response is DryRunOperation. Otherwise,
  29415. // it is UnauthorizedOperation.
  29416. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29417. // The ID of the AMI.
  29418. //
  29419. // ImageId is a required field
  29420. ImageId *string `type:"string" required:"true"`
  29421. }
  29422. // String returns the string representation
  29423. func (s DeregisterImageInput) String() string {
  29424. return awsutil.Prettify(s)
  29425. }
  29426. // GoString returns the string representation
  29427. func (s DeregisterImageInput) GoString() string {
  29428. return s.String()
  29429. }
  29430. // Validate inspects the fields of the type to determine if they are valid.
  29431. func (s *DeregisterImageInput) Validate() error {
  29432. invalidParams := request.ErrInvalidParams{Context: "DeregisterImageInput"}
  29433. if s.ImageId == nil {
  29434. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  29435. }
  29436. if invalidParams.Len() > 0 {
  29437. return invalidParams
  29438. }
  29439. return nil
  29440. }
  29441. // SetDryRun sets the DryRun field's value.
  29442. func (s *DeregisterImageInput) SetDryRun(v bool) *DeregisterImageInput {
  29443. s.DryRun = &v
  29444. return s
  29445. }
  29446. // SetImageId sets the ImageId field's value.
  29447. func (s *DeregisterImageInput) SetImageId(v string) *DeregisterImageInput {
  29448. s.ImageId = &v
  29449. return s
  29450. }
  29451. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterImageOutput
  29452. type DeregisterImageOutput struct {
  29453. _ struct{} `type:"structure"`
  29454. }
  29455. // String returns the string representation
  29456. func (s DeregisterImageOutput) String() string {
  29457. return awsutil.Prettify(s)
  29458. }
  29459. // GoString returns the string representation
  29460. func (s DeregisterImageOutput) GoString() string {
  29461. return s.String()
  29462. }
  29463. // Contains the parameters for DescribeAccountAttributes.
  29464. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAccountAttributesRequest
  29465. type DescribeAccountAttributesInput struct {
  29466. _ struct{} `type:"structure"`
  29467. // One or more account attribute names.
  29468. AttributeNames []*string `locationName:"attributeName" locationNameList:"attributeName" type:"list"`
  29469. // Checks whether you have the required permissions for the action, without
  29470. // actually making the request, and provides an error response. If you have
  29471. // the required permissions, the error response is DryRunOperation. Otherwise,
  29472. // it is UnauthorizedOperation.
  29473. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29474. }
  29475. // String returns the string representation
  29476. func (s DescribeAccountAttributesInput) String() string {
  29477. return awsutil.Prettify(s)
  29478. }
  29479. // GoString returns the string representation
  29480. func (s DescribeAccountAttributesInput) GoString() string {
  29481. return s.String()
  29482. }
  29483. // SetAttributeNames sets the AttributeNames field's value.
  29484. func (s *DescribeAccountAttributesInput) SetAttributeNames(v []*string) *DescribeAccountAttributesInput {
  29485. s.AttributeNames = v
  29486. return s
  29487. }
  29488. // SetDryRun sets the DryRun field's value.
  29489. func (s *DescribeAccountAttributesInput) SetDryRun(v bool) *DescribeAccountAttributesInput {
  29490. s.DryRun = &v
  29491. return s
  29492. }
  29493. // Contains the output of DescribeAccountAttributes.
  29494. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAccountAttributesResult
  29495. type DescribeAccountAttributesOutput struct {
  29496. _ struct{} `type:"structure"`
  29497. // Information about one or more account attributes.
  29498. AccountAttributes []*AccountAttribute `locationName:"accountAttributeSet" locationNameList:"item" type:"list"`
  29499. }
  29500. // String returns the string representation
  29501. func (s DescribeAccountAttributesOutput) String() string {
  29502. return awsutil.Prettify(s)
  29503. }
  29504. // GoString returns the string representation
  29505. func (s DescribeAccountAttributesOutput) GoString() string {
  29506. return s.String()
  29507. }
  29508. // SetAccountAttributes sets the AccountAttributes field's value.
  29509. func (s *DescribeAccountAttributesOutput) SetAccountAttributes(v []*AccountAttribute) *DescribeAccountAttributesOutput {
  29510. s.AccountAttributes = v
  29511. return s
  29512. }
  29513. // Contains the parameters for DescribeAddresses.
  29514. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddressesRequest
  29515. type DescribeAddressesInput struct {
  29516. _ struct{} `type:"structure"`
  29517. // [EC2-VPC] One or more allocation IDs.
  29518. //
  29519. // Default: Describes all your Elastic IP addresses.
  29520. AllocationIds []*string `locationName:"AllocationId" locationNameList:"AllocationId" type:"list"`
  29521. // Checks whether you have the required permissions for the action, without
  29522. // actually making the request, and provides an error response. If you have
  29523. // the required permissions, the error response is DryRunOperation. Otherwise,
  29524. // it is UnauthorizedOperation.
  29525. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29526. // One or more filters. Filter names and values are case-sensitive.
  29527. //
  29528. // * allocation-id - [EC2-VPC] The allocation ID for the address.
  29529. //
  29530. // * association-id - [EC2-VPC] The association ID for the address.
  29531. //
  29532. // * domain - Indicates whether the address is for use in EC2-Classic (standard)
  29533. // or in a VPC (vpc).
  29534. //
  29535. // * instance-id - The ID of the instance the address is associated with,
  29536. // if any.
  29537. //
  29538. // * network-interface-id - [EC2-VPC] The ID of the network interface that
  29539. // the address is associated with, if any.
  29540. //
  29541. // * network-interface-owner-id - The AWS account ID of the owner.
  29542. //
  29543. // * private-ip-address - [EC2-VPC] The private IP address associated with
  29544. // the Elastic IP address.
  29545. //
  29546. // * public-ip - The Elastic IP address.
  29547. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  29548. // [EC2-Classic] One or more Elastic IP addresses.
  29549. //
  29550. // Default: Describes all your Elastic IP addresses.
  29551. PublicIps []*string `locationName:"PublicIp" locationNameList:"PublicIp" type:"list"`
  29552. }
  29553. // String returns the string representation
  29554. func (s DescribeAddressesInput) String() string {
  29555. return awsutil.Prettify(s)
  29556. }
  29557. // GoString returns the string representation
  29558. func (s DescribeAddressesInput) GoString() string {
  29559. return s.String()
  29560. }
  29561. // SetAllocationIds sets the AllocationIds field's value.
  29562. func (s *DescribeAddressesInput) SetAllocationIds(v []*string) *DescribeAddressesInput {
  29563. s.AllocationIds = v
  29564. return s
  29565. }
  29566. // SetDryRun sets the DryRun field's value.
  29567. func (s *DescribeAddressesInput) SetDryRun(v bool) *DescribeAddressesInput {
  29568. s.DryRun = &v
  29569. return s
  29570. }
  29571. // SetFilters sets the Filters field's value.
  29572. func (s *DescribeAddressesInput) SetFilters(v []*Filter) *DescribeAddressesInput {
  29573. s.Filters = v
  29574. return s
  29575. }
  29576. // SetPublicIps sets the PublicIps field's value.
  29577. func (s *DescribeAddressesInput) SetPublicIps(v []*string) *DescribeAddressesInput {
  29578. s.PublicIps = v
  29579. return s
  29580. }
  29581. // Contains the output of DescribeAddresses.
  29582. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddressesResult
  29583. type DescribeAddressesOutput struct {
  29584. _ struct{} `type:"structure"`
  29585. // Information about one or more Elastic IP addresses.
  29586. Addresses []*Address `locationName:"addressesSet" locationNameList:"item" type:"list"`
  29587. }
  29588. // String returns the string representation
  29589. func (s DescribeAddressesOutput) String() string {
  29590. return awsutil.Prettify(s)
  29591. }
  29592. // GoString returns the string representation
  29593. func (s DescribeAddressesOutput) GoString() string {
  29594. return s.String()
  29595. }
  29596. // SetAddresses sets the Addresses field's value.
  29597. func (s *DescribeAddressesOutput) SetAddresses(v []*Address) *DescribeAddressesOutput {
  29598. s.Addresses = v
  29599. return s
  29600. }
  29601. // Contains the parameters for DescribeAvailabilityZones.
  29602. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAvailabilityZonesRequest
  29603. type DescribeAvailabilityZonesInput struct {
  29604. _ struct{} `type:"structure"`
  29605. // Checks whether you have the required permissions for the action, without
  29606. // actually making the request, and provides an error response. If you have
  29607. // the required permissions, the error response is DryRunOperation. Otherwise,
  29608. // it is UnauthorizedOperation.
  29609. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29610. // One or more filters.
  29611. //
  29612. // * message - Information about the Availability Zone.
  29613. //
  29614. // * region-name - The name of the region for the Availability Zone (for
  29615. // example, us-east-1).
  29616. //
  29617. // * state - The state of the Availability Zone (available | information
  29618. // | impaired | unavailable).
  29619. //
  29620. // * zone-name - The name of the Availability Zone (for example, us-east-1a).
  29621. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  29622. // The names of one or more Availability Zones.
  29623. ZoneNames []*string `locationName:"ZoneName" locationNameList:"ZoneName" type:"list"`
  29624. }
  29625. // String returns the string representation
  29626. func (s DescribeAvailabilityZonesInput) String() string {
  29627. return awsutil.Prettify(s)
  29628. }
  29629. // GoString returns the string representation
  29630. func (s DescribeAvailabilityZonesInput) GoString() string {
  29631. return s.String()
  29632. }
  29633. // SetDryRun sets the DryRun field's value.
  29634. func (s *DescribeAvailabilityZonesInput) SetDryRun(v bool) *DescribeAvailabilityZonesInput {
  29635. s.DryRun = &v
  29636. return s
  29637. }
  29638. // SetFilters sets the Filters field's value.
  29639. func (s *DescribeAvailabilityZonesInput) SetFilters(v []*Filter) *DescribeAvailabilityZonesInput {
  29640. s.Filters = v
  29641. return s
  29642. }
  29643. // SetZoneNames sets the ZoneNames field's value.
  29644. func (s *DescribeAvailabilityZonesInput) SetZoneNames(v []*string) *DescribeAvailabilityZonesInput {
  29645. s.ZoneNames = v
  29646. return s
  29647. }
  29648. // Contains the output of DescribeAvailabiltyZones.
  29649. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAvailabilityZonesResult
  29650. type DescribeAvailabilityZonesOutput struct {
  29651. _ struct{} `type:"structure"`
  29652. // Information about one or more Availability Zones.
  29653. AvailabilityZones []*AvailabilityZone `locationName:"availabilityZoneInfo" locationNameList:"item" type:"list"`
  29654. }
  29655. // String returns the string representation
  29656. func (s DescribeAvailabilityZonesOutput) String() string {
  29657. return awsutil.Prettify(s)
  29658. }
  29659. // GoString returns the string representation
  29660. func (s DescribeAvailabilityZonesOutput) GoString() string {
  29661. return s.String()
  29662. }
  29663. // SetAvailabilityZones sets the AvailabilityZones field's value.
  29664. func (s *DescribeAvailabilityZonesOutput) SetAvailabilityZones(v []*AvailabilityZone) *DescribeAvailabilityZonesOutput {
  29665. s.AvailabilityZones = v
  29666. return s
  29667. }
  29668. // Contains the parameters for DescribeBundleTasks.
  29669. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeBundleTasksRequest
  29670. type DescribeBundleTasksInput struct {
  29671. _ struct{} `type:"structure"`
  29672. // One or more bundle task IDs.
  29673. //
  29674. // Default: Describes all your bundle tasks.
  29675. BundleIds []*string `locationName:"BundleId" locationNameList:"BundleId" type:"list"`
  29676. // Checks whether you have the required permissions for the action, without
  29677. // actually making the request, and provides an error response. If you have
  29678. // the required permissions, the error response is DryRunOperation. Otherwise,
  29679. // it is UnauthorizedOperation.
  29680. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29681. // One or more filters.
  29682. //
  29683. // * bundle-id - The ID of the bundle task.
  29684. //
  29685. // * error-code - If the task failed, the error code returned.
  29686. //
  29687. // * error-message - If the task failed, the error message returned.
  29688. //
  29689. // * instance-id - The ID of the instance.
  29690. //
  29691. // * progress - The level of task completion, as a percentage (for example,
  29692. // 20%).
  29693. //
  29694. // * s3-bucket - The Amazon S3 bucket to store the AMI.
  29695. //
  29696. // * s3-prefix - The beginning of the AMI name.
  29697. //
  29698. // * start-time - The time the task started (for example, 2013-09-15T17:15:20.000Z).
  29699. //
  29700. // * state - The state of the task (pending | waiting-for-shutdown | bundling
  29701. // | storing | cancelling | complete | failed).
  29702. //
  29703. // * update-time - The time of the most recent update for the task.
  29704. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  29705. }
  29706. // String returns the string representation
  29707. func (s DescribeBundleTasksInput) String() string {
  29708. return awsutil.Prettify(s)
  29709. }
  29710. // GoString returns the string representation
  29711. func (s DescribeBundleTasksInput) GoString() string {
  29712. return s.String()
  29713. }
  29714. // SetBundleIds sets the BundleIds field's value.
  29715. func (s *DescribeBundleTasksInput) SetBundleIds(v []*string) *DescribeBundleTasksInput {
  29716. s.BundleIds = v
  29717. return s
  29718. }
  29719. // SetDryRun sets the DryRun field's value.
  29720. func (s *DescribeBundleTasksInput) SetDryRun(v bool) *DescribeBundleTasksInput {
  29721. s.DryRun = &v
  29722. return s
  29723. }
  29724. // SetFilters sets the Filters field's value.
  29725. func (s *DescribeBundleTasksInput) SetFilters(v []*Filter) *DescribeBundleTasksInput {
  29726. s.Filters = v
  29727. return s
  29728. }
  29729. // Contains the output of DescribeBundleTasks.
  29730. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeBundleTasksResult
  29731. type DescribeBundleTasksOutput struct {
  29732. _ struct{} `type:"structure"`
  29733. // Information about one or more bundle tasks.
  29734. BundleTasks []*BundleTask `locationName:"bundleInstanceTasksSet" locationNameList:"item" type:"list"`
  29735. }
  29736. // String returns the string representation
  29737. func (s DescribeBundleTasksOutput) String() string {
  29738. return awsutil.Prettify(s)
  29739. }
  29740. // GoString returns the string representation
  29741. func (s DescribeBundleTasksOutput) GoString() string {
  29742. return s.String()
  29743. }
  29744. // SetBundleTasks sets the BundleTasks field's value.
  29745. func (s *DescribeBundleTasksOutput) SetBundleTasks(v []*BundleTask) *DescribeBundleTasksOutput {
  29746. s.BundleTasks = v
  29747. return s
  29748. }
  29749. // Contains the parameters for DescribeClassicLinkInstances.
  29750. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClassicLinkInstancesRequest
  29751. type DescribeClassicLinkInstancesInput struct {
  29752. _ struct{} `type:"structure"`
  29753. // Checks whether you have the required permissions for the action, without
  29754. // actually making the request, and provides an error response. If you have
  29755. // the required permissions, the error response is DryRunOperation. Otherwise,
  29756. // it is UnauthorizedOperation.
  29757. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29758. // One or more filters.
  29759. //
  29760. // * group-id - The ID of a VPC security group that's associated with the
  29761. // instance.
  29762. //
  29763. // * instance-id - The ID of the instance.
  29764. //
  29765. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  29766. //
  29767. // * tag-key - The key of a tag assigned to the resource. This filter is
  29768. // independent of the tag-value filter. For example, if you use both the
  29769. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  29770. // assigned both the tag key Purpose (regardless of what the tag's value
  29771. // is), and the tag value X (regardless of what the tag's key is). If you
  29772. // want to list only resources where Purpose is X, see the tag:key=value
  29773. // filter.
  29774. //
  29775. // * tag-value - The value of a tag assigned to the resource. This filter
  29776. // is independent of the tag-key filter.
  29777. //
  29778. // * vpc-id - The ID of the VPC that the instance is linked to.
  29779. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  29780. // One or more instance IDs. Must be instances linked to a VPC through ClassicLink.
  29781. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
  29782. // The maximum number of results to return for the request in a single page.
  29783. // The remaining results of the initial request can be seen by sending another
  29784. // request with the returned NextToken value. This value can be between 5 and
  29785. // 1000; if MaxResults is given a value larger than 1000, only 1000 results
  29786. // are returned. You cannot specify this parameter and the instance IDs parameter
  29787. // in the same request.
  29788. //
  29789. // Constraint: If the value is greater than 1000, we return only 1000 items.
  29790. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  29791. // The token to retrieve the next page of results.
  29792. NextToken *string `locationName:"nextToken" type:"string"`
  29793. }
  29794. // String returns the string representation
  29795. func (s DescribeClassicLinkInstancesInput) String() string {
  29796. return awsutil.Prettify(s)
  29797. }
  29798. // GoString returns the string representation
  29799. func (s DescribeClassicLinkInstancesInput) GoString() string {
  29800. return s.String()
  29801. }
  29802. // SetDryRun sets the DryRun field's value.
  29803. func (s *DescribeClassicLinkInstancesInput) SetDryRun(v bool) *DescribeClassicLinkInstancesInput {
  29804. s.DryRun = &v
  29805. return s
  29806. }
  29807. // SetFilters sets the Filters field's value.
  29808. func (s *DescribeClassicLinkInstancesInput) SetFilters(v []*Filter) *DescribeClassicLinkInstancesInput {
  29809. s.Filters = v
  29810. return s
  29811. }
  29812. // SetInstanceIds sets the InstanceIds field's value.
  29813. func (s *DescribeClassicLinkInstancesInput) SetInstanceIds(v []*string) *DescribeClassicLinkInstancesInput {
  29814. s.InstanceIds = v
  29815. return s
  29816. }
  29817. // SetMaxResults sets the MaxResults field's value.
  29818. func (s *DescribeClassicLinkInstancesInput) SetMaxResults(v int64) *DescribeClassicLinkInstancesInput {
  29819. s.MaxResults = &v
  29820. return s
  29821. }
  29822. // SetNextToken sets the NextToken field's value.
  29823. func (s *DescribeClassicLinkInstancesInput) SetNextToken(v string) *DescribeClassicLinkInstancesInput {
  29824. s.NextToken = &v
  29825. return s
  29826. }
  29827. // Contains the output of DescribeClassicLinkInstances.
  29828. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClassicLinkInstancesResult
  29829. type DescribeClassicLinkInstancesOutput struct {
  29830. _ struct{} `type:"structure"`
  29831. // Information about one or more linked EC2-Classic instances.
  29832. Instances []*ClassicLinkInstance `locationName:"instancesSet" locationNameList:"item" type:"list"`
  29833. // The token to use to retrieve the next page of results. This value is null
  29834. // when there are no more results to return.
  29835. NextToken *string `locationName:"nextToken" type:"string"`
  29836. }
  29837. // String returns the string representation
  29838. func (s DescribeClassicLinkInstancesOutput) String() string {
  29839. return awsutil.Prettify(s)
  29840. }
  29841. // GoString returns the string representation
  29842. func (s DescribeClassicLinkInstancesOutput) GoString() string {
  29843. return s.String()
  29844. }
  29845. // SetInstances sets the Instances field's value.
  29846. func (s *DescribeClassicLinkInstancesOutput) SetInstances(v []*ClassicLinkInstance) *DescribeClassicLinkInstancesOutput {
  29847. s.Instances = v
  29848. return s
  29849. }
  29850. // SetNextToken sets the NextToken field's value.
  29851. func (s *DescribeClassicLinkInstancesOutput) SetNextToken(v string) *DescribeClassicLinkInstancesOutput {
  29852. s.NextToken = &v
  29853. return s
  29854. }
  29855. // Contains the parameters for DescribeConversionTasks.
  29856. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeConversionTasksRequest
  29857. type DescribeConversionTasksInput struct {
  29858. _ struct{} `type:"structure"`
  29859. // One or more conversion task IDs.
  29860. ConversionTaskIds []*string `locationName:"conversionTaskId" locationNameList:"item" type:"list"`
  29861. // Checks whether you have the required permissions for the action, without
  29862. // actually making the request, and provides an error response. If you have
  29863. // the required permissions, the error response is DryRunOperation. Otherwise,
  29864. // it is UnauthorizedOperation.
  29865. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29866. }
  29867. // String returns the string representation
  29868. func (s DescribeConversionTasksInput) String() string {
  29869. return awsutil.Prettify(s)
  29870. }
  29871. // GoString returns the string representation
  29872. func (s DescribeConversionTasksInput) GoString() string {
  29873. return s.String()
  29874. }
  29875. // SetConversionTaskIds sets the ConversionTaskIds field's value.
  29876. func (s *DescribeConversionTasksInput) SetConversionTaskIds(v []*string) *DescribeConversionTasksInput {
  29877. s.ConversionTaskIds = v
  29878. return s
  29879. }
  29880. // SetDryRun sets the DryRun field's value.
  29881. func (s *DescribeConversionTasksInput) SetDryRun(v bool) *DescribeConversionTasksInput {
  29882. s.DryRun = &v
  29883. return s
  29884. }
  29885. // Contains the output for DescribeConversionTasks.
  29886. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeConversionTasksResult
  29887. type DescribeConversionTasksOutput struct {
  29888. _ struct{} `type:"structure"`
  29889. // Information about the conversion tasks.
  29890. ConversionTasks []*ConversionTask `locationName:"conversionTasks" locationNameList:"item" type:"list"`
  29891. }
  29892. // String returns the string representation
  29893. func (s DescribeConversionTasksOutput) String() string {
  29894. return awsutil.Prettify(s)
  29895. }
  29896. // GoString returns the string representation
  29897. func (s DescribeConversionTasksOutput) GoString() string {
  29898. return s.String()
  29899. }
  29900. // SetConversionTasks sets the ConversionTasks field's value.
  29901. func (s *DescribeConversionTasksOutput) SetConversionTasks(v []*ConversionTask) *DescribeConversionTasksOutput {
  29902. s.ConversionTasks = v
  29903. return s
  29904. }
  29905. // Contains the parameters for DescribeCustomerGateways.
  29906. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCustomerGatewaysRequest
  29907. type DescribeCustomerGatewaysInput struct {
  29908. _ struct{} `type:"structure"`
  29909. // One or more customer gateway IDs.
  29910. //
  29911. // Default: Describes all your customer gateways.
  29912. CustomerGatewayIds []*string `locationName:"CustomerGatewayId" locationNameList:"CustomerGatewayId" type:"list"`
  29913. // Checks whether you have the required permissions for the action, without
  29914. // actually making the request, and provides an error response. If you have
  29915. // the required permissions, the error response is DryRunOperation. Otherwise,
  29916. // it is UnauthorizedOperation.
  29917. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29918. // One or more filters.
  29919. //
  29920. // * bgp-asn - The customer gateway's Border Gateway Protocol (BGP) Autonomous
  29921. // System Number (ASN).
  29922. //
  29923. // * customer-gateway-id - The ID of the customer gateway.
  29924. //
  29925. // * ip-address - The IP address of the customer gateway's Internet-routable
  29926. // external interface.
  29927. //
  29928. // * state - The state of the customer gateway (pending | available | deleting
  29929. // | deleted).
  29930. //
  29931. // * type - The type of customer gateway. Currently, the only supported type
  29932. // is ipsec.1.
  29933. //
  29934. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  29935. // Specify the key of the tag in the filter name and the value of the tag
  29936. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  29937. // for the filter name and X for the filter value.
  29938. //
  29939. // * tag-key - The key of a tag assigned to the resource. This filter is
  29940. // independent of the tag-value filter. For example, if you use both the
  29941. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  29942. // assigned both the tag key Purpose (regardless of what the tag's value
  29943. // is), and the tag value X (regardless of what the tag's key is). If you
  29944. // want to list only resources where Purpose is X, see the tag:key=value
  29945. // filter.
  29946. //
  29947. // * tag-value - The value of a tag assigned to the resource. This filter
  29948. // is independent of the tag-key filter.
  29949. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  29950. }
  29951. // String returns the string representation
  29952. func (s DescribeCustomerGatewaysInput) String() string {
  29953. return awsutil.Prettify(s)
  29954. }
  29955. // GoString returns the string representation
  29956. func (s DescribeCustomerGatewaysInput) GoString() string {
  29957. return s.String()
  29958. }
  29959. // SetCustomerGatewayIds sets the CustomerGatewayIds field's value.
  29960. func (s *DescribeCustomerGatewaysInput) SetCustomerGatewayIds(v []*string) *DescribeCustomerGatewaysInput {
  29961. s.CustomerGatewayIds = v
  29962. return s
  29963. }
  29964. // SetDryRun sets the DryRun field's value.
  29965. func (s *DescribeCustomerGatewaysInput) SetDryRun(v bool) *DescribeCustomerGatewaysInput {
  29966. s.DryRun = &v
  29967. return s
  29968. }
  29969. // SetFilters sets the Filters field's value.
  29970. func (s *DescribeCustomerGatewaysInput) SetFilters(v []*Filter) *DescribeCustomerGatewaysInput {
  29971. s.Filters = v
  29972. return s
  29973. }
  29974. // Contains the output of DescribeCustomerGateways.
  29975. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCustomerGatewaysResult
  29976. type DescribeCustomerGatewaysOutput struct {
  29977. _ struct{} `type:"structure"`
  29978. // Information about one or more customer gateways.
  29979. CustomerGateways []*CustomerGateway `locationName:"customerGatewaySet" locationNameList:"item" type:"list"`
  29980. }
  29981. // String returns the string representation
  29982. func (s DescribeCustomerGatewaysOutput) String() string {
  29983. return awsutil.Prettify(s)
  29984. }
  29985. // GoString returns the string representation
  29986. func (s DescribeCustomerGatewaysOutput) GoString() string {
  29987. return s.String()
  29988. }
  29989. // SetCustomerGateways sets the CustomerGateways field's value.
  29990. func (s *DescribeCustomerGatewaysOutput) SetCustomerGateways(v []*CustomerGateway) *DescribeCustomerGatewaysOutput {
  29991. s.CustomerGateways = v
  29992. return s
  29993. }
  29994. // Contains the parameters for DescribeDhcpOptions.
  29995. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeDhcpOptionsRequest
  29996. type DescribeDhcpOptionsInput struct {
  29997. _ struct{} `type:"structure"`
  29998. // The IDs of one or more DHCP options sets.
  29999. //
  30000. // Default: Describes all your DHCP options sets.
  30001. DhcpOptionsIds []*string `locationName:"DhcpOptionsId" locationNameList:"DhcpOptionsId" type:"list"`
  30002. // Checks whether you have the required permissions for the action, without
  30003. // actually making the request, and provides an error response. If you have
  30004. // the required permissions, the error response is DryRunOperation. Otherwise,
  30005. // it is UnauthorizedOperation.
  30006. DryRun *bool `locationName:"dryRun" type:"boolean"`
  30007. // One or more filters.
  30008. //
  30009. // * dhcp-options-id - The ID of a set of DHCP options.
  30010. //
  30011. // * key - The key for one of the options (for example, domain-name).
  30012. //
  30013. // * value - The value for one of the options.
  30014. //
  30015. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  30016. // Specify the key of the tag in the filter name and the value of the tag
  30017. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  30018. // for the filter name and X for the filter value.
  30019. //
  30020. // * tag-key - The key of a tag assigned to the resource. This filter is
  30021. // independent of the tag-value filter. For example, if you use both the
  30022. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  30023. // assigned both the tag key Purpose (regardless of what the tag's value
  30024. // is), and the tag value X (regardless of what the tag's key is). If you
  30025. // want to list only resources where Purpose is X, see the tag:key=value
  30026. // filter.
  30027. //
  30028. // * tag-value - The value of a tag assigned to the resource. This filter
  30029. // is independent of the tag-key filter.
  30030. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  30031. }
  30032. // String returns the string representation
  30033. func (s DescribeDhcpOptionsInput) String() string {
  30034. return awsutil.Prettify(s)
  30035. }
  30036. // GoString returns the string representation
  30037. func (s DescribeDhcpOptionsInput) GoString() string {
  30038. return s.String()
  30039. }
  30040. // SetDhcpOptionsIds sets the DhcpOptionsIds field's value.
  30041. func (s *DescribeDhcpOptionsInput) SetDhcpOptionsIds(v []*string) *DescribeDhcpOptionsInput {
  30042. s.DhcpOptionsIds = v
  30043. return s
  30044. }
  30045. // SetDryRun sets the DryRun field's value.
  30046. func (s *DescribeDhcpOptionsInput) SetDryRun(v bool) *DescribeDhcpOptionsInput {
  30047. s.DryRun = &v
  30048. return s
  30049. }
  30050. // SetFilters sets the Filters field's value.
  30051. func (s *DescribeDhcpOptionsInput) SetFilters(v []*Filter) *DescribeDhcpOptionsInput {
  30052. s.Filters = v
  30053. return s
  30054. }
  30055. // Contains the output of DescribeDhcpOptions.
  30056. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeDhcpOptionsResult
  30057. type DescribeDhcpOptionsOutput struct {
  30058. _ struct{} `type:"structure"`
  30059. // Information about one or more DHCP options sets.
  30060. DhcpOptions []*DhcpOptions `locationName:"dhcpOptionsSet" locationNameList:"item" type:"list"`
  30061. }
  30062. // String returns the string representation
  30063. func (s DescribeDhcpOptionsOutput) String() string {
  30064. return awsutil.Prettify(s)
  30065. }
  30066. // GoString returns the string representation
  30067. func (s DescribeDhcpOptionsOutput) GoString() string {
  30068. return s.String()
  30069. }
  30070. // SetDhcpOptions sets the DhcpOptions field's value.
  30071. func (s *DescribeDhcpOptionsOutput) SetDhcpOptions(v []*DhcpOptions) *DescribeDhcpOptionsOutput {
  30072. s.DhcpOptions = v
  30073. return s
  30074. }
  30075. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeEgressOnlyInternetGatewaysRequest
  30076. type DescribeEgressOnlyInternetGatewaysInput struct {
  30077. _ struct{} `type:"structure"`
  30078. // Checks whether you have the required permissions for the action, without
  30079. // actually making the request, and provides an error response. If you have
  30080. // the required permissions, the error response is DryRunOperation. Otherwise,
  30081. // it is UnauthorizedOperation.
  30082. DryRun *bool `type:"boolean"`
  30083. // One or more egress-only Internet gateway IDs.
  30084. EgressOnlyInternetGatewayIds []*string `locationName:"EgressOnlyInternetGatewayId" locationNameList:"item" type:"list"`
  30085. // The maximum number of results to return for the request in a single page.
  30086. // The remaining results can be seen by sending another request with the returned
  30087. // NextToken value. This value can be between 5 and 1000; if MaxResults is given
  30088. // a value larger than 1000, only 1000 results are returned.
  30089. MaxResults *int64 `type:"integer"`
  30090. // The token to retrieve the next page of results.
  30091. NextToken *string `type:"string"`
  30092. }
  30093. // String returns the string representation
  30094. func (s DescribeEgressOnlyInternetGatewaysInput) String() string {
  30095. return awsutil.Prettify(s)
  30096. }
  30097. // GoString returns the string representation
  30098. func (s DescribeEgressOnlyInternetGatewaysInput) GoString() string {
  30099. return s.String()
  30100. }
  30101. // SetDryRun sets the DryRun field's value.
  30102. func (s *DescribeEgressOnlyInternetGatewaysInput) SetDryRun(v bool) *DescribeEgressOnlyInternetGatewaysInput {
  30103. s.DryRun = &v
  30104. return s
  30105. }
  30106. // SetEgressOnlyInternetGatewayIds sets the EgressOnlyInternetGatewayIds field's value.
  30107. func (s *DescribeEgressOnlyInternetGatewaysInput) SetEgressOnlyInternetGatewayIds(v []*string) *DescribeEgressOnlyInternetGatewaysInput {
  30108. s.EgressOnlyInternetGatewayIds = v
  30109. return s
  30110. }
  30111. // SetMaxResults sets the MaxResults field's value.
  30112. func (s *DescribeEgressOnlyInternetGatewaysInput) SetMaxResults(v int64) *DescribeEgressOnlyInternetGatewaysInput {
  30113. s.MaxResults = &v
  30114. return s
  30115. }
  30116. // SetNextToken sets the NextToken field's value.
  30117. func (s *DescribeEgressOnlyInternetGatewaysInput) SetNextToken(v string) *DescribeEgressOnlyInternetGatewaysInput {
  30118. s.NextToken = &v
  30119. return s
  30120. }
  30121. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeEgressOnlyInternetGatewaysResult
  30122. type DescribeEgressOnlyInternetGatewaysOutput struct {
  30123. _ struct{} `type:"structure"`
  30124. // Information about the egress-only Internet gateways.
  30125. EgressOnlyInternetGateways []*EgressOnlyInternetGateway `locationName:"egressOnlyInternetGatewaySet" locationNameList:"item" type:"list"`
  30126. // The token to use to retrieve the next page of results.
  30127. NextToken *string `locationName:"nextToken" type:"string"`
  30128. }
  30129. // String returns the string representation
  30130. func (s DescribeEgressOnlyInternetGatewaysOutput) String() string {
  30131. return awsutil.Prettify(s)
  30132. }
  30133. // GoString returns the string representation
  30134. func (s DescribeEgressOnlyInternetGatewaysOutput) GoString() string {
  30135. return s.String()
  30136. }
  30137. // SetEgressOnlyInternetGateways sets the EgressOnlyInternetGateways field's value.
  30138. func (s *DescribeEgressOnlyInternetGatewaysOutput) SetEgressOnlyInternetGateways(v []*EgressOnlyInternetGateway) *DescribeEgressOnlyInternetGatewaysOutput {
  30139. s.EgressOnlyInternetGateways = v
  30140. return s
  30141. }
  30142. // SetNextToken sets the NextToken field's value.
  30143. func (s *DescribeEgressOnlyInternetGatewaysOutput) SetNextToken(v string) *DescribeEgressOnlyInternetGatewaysOutput {
  30144. s.NextToken = &v
  30145. return s
  30146. }
  30147. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeElasticGpusRequest
  30148. type DescribeElasticGpusInput struct {
  30149. _ struct{} `type:"structure"`
  30150. // Checks whether you have the required permissions for the action, without
  30151. // actually making the request, and provides an error response. If you have
  30152. // the required permissions, the error response is DryRunOperation. Otherwise,
  30153. // it is UnauthorizedOperation.
  30154. DryRun *bool `type:"boolean"`
  30155. // One or more Elastic GPU IDs.
  30156. ElasticGpuIds []*string `locationName:"ElasticGpuId" locationNameList:"item" type:"list"`
  30157. // One or more filters.
  30158. //
  30159. // * availability-zone - The Availability Zone in which the Elastic GPU resides.
  30160. //
  30161. // * elastic-gpu-health - The status of the Elastic GPU (OK | IMPAIRED).
  30162. //
  30163. // * elastic-gpu-state - The state of the Elastic GPU (ATTACHED).
  30164. //
  30165. // * elastic-gpu-type - The type of Elastic GPU; for example, eg1.medium.
  30166. //
  30167. // * instance-id - The ID of the instance to which the Elastic GPU is associated.
  30168. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  30169. // The maximum number of results to return in a single call. To retrieve the
  30170. // remaining results, make another call with the returned NextToken value. This
  30171. // value can be between 5 and 1000.
  30172. MaxResults *int64 `type:"integer"`
  30173. // The token to request the next page of results.
  30174. NextToken *string `type:"string"`
  30175. }
  30176. // String returns the string representation
  30177. func (s DescribeElasticGpusInput) String() string {
  30178. return awsutil.Prettify(s)
  30179. }
  30180. // GoString returns the string representation
  30181. func (s DescribeElasticGpusInput) GoString() string {
  30182. return s.String()
  30183. }
  30184. // SetDryRun sets the DryRun field's value.
  30185. func (s *DescribeElasticGpusInput) SetDryRun(v bool) *DescribeElasticGpusInput {
  30186. s.DryRun = &v
  30187. return s
  30188. }
  30189. // SetElasticGpuIds sets the ElasticGpuIds field's value.
  30190. func (s *DescribeElasticGpusInput) SetElasticGpuIds(v []*string) *DescribeElasticGpusInput {
  30191. s.ElasticGpuIds = v
  30192. return s
  30193. }
  30194. // SetFilters sets the Filters field's value.
  30195. func (s *DescribeElasticGpusInput) SetFilters(v []*Filter) *DescribeElasticGpusInput {
  30196. s.Filters = v
  30197. return s
  30198. }
  30199. // SetMaxResults sets the MaxResults field's value.
  30200. func (s *DescribeElasticGpusInput) SetMaxResults(v int64) *DescribeElasticGpusInput {
  30201. s.MaxResults = &v
  30202. return s
  30203. }
  30204. // SetNextToken sets the NextToken field's value.
  30205. func (s *DescribeElasticGpusInput) SetNextToken(v string) *DescribeElasticGpusInput {
  30206. s.NextToken = &v
  30207. return s
  30208. }
  30209. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeElasticGpusResult
  30210. type DescribeElasticGpusOutput struct {
  30211. _ struct{} `type:"structure"`
  30212. // Information about the Elastic GPUs.
  30213. ElasticGpuSet []*ElasticGpus `locationName:"elasticGpuSet" locationNameList:"item" type:"list"`
  30214. // The total number of items to return. If the total number of items available
  30215. // is more than the value specified in max-items then a Next-Token will be provided
  30216. // in the output that you can use to resume pagination.
  30217. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  30218. // The token to use to retrieve the next page of results. This value is null
  30219. // when there are no more results to return.
  30220. NextToken *string `locationName:"nextToken" type:"string"`
  30221. }
  30222. // String returns the string representation
  30223. func (s DescribeElasticGpusOutput) String() string {
  30224. return awsutil.Prettify(s)
  30225. }
  30226. // GoString returns the string representation
  30227. func (s DescribeElasticGpusOutput) GoString() string {
  30228. return s.String()
  30229. }
  30230. // SetElasticGpuSet sets the ElasticGpuSet field's value.
  30231. func (s *DescribeElasticGpusOutput) SetElasticGpuSet(v []*ElasticGpus) *DescribeElasticGpusOutput {
  30232. s.ElasticGpuSet = v
  30233. return s
  30234. }
  30235. // SetMaxResults sets the MaxResults field's value.
  30236. func (s *DescribeElasticGpusOutput) SetMaxResults(v int64) *DescribeElasticGpusOutput {
  30237. s.MaxResults = &v
  30238. return s
  30239. }
  30240. // SetNextToken sets the NextToken field's value.
  30241. func (s *DescribeElasticGpusOutput) SetNextToken(v string) *DescribeElasticGpusOutput {
  30242. s.NextToken = &v
  30243. return s
  30244. }
  30245. // Contains the parameters for DescribeExportTasks.
  30246. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportTasksRequest
  30247. type DescribeExportTasksInput struct {
  30248. _ struct{} `type:"structure"`
  30249. // One or more export task IDs.
  30250. ExportTaskIds []*string `locationName:"exportTaskId" locationNameList:"ExportTaskId" type:"list"`
  30251. }
  30252. // String returns the string representation
  30253. func (s DescribeExportTasksInput) String() string {
  30254. return awsutil.Prettify(s)
  30255. }
  30256. // GoString returns the string representation
  30257. func (s DescribeExportTasksInput) GoString() string {
  30258. return s.String()
  30259. }
  30260. // SetExportTaskIds sets the ExportTaskIds field's value.
  30261. func (s *DescribeExportTasksInput) SetExportTaskIds(v []*string) *DescribeExportTasksInput {
  30262. s.ExportTaskIds = v
  30263. return s
  30264. }
  30265. // Contains the output for DescribeExportTasks.
  30266. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportTasksResult
  30267. type DescribeExportTasksOutput struct {
  30268. _ struct{} `type:"structure"`
  30269. // Information about the export tasks.
  30270. ExportTasks []*ExportTask `locationName:"exportTaskSet" locationNameList:"item" type:"list"`
  30271. }
  30272. // String returns the string representation
  30273. func (s DescribeExportTasksOutput) String() string {
  30274. return awsutil.Prettify(s)
  30275. }
  30276. // GoString returns the string representation
  30277. func (s DescribeExportTasksOutput) GoString() string {
  30278. return s.String()
  30279. }
  30280. // SetExportTasks sets the ExportTasks field's value.
  30281. func (s *DescribeExportTasksOutput) SetExportTasks(v []*ExportTask) *DescribeExportTasksOutput {
  30282. s.ExportTasks = v
  30283. return s
  30284. }
  30285. // Contains the parameters for DescribeFlowLogs.
  30286. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFlowLogsRequest
  30287. type DescribeFlowLogsInput struct {
  30288. _ struct{} `type:"structure"`
  30289. // One or more filters.
  30290. //
  30291. // * deliver-log-status - The status of the logs delivery (SUCCESS | FAILED).
  30292. //
  30293. // * flow-log-id - The ID of the flow log.
  30294. //
  30295. // * log-group-name - The name of the log group.
  30296. //
  30297. // * resource-id - The ID of the VPC, subnet, or network interface.
  30298. //
  30299. // * traffic-type - The type of traffic (ACCEPT | REJECT | ALL)
  30300. Filter []*Filter `locationNameList:"Filter" type:"list"`
  30301. // One or more flow log IDs.
  30302. FlowLogIds []*string `locationName:"FlowLogId" locationNameList:"item" type:"list"`
  30303. // The maximum number of results to return for the request in a single page.
  30304. // The remaining results can be seen by sending another request with the returned
  30305. // NextToken value. This value can be between 5 and 1000; if MaxResults is given
  30306. // a value larger than 1000, only 1000 results are returned. You cannot specify
  30307. // this parameter and the flow log IDs parameter in the same request.
  30308. MaxResults *int64 `type:"integer"`
  30309. // The token to retrieve the next page of results.
  30310. NextToken *string `type:"string"`
  30311. }
  30312. // String returns the string representation
  30313. func (s DescribeFlowLogsInput) String() string {
  30314. return awsutil.Prettify(s)
  30315. }
  30316. // GoString returns the string representation
  30317. func (s DescribeFlowLogsInput) GoString() string {
  30318. return s.String()
  30319. }
  30320. // SetFilter sets the Filter field's value.
  30321. func (s *DescribeFlowLogsInput) SetFilter(v []*Filter) *DescribeFlowLogsInput {
  30322. s.Filter = v
  30323. return s
  30324. }
  30325. // SetFlowLogIds sets the FlowLogIds field's value.
  30326. func (s *DescribeFlowLogsInput) SetFlowLogIds(v []*string) *DescribeFlowLogsInput {
  30327. s.FlowLogIds = v
  30328. return s
  30329. }
  30330. // SetMaxResults sets the MaxResults field's value.
  30331. func (s *DescribeFlowLogsInput) SetMaxResults(v int64) *DescribeFlowLogsInput {
  30332. s.MaxResults = &v
  30333. return s
  30334. }
  30335. // SetNextToken sets the NextToken field's value.
  30336. func (s *DescribeFlowLogsInput) SetNextToken(v string) *DescribeFlowLogsInput {
  30337. s.NextToken = &v
  30338. return s
  30339. }
  30340. // Contains the output of DescribeFlowLogs.
  30341. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFlowLogsResult
  30342. type DescribeFlowLogsOutput struct {
  30343. _ struct{} `type:"structure"`
  30344. // Information about the flow logs.
  30345. FlowLogs []*FlowLog `locationName:"flowLogSet" locationNameList:"item" type:"list"`
  30346. // The token to use to retrieve the next page of results. This value is null
  30347. // when there are no more results to return.
  30348. NextToken *string `locationName:"nextToken" type:"string"`
  30349. }
  30350. // String returns the string representation
  30351. func (s DescribeFlowLogsOutput) String() string {
  30352. return awsutil.Prettify(s)
  30353. }
  30354. // GoString returns the string representation
  30355. func (s DescribeFlowLogsOutput) GoString() string {
  30356. return s.String()
  30357. }
  30358. // SetFlowLogs sets the FlowLogs field's value.
  30359. func (s *DescribeFlowLogsOutput) SetFlowLogs(v []*FlowLog) *DescribeFlowLogsOutput {
  30360. s.FlowLogs = v
  30361. return s
  30362. }
  30363. // SetNextToken sets the NextToken field's value.
  30364. func (s *DescribeFlowLogsOutput) SetNextToken(v string) *DescribeFlowLogsOutput {
  30365. s.NextToken = &v
  30366. return s
  30367. }
  30368. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImageAttributeRequest
  30369. type DescribeFpgaImageAttributeInput struct {
  30370. _ struct{} `type:"structure"`
  30371. // The AFI attribute.
  30372. //
  30373. // Attribute is a required field
  30374. Attribute *string `type:"string" required:"true" enum:"FpgaImageAttributeName"`
  30375. // Checks whether you have the required permissions for the action, without
  30376. // actually making the request, and provides an error response. If you have
  30377. // the required permissions, the error response is DryRunOperation. Otherwise,
  30378. // it is UnauthorizedOperation.
  30379. DryRun *bool `type:"boolean"`
  30380. // The ID of the AFI.
  30381. //
  30382. // FpgaImageId is a required field
  30383. FpgaImageId *string `type:"string" required:"true"`
  30384. }
  30385. // String returns the string representation
  30386. func (s DescribeFpgaImageAttributeInput) String() string {
  30387. return awsutil.Prettify(s)
  30388. }
  30389. // GoString returns the string representation
  30390. func (s DescribeFpgaImageAttributeInput) GoString() string {
  30391. return s.String()
  30392. }
  30393. // Validate inspects the fields of the type to determine if they are valid.
  30394. func (s *DescribeFpgaImageAttributeInput) Validate() error {
  30395. invalidParams := request.ErrInvalidParams{Context: "DescribeFpgaImageAttributeInput"}
  30396. if s.Attribute == nil {
  30397. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  30398. }
  30399. if s.FpgaImageId == nil {
  30400. invalidParams.Add(request.NewErrParamRequired("FpgaImageId"))
  30401. }
  30402. if invalidParams.Len() > 0 {
  30403. return invalidParams
  30404. }
  30405. return nil
  30406. }
  30407. // SetAttribute sets the Attribute field's value.
  30408. func (s *DescribeFpgaImageAttributeInput) SetAttribute(v string) *DescribeFpgaImageAttributeInput {
  30409. s.Attribute = &v
  30410. return s
  30411. }
  30412. // SetDryRun sets the DryRun field's value.
  30413. func (s *DescribeFpgaImageAttributeInput) SetDryRun(v bool) *DescribeFpgaImageAttributeInput {
  30414. s.DryRun = &v
  30415. return s
  30416. }
  30417. // SetFpgaImageId sets the FpgaImageId field's value.
  30418. func (s *DescribeFpgaImageAttributeInput) SetFpgaImageId(v string) *DescribeFpgaImageAttributeInput {
  30419. s.FpgaImageId = &v
  30420. return s
  30421. }
  30422. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImageAttributeResult
  30423. type DescribeFpgaImageAttributeOutput struct {
  30424. _ struct{} `type:"structure"`
  30425. // Information about the attribute.
  30426. FpgaImageAttribute *FpgaImageAttribute `locationName:"fpgaImageAttribute" type:"structure"`
  30427. }
  30428. // String returns the string representation
  30429. func (s DescribeFpgaImageAttributeOutput) String() string {
  30430. return awsutil.Prettify(s)
  30431. }
  30432. // GoString returns the string representation
  30433. func (s DescribeFpgaImageAttributeOutput) GoString() string {
  30434. return s.String()
  30435. }
  30436. // SetFpgaImageAttribute sets the FpgaImageAttribute field's value.
  30437. func (s *DescribeFpgaImageAttributeOutput) SetFpgaImageAttribute(v *FpgaImageAttribute) *DescribeFpgaImageAttributeOutput {
  30438. s.FpgaImageAttribute = v
  30439. return s
  30440. }
  30441. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImagesRequest
  30442. type DescribeFpgaImagesInput struct {
  30443. _ struct{} `type:"structure"`
  30444. // Checks whether you have the required permissions for the action, without
  30445. // actually making the request, and provides an error response. If you have
  30446. // the required permissions, the error response is DryRunOperation. Otherwise,
  30447. // it is UnauthorizedOperation.
  30448. DryRun *bool `type:"boolean"`
  30449. // One or more filters.
  30450. //
  30451. // * create-time - The creation time of the AFI.
  30452. //
  30453. // * fpga-image-id - The FPGA image identifier (AFI ID).
  30454. //
  30455. // * fpga-image-global-id - The global FPGA image identifier (AGFI ID).
  30456. //
  30457. // * name - The name of the AFI.
  30458. //
  30459. // * owner-id - The AWS account ID of the AFI owner.
  30460. //
  30461. // * product-code - The product code.
  30462. //
  30463. // * shell-version - The version of the AWS Shell that was used to create
  30464. // the bitstream.
  30465. //
  30466. // * state - The state of the AFI (pending | failed | available | unavailable).
  30467. //
  30468. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  30469. // Specify the key of the tag in the filter name and the value of the tag
  30470. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  30471. // for the filter name and X for the filter value.
  30472. //
  30473. // * tag-key - The key of a tag assigned to the resource. This filter is
  30474. // independent of the tag-value filter. For example, if you use both the
  30475. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  30476. // assigned both the tag key Purpose (regardless of what the tag's value
  30477. // is), and the tag value X (regardless of what the tag's key is). If you
  30478. // want to list only resources where Purpose is X, see the tag:key=value
  30479. // filter.
  30480. //
  30481. // * tag-value - The value of a tag assigned to the resource. This filter
  30482. // is independent of the tag-key filter.
  30483. //
  30484. // * update-time - The time of the most recent update.
  30485. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  30486. // One or more AFI IDs.
  30487. FpgaImageIds []*string `locationName:"FpgaImageId" locationNameList:"item" type:"list"`
  30488. // The maximum number of results to return in a single call.
  30489. MaxResults *int64 `min:"5" type:"integer"`
  30490. // The token to retrieve the next page of results.
  30491. NextToken *string `min:"1" type:"string"`
  30492. // Filters the AFI by owner. Specify an AWS account ID, self (owner is the sender
  30493. // of the request), or an AWS owner alias (valid values are amazon | aws-marketplace).
  30494. Owners []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
  30495. }
  30496. // String returns the string representation
  30497. func (s DescribeFpgaImagesInput) String() string {
  30498. return awsutil.Prettify(s)
  30499. }
  30500. // GoString returns the string representation
  30501. func (s DescribeFpgaImagesInput) GoString() string {
  30502. return s.String()
  30503. }
  30504. // Validate inspects the fields of the type to determine if they are valid.
  30505. func (s *DescribeFpgaImagesInput) Validate() error {
  30506. invalidParams := request.ErrInvalidParams{Context: "DescribeFpgaImagesInput"}
  30507. if s.MaxResults != nil && *s.MaxResults < 5 {
  30508. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  30509. }
  30510. if s.NextToken != nil && len(*s.NextToken) < 1 {
  30511. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  30512. }
  30513. if invalidParams.Len() > 0 {
  30514. return invalidParams
  30515. }
  30516. return nil
  30517. }
  30518. // SetDryRun sets the DryRun field's value.
  30519. func (s *DescribeFpgaImagesInput) SetDryRun(v bool) *DescribeFpgaImagesInput {
  30520. s.DryRun = &v
  30521. return s
  30522. }
  30523. // SetFilters sets the Filters field's value.
  30524. func (s *DescribeFpgaImagesInput) SetFilters(v []*Filter) *DescribeFpgaImagesInput {
  30525. s.Filters = v
  30526. return s
  30527. }
  30528. // SetFpgaImageIds sets the FpgaImageIds field's value.
  30529. func (s *DescribeFpgaImagesInput) SetFpgaImageIds(v []*string) *DescribeFpgaImagesInput {
  30530. s.FpgaImageIds = v
  30531. return s
  30532. }
  30533. // SetMaxResults sets the MaxResults field's value.
  30534. func (s *DescribeFpgaImagesInput) SetMaxResults(v int64) *DescribeFpgaImagesInput {
  30535. s.MaxResults = &v
  30536. return s
  30537. }
  30538. // SetNextToken sets the NextToken field's value.
  30539. func (s *DescribeFpgaImagesInput) SetNextToken(v string) *DescribeFpgaImagesInput {
  30540. s.NextToken = &v
  30541. return s
  30542. }
  30543. // SetOwners sets the Owners field's value.
  30544. func (s *DescribeFpgaImagesInput) SetOwners(v []*string) *DescribeFpgaImagesInput {
  30545. s.Owners = v
  30546. return s
  30547. }
  30548. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImagesResult
  30549. type DescribeFpgaImagesOutput struct {
  30550. _ struct{} `type:"structure"`
  30551. // Information about one or more FPGA images.
  30552. FpgaImages []*FpgaImage `locationName:"fpgaImageSet" locationNameList:"item" type:"list"`
  30553. // The token to use to retrieve the next page of results. This value is null
  30554. // when there are no more results to return.
  30555. NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  30556. }
  30557. // String returns the string representation
  30558. func (s DescribeFpgaImagesOutput) String() string {
  30559. return awsutil.Prettify(s)
  30560. }
  30561. // GoString returns the string representation
  30562. func (s DescribeFpgaImagesOutput) GoString() string {
  30563. return s.String()
  30564. }
  30565. // SetFpgaImages sets the FpgaImages field's value.
  30566. func (s *DescribeFpgaImagesOutput) SetFpgaImages(v []*FpgaImage) *DescribeFpgaImagesOutput {
  30567. s.FpgaImages = v
  30568. return s
  30569. }
  30570. // SetNextToken sets the NextToken field's value.
  30571. func (s *DescribeFpgaImagesOutput) SetNextToken(v string) *DescribeFpgaImagesOutput {
  30572. s.NextToken = &v
  30573. return s
  30574. }
  30575. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationOfferingsRequest
  30576. type DescribeHostReservationOfferingsInput struct {
  30577. _ struct{} `type:"structure"`
  30578. // One or more filters.
  30579. //
  30580. // * instance-family - The instance family of the offering (e.g., m4).
  30581. //
  30582. // * payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront).
  30583. Filter []*Filter `locationNameList:"Filter" type:"list"`
  30584. // This is the maximum duration of the reservation you'd like to purchase, specified
  30585. // in seconds. Reservations are available in one-year and three-year terms.
  30586. // The number of seconds specified must be the number of seconds in a year (365x24x60x60)
  30587. // times one of the supported durations (1 or 3). For example, specify 94608000
  30588. // for three years.
  30589. MaxDuration *int64 `type:"integer"`
  30590. // The maximum number of results to return for the request in a single page.
  30591. // The remaining results can be seen by sending another request with the returned
  30592. // nextToken value. This value can be between 5 and 500; if maxResults is given
  30593. // a larger value than 500, you will receive an error.
  30594. MaxResults *int64 `type:"integer"`
  30595. // This is the minimum duration of the reservation you'd like to purchase, specified
  30596. // in seconds. Reservations are available in one-year and three-year terms.
  30597. // The number of seconds specified must be the number of seconds in a year (365x24x60x60)
  30598. // times one of the supported durations (1 or 3). For example, specify 31536000
  30599. // for one year.
  30600. MinDuration *int64 `type:"integer"`
  30601. // The token to use to retrieve the next page of results.
  30602. NextToken *string `type:"string"`
  30603. // The ID of the reservation offering.
  30604. OfferingId *string `type:"string"`
  30605. }
  30606. // String returns the string representation
  30607. func (s DescribeHostReservationOfferingsInput) String() string {
  30608. return awsutil.Prettify(s)
  30609. }
  30610. // GoString returns the string representation
  30611. func (s DescribeHostReservationOfferingsInput) GoString() string {
  30612. return s.String()
  30613. }
  30614. // SetFilter sets the Filter field's value.
  30615. func (s *DescribeHostReservationOfferingsInput) SetFilter(v []*Filter) *DescribeHostReservationOfferingsInput {
  30616. s.Filter = v
  30617. return s
  30618. }
  30619. // SetMaxDuration sets the MaxDuration field's value.
  30620. func (s *DescribeHostReservationOfferingsInput) SetMaxDuration(v int64) *DescribeHostReservationOfferingsInput {
  30621. s.MaxDuration = &v
  30622. return s
  30623. }
  30624. // SetMaxResults sets the MaxResults field's value.
  30625. func (s *DescribeHostReservationOfferingsInput) SetMaxResults(v int64) *DescribeHostReservationOfferingsInput {
  30626. s.MaxResults = &v
  30627. return s
  30628. }
  30629. // SetMinDuration sets the MinDuration field's value.
  30630. func (s *DescribeHostReservationOfferingsInput) SetMinDuration(v int64) *DescribeHostReservationOfferingsInput {
  30631. s.MinDuration = &v
  30632. return s
  30633. }
  30634. // SetNextToken sets the NextToken field's value.
  30635. func (s *DescribeHostReservationOfferingsInput) SetNextToken(v string) *DescribeHostReservationOfferingsInput {
  30636. s.NextToken = &v
  30637. return s
  30638. }
  30639. // SetOfferingId sets the OfferingId field's value.
  30640. func (s *DescribeHostReservationOfferingsInput) SetOfferingId(v string) *DescribeHostReservationOfferingsInput {
  30641. s.OfferingId = &v
  30642. return s
  30643. }
  30644. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationOfferingsResult
  30645. type DescribeHostReservationOfferingsOutput struct {
  30646. _ struct{} `type:"structure"`
  30647. // The token to use to retrieve the next page of results. This value is null
  30648. // when there are no more results to return.
  30649. NextToken *string `locationName:"nextToken" type:"string"`
  30650. // Information about the offerings.
  30651. OfferingSet []*HostOffering `locationName:"offeringSet" locationNameList:"item" type:"list"`
  30652. }
  30653. // String returns the string representation
  30654. func (s DescribeHostReservationOfferingsOutput) String() string {
  30655. return awsutil.Prettify(s)
  30656. }
  30657. // GoString returns the string representation
  30658. func (s DescribeHostReservationOfferingsOutput) GoString() string {
  30659. return s.String()
  30660. }
  30661. // SetNextToken sets the NextToken field's value.
  30662. func (s *DescribeHostReservationOfferingsOutput) SetNextToken(v string) *DescribeHostReservationOfferingsOutput {
  30663. s.NextToken = &v
  30664. return s
  30665. }
  30666. // SetOfferingSet sets the OfferingSet field's value.
  30667. func (s *DescribeHostReservationOfferingsOutput) SetOfferingSet(v []*HostOffering) *DescribeHostReservationOfferingsOutput {
  30668. s.OfferingSet = v
  30669. return s
  30670. }
  30671. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationsRequest
  30672. type DescribeHostReservationsInput struct {
  30673. _ struct{} `type:"structure"`
  30674. // One or more filters.
  30675. //
  30676. // * instance-family - The instance family (e.g., m4).
  30677. //
  30678. // * payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront).
  30679. //
  30680. // * state - The state of the reservation (payment-pending | payment-failed
  30681. // | active | retired).
  30682. Filter []*Filter `locationNameList:"Filter" type:"list"`
  30683. // One or more host reservation IDs.
  30684. HostReservationIdSet []*string `locationNameList:"item" type:"list"`
  30685. // The maximum number of results to return for the request in a single page.
  30686. // The remaining results can be seen by sending another request with the returned
  30687. // nextToken value. This value can be between 5 and 500; if maxResults is given
  30688. // a larger value than 500, you will receive an error.
  30689. MaxResults *int64 `type:"integer"`
  30690. // The token to use to retrieve the next page of results.
  30691. NextToken *string `type:"string"`
  30692. }
  30693. // String returns the string representation
  30694. func (s DescribeHostReservationsInput) String() string {
  30695. return awsutil.Prettify(s)
  30696. }
  30697. // GoString returns the string representation
  30698. func (s DescribeHostReservationsInput) GoString() string {
  30699. return s.String()
  30700. }
  30701. // SetFilter sets the Filter field's value.
  30702. func (s *DescribeHostReservationsInput) SetFilter(v []*Filter) *DescribeHostReservationsInput {
  30703. s.Filter = v
  30704. return s
  30705. }
  30706. // SetHostReservationIdSet sets the HostReservationIdSet field's value.
  30707. func (s *DescribeHostReservationsInput) SetHostReservationIdSet(v []*string) *DescribeHostReservationsInput {
  30708. s.HostReservationIdSet = v
  30709. return s
  30710. }
  30711. // SetMaxResults sets the MaxResults field's value.
  30712. func (s *DescribeHostReservationsInput) SetMaxResults(v int64) *DescribeHostReservationsInput {
  30713. s.MaxResults = &v
  30714. return s
  30715. }
  30716. // SetNextToken sets the NextToken field's value.
  30717. func (s *DescribeHostReservationsInput) SetNextToken(v string) *DescribeHostReservationsInput {
  30718. s.NextToken = &v
  30719. return s
  30720. }
  30721. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationsResult
  30722. type DescribeHostReservationsOutput struct {
  30723. _ struct{} `type:"structure"`
  30724. // Details about the reservation's configuration.
  30725. HostReservationSet []*HostReservation `locationName:"hostReservationSet" locationNameList:"item" type:"list"`
  30726. // The token to use to retrieve the next page of results. This value is null
  30727. // when there are no more results to return.
  30728. NextToken *string `locationName:"nextToken" type:"string"`
  30729. }
  30730. // String returns the string representation
  30731. func (s DescribeHostReservationsOutput) String() string {
  30732. return awsutil.Prettify(s)
  30733. }
  30734. // GoString returns the string representation
  30735. func (s DescribeHostReservationsOutput) GoString() string {
  30736. return s.String()
  30737. }
  30738. // SetHostReservationSet sets the HostReservationSet field's value.
  30739. func (s *DescribeHostReservationsOutput) SetHostReservationSet(v []*HostReservation) *DescribeHostReservationsOutput {
  30740. s.HostReservationSet = v
  30741. return s
  30742. }
  30743. // SetNextToken sets the NextToken field's value.
  30744. func (s *DescribeHostReservationsOutput) SetNextToken(v string) *DescribeHostReservationsOutput {
  30745. s.NextToken = &v
  30746. return s
  30747. }
  30748. // Contains the parameters for DescribeHosts.
  30749. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostsRequest
  30750. type DescribeHostsInput struct {
  30751. _ struct{} `type:"structure"`
  30752. // One or more filters.
  30753. //
  30754. // * instance-type - The instance type size that the Dedicated Host is configured
  30755. // to support.
  30756. //
  30757. // * auto-placement - Whether auto-placement is enabled or disabled (on |
  30758. // off).
  30759. //
  30760. // * host-reservation-id - The ID of the reservation assigned to this host.
  30761. //
  30762. // * client-token - The idempotency token you provided when you launched
  30763. // the instance
  30764. //
  30765. // * state- The allocation state of the Dedicated Host (available | under-assessment
  30766. // | permanent-failure | released | released-permanent-failure).
  30767. //
  30768. // * availability-zone - The Availability Zone of the host.
  30769. Filter []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
  30770. // The IDs of the Dedicated Hosts. The IDs are used for targeted instance launches.
  30771. HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list"`
  30772. // The maximum number of results to return for the request in a single page.
  30773. // The remaining results can be seen by sending another request with the returned
  30774. // nextToken value. This value can be between 5 and 500; if maxResults is given
  30775. // a larger value than 500, you will receive an error. You cannot specify this
  30776. // parameter and the host IDs parameter in the same request.
  30777. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  30778. // The token to retrieve the next page of results.
  30779. NextToken *string `locationName:"nextToken" type:"string"`
  30780. }
  30781. // String returns the string representation
  30782. func (s DescribeHostsInput) String() string {
  30783. return awsutil.Prettify(s)
  30784. }
  30785. // GoString returns the string representation
  30786. func (s DescribeHostsInput) GoString() string {
  30787. return s.String()
  30788. }
  30789. // SetFilter sets the Filter field's value.
  30790. func (s *DescribeHostsInput) SetFilter(v []*Filter) *DescribeHostsInput {
  30791. s.Filter = v
  30792. return s
  30793. }
  30794. // SetHostIds sets the HostIds field's value.
  30795. func (s *DescribeHostsInput) SetHostIds(v []*string) *DescribeHostsInput {
  30796. s.HostIds = v
  30797. return s
  30798. }
  30799. // SetMaxResults sets the MaxResults field's value.
  30800. func (s *DescribeHostsInput) SetMaxResults(v int64) *DescribeHostsInput {
  30801. s.MaxResults = &v
  30802. return s
  30803. }
  30804. // SetNextToken sets the NextToken field's value.
  30805. func (s *DescribeHostsInput) SetNextToken(v string) *DescribeHostsInput {
  30806. s.NextToken = &v
  30807. return s
  30808. }
  30809. // Contains the output of DescribeHosts.
  30810. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostsResult
  30811. type DescribeHostsOutput struct {
  30812. _ struct{} `type:"structure"`
  30813. // Information about the Dedicated Hosts.
  30814. Hosts []*Host `locationName:"hostSet" locationNameList:"item" type:"list"`
  30815. // The token to use to retrieve the next page of results. This value is null
  30816. // when there are no more results to return.
  30817. NextToken *string `locationName:"nextToken" type:"string"`
  30818. }
  30819. // String returns the string representation
  30820. func (s DescribeHostsOutput) String() string {
  30821. return awsutil.Prettify(s)
  30822. }
  30823. // GoString returns the string representation
  30824. func (s DescribeHostsOutput) GoString() string {
  30825. return s.String()
  30826. }
  30827. // SetHosts sets the Hosts field's value.
  30828. func (s *DescribeHostsOutput) SetHosts(v []*Host) *DescribeHostsOutput {
  30829. s.Hosts = v
  30830. return s
  30831. }
  30832. // SetNextToken sets the NextToken field's value.
  30833. func (s *DescribeHostsOutput) SetNextToken(v string) *DescribeHostsOutput {
  30834. s.NextToken = &v
  30835. return s
  30836. }
  30837. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIamInstanceProfileAssociationsRequest
  30838. type DescribeIamInstanceProfileAssociationsInput struct {
  30839. _ struct{} `type:"structure"`
  30840. // One or more IAM instance profile associations.
  30841. AssociationIds []*string `locationName:"AssociationId" locationNameList:"AssociationId" type:"list"`
  30842. // One or more filters.
  30843. //
  30844. // * instance-id - The ID of the instance.
  30845. //
  30846. // * state - The state of the association (associating | associated | disassociating
  30847. // | disassociated).
  30848. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  30849. // The maximum number of results to return in a single call. To retrieve the
  30850. // remaining results, make another call with the returned NextToken value.
  30851. MaxResults *int64 `min:"5" type:"integer"`
  30852. // The token to request the next page of results.
  30853. NextToken *string `min:"1" type:"string"`
  30854. }
  30855. // String returns the string representation
  30856. func (s DescribeIamInstanceProfileAssociationsInput) String() string {
  30857. return awsutil.Prettify(s)
  30858. }
  30859. // GoString returns the string representation
  30860. func (s DescribeIamInstanceProfileAssociationsInput) GoString() string {
  30861. return s.String()
  30862. }
  30863. // Validate inspects the fields of the type to determine if they are valid.
  30864. func (s *DescribeIamInstanceProfileAssociationsInput) Validate() error {
  30865. invalidParams := request.ErrInvalidParams{Context: "DescribeIamInstanceProfileAssociationsInput"}
  30866. if s.MaxResults != nil && *s.MaxResults < 5 {
  30867. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  30868. }
  30869. if s.NextToken != nil && len(*s.NextToken) < 1 {
  30870. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  30871. }
  30872. if invalidParams.Len() > 0 {
  30873. return invalidParams
  30874. }
  30875. return nil
  30876. }
  30877. // SetAssociationIds sets the AssociationIds field's value.
  30878. func (s *DescribeIamInstanceProfileAssociationsInput) SetAssociationIds(v []*string) *DescribeIamInstanceProfileAssociationsInput {
  30879. s.AssociationIds = v
  30880. return s
  30881. }
  30882. // SetFilters sets the Filters field's value.
  30883. func (s *DescribeIamInstanceProfileAssociationsInput) SetFilters(v []*Filter) *DescribeIamInstanceProfileAssociationsInput {
  30884. s.Filters = v
  30885. return s
  30886. }
  30887. // SetMaxResults sets the MaxResults field's value.
  30888. func (s *DescribeIamInstanceProfileAssociationsInput) SetMaxResults(v int64) *DescribeIamInstanceProfileAssociationsInput {
  30889. s.MaxResults = &v
  30890. return s
  30891. }
  30892. // SetNextToken sets the NextToken field's value.
  30893. func (s *DescribeIamInstanceProfileAssociationsInput) SetNextToken(v string) *DescribeIamInstanceProfileAssociationsInput {
  30894. s.NextToken = &v
  30895. return s
  30896. }
  30897. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIamInstanceProfileAssociationsResult
  30898. type DescribeIamInstanceProfileAssociationsOutput struct {
  30899. _ struct{} `type:"structure"`
  30900. // Information about one or more IAM instance profile associations.
  30901. IamInstanceProfileAssociations []*IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociationSet" locationNameList:"item" type:"list"`
  30902. // The token to use to retrieve the next page of results. This value is null
  30903. // when there are no more results to return.
  30904. NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  30905. }
  30906. // String returns the string representation
  30907. func (s DescribeIamInstanceProfileAssociationsOutput) String() string {
  30908. return awsutil.Prettify(s)
  30909. }
  30910. // GoString returns the string representation
  30911. func (s DescribeIamInstanceProfileAssociationsOutput) GoString() string {
  30912. return s.String()
  30913. }
  30914. // SetIamInstanceProfileAssociations sets the IamInstanceProfileAssociations field's value.
  30915. func (s *DescribeIamInstanceProfileAssociationsOutput) SetIamInstanceProfileAssociations(v []*IamInstanceProfileAssociation) *DescribeIamInstanceProfileAssociationsOutput {
  30916. s.IamInstanceProfileAssociations = v
  30917. return s
  30918. }
  30919. // SetNextToken sets the NextToken field's value.
  30920. func (s *DescribeIamInstanceProfileAssociationsOutput) SetNextToken(v string) *DescribeIamInstanceProfileAssociationsOutput {
  30921. s.NextToken = &v
  30922. return s
  30923. }
  30924. // Contains the parameters for DescribeIdFormat.
  30925. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdFormatRequest
  30926. type DescribeIdFormatInput struct {
  30927. _ struct{} `type:"structure"`
  30928. // The type of resource: instance | reservation | snapshot | volume
  30929. Resource *string `type:"string"`
  30930. }
  30931. // String returns the string representation
  30932. func (s DescribeIdFormatInput) String() string {
  30933. return awsutil.Prettify(s)
  30934. }
  30935. // GoString returns the string representation
  30936. func (s DescribeIdFormatInput) GoString() string {
  30937. return s.String()
  30938. }
  30939. // SetResource sets the Resource field's value.
  30940. func (s *DescribeIdFormatInput) SetResource(v string) *DescribeIdFormatInput {
  30941. s.Resource = &v
  30942. return s
  30943. }
  30944. // Contains the output of DescribeIdFormat.
  30945. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdFormatResult
  30946. type DescribeIdFormatOutput struct {
  30947. _ struct{} `type:"structure"`
  30948. // Information about the ID format for the resource.
  30949. Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
  30950. }
  30951. // String returns the string representation
  30952. func (s DescribeIdFormatOutput) String() string {
  30953. return awsutil.Prettify(s)
  30954. }
  30955. // GoString returns the string representation
  30956. func (s DescribeIdFormatOutput) GoString() string {
  30957. return s.String()
  30958. }
  30959. // SetStatuses sets the Statuses field's value.
  30960. func (s *DescribeIdFormatOutput) SetStatuses(v []*IdFormat) *DescribeIdFormatOutput {
  30961. s.Statuses = v
  30962. return s
  30963. }
  30964. // Contains the parameters for DescribeIdentityIdFormat.
  30965. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdentityIdFormatRequest
  30966. type DescribeIdentityIdFormatInput struct {
  30967. _ struct{} `type:"structure"`
  30968. // The ARN of the principal, which can be an IAM role, IAM user, or the root
  30969. // user.
  30970. //
  30971. // PrincipalArn is a required field
  30972. PrincipalArn *string `locationName:"principalArn" type:"string" required:"true"`
  30973. // The type of resource: instance | reservation | snapshot | volume
  30974. Resource *string `locationName:"resource" type:"string"`
  30975. }
  30976. // String returns the string representation
  30977. func (s DescribeIdentityIdFormatInput) String() string {
  30978. return awsutil.Prettify(s)
  30979. }
  30980. // GoString returns the string representation
  30981. func (s DescribeIdentityIdFormatInput) GoString() string {
  30982. return s.String()
  30983. }
  30984. // Validate inspects the fields of the type to determine if they are valid.
  30985. func (s *DescribeIdentityIdFormatInput) Validate() error {
  30986. invalidParams := request.ErrInvalidParams{Context: "DescribeIdentityIdFormatInput"}
  30987. if s.PrincipalArn == nil {
  30988. invalidParams.Add(request.NewErrParamRequired("PrincipalArn"))
  30989. }
  30990. if invalidParams.Len() > 0 {
  30991. return invalidParams
  30992. }
  30993. return nil
  30994. }
  30995. // SetPrincipalArn sets the PrincipalArn field's value.
  30996. func (s *DescribeIdentityIdFormatInput) SetPrincipalArn(v string) *DescribeIdentityIdFormatInput {
  30997. s.PrincipalArn = &v
  30998. return s
  30999. }
  31000. // SetResource sets the Resource field's value.
  31001. func (s *DescribeIdentityIdFormatInput) SetResource(v string) *DescribeIdentityIdFormatInput {
  31002. s.Resource = &v
  31003. return s
  31004. }
  31005. // Contains the output of DescribeIdentityIdFormat.
  31006. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdentityIdFormatResult
  31007. type DescribeIdentityIdFormatOutput struct {
  31008. _ struct{} `type:"structure"`
  31009. // Information about the ID format for the resources.
  31010. Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
  31011. }
  31012. // String returns the string representation
  31013. func (s DescribeIdentityIdFormatOutput) String() string {
  31014. return awsutil.Prettify(s)
  31015. }
  31016. // GoString returns the string representation
  31017. func (s DescribeIdentityIdFormatOutput) GoString() string {
  31018. return s.String()
  31019. }
  31020. // SetStatuses sets the Statuses field's value.
  31021. func (s *DescribeIdentityIdFormatOutput) SetStatuses(v []*IdFormat) *DescribeIdentityIdFormatOutput {
  31022. s.Statuses = v
  31023. return s
  31024. }
  31025. // Contains the parameters for DescribeImageAttribute.
  31026. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImageAttributeRequest
  31027. type DescribeImageAttributeInput struct {
  31028. _ struct{} `type:"structure"`
  31029. // The AMI attribute.
  31030. //
  31031. // Note: Depending on your account privileges, the blockDeviceMapping attribute
  31032. // may return a Client.AuthFailure error. If this happens, use DescribeImages
  31033. // to get information about the block device mapping for the AMI.
  31034. //
  31035. // Attribute is a required field
  31036. Attribute *string `type:"string" required:"true" enum:"ImageAttributeName"`
  31037. // Checks whether you have the required permissions for the action, without
  31038. // actually making the request, and provides an error response. If you have
  31039. // the required permissions, the error response is DryRunOperation. Otherwise,
  31040. // it is UnauthorizedOperation.
  31041. DryRun *bool `locationName:"dryRun" type:"boolean"`
  31042. // The ID of the AMI.
  31043. //
  31044. // ImageId is a required field
  31045. ImageId *string `type:"string" required:"true"`
  31046. }
  31047. // String returns the string representation
  31048. func (s DescribeImageAttributeInput) String() string {
  31049. return awsutil.Prettify(s)
  31050. }
  31051. // GoString returns the string representation
  31052. func (s DescribeImageAttributeInput) GoString() string {
  31053. return s.String()
  31054. }
  31055. // Validate inspects the fields of the type to determine if they are valid.
  31056. func (s *DescribeImageAttributeInput) Validate() error {
  31057. invalidParams := request.ErrInvalidParams{Context: "DescribeImageAttributeInput"}
  31058. if s.Attribute == nil {
  31059. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  31060. }
  31061. if s.ImageId == nil {
  31062. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  31063. }
  31064. if invalidParams.Len() > 0 {
  31065. return invalidParams
  31066. }
  31067. return nil
  31068. }
  31069. // SetAttribute sets the Attribute field's value.
  31070. func (s *DescribeImageAttributeInput) SetAttribute(v string) *DescribeImageAttributeInput {
  31071. s.Attribute = &v
  31072. return s
  31073. }
  31074. // SetDryRun sets the DryRun field's value.
  31075. func (s *DescribeImageAttributeInput) SetDryRun(v bool) *DescribeImageAttributeInput {
  31076. s.DryRun = &v
  31077. return s
  31078. }
  31079. // SetImageId sets the ImageId field's value.
  31080. func (s *DescribeImageAttributeInput) SetImageId(v string) *DescribeImageAttributeInput {
  31081. s.ImageId = &v
  31082. return s
  31083. }
  31084. // Describes an image attribute.
  31085. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImageAttribute
  31086. type DescribeImageAttributeOutput struct {
  31087. _ struct{} `type:"structure"`
  31088. // One or more block device mapping entries.
  31089. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  31090. // A description for the AMI.
  31091. Description *AttributeValue `locationName:"description" type:"structure"`
  31092. // The ID of the AMI.
  31093. ImageId *string `locationName:"imageId" type:"string"`
  31094. // The kernel ID.
  31095. KernelId *AttributeValue `locationName:"kernel" type:"structure"`
  31096. // One or more launch permissions.
  31097. LaunchPermissions []*LaunchPermission `locationName:"launchPermission" locationNameList:"item" type:"list"`
  31098. // One or more product codes.
  31099. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  31100. // The RAM disk ID.
  31101. RamdiskId *AttributeValue `locationName:"ramdisk" type:"structure"`
  31102. // Indicates whether enhanced networking with the Intel 82599 Virtual Function
  31103. // interface is enabled.
  31104. SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
  31105. }
  31106. // String returns the string representation
  31107. func (s DescribeImageAttributeOutput) String() string {
  31108. return awsutil.Prettify(s)
  31109. }
  31110. // GoString returns the string representation
  31111. func (s DescribeImageAttributeOutput) GoString() string {
  31112. return s.String()
  31113. }
  31114. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  31115. func (s *DescribeImageAttributeOutput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *DescribeImageAttributeOutput {
  31116. s.BlockDeviceMappings = v
  31117. return s
  31118. }
  31119. // SetDescription sets the Description field's value.
  31120. func (s *DescribeImageAttributeOutput) SetDescription(v *AttributeValue) *DescribeImageAttributeOutput {
  31121. s.Description = v
  31122. return s
  31123. }
  31124. // SetImageId sets the ImageId field's value.
  31125. func (s *DescribeImageAttributeOutput) SetImageId(v string) *DescribeImageAttributeOutput {
  31126. s.ImageId = &v
  31127. return s
  31128. }
  31129. // SetKernelId sets the KernelId field's value.
  31130. func (s *DescribeImageAttributeOutput) SetKernelId(v *AttributeValue) *DescribeImageAttributeOutput {
  31131. s.KernelId = v
  31132. return s
  31133. }
  31134. // SetLaunchPermissions sets the LaunchPermissions field's value.
  31135. func (s *DescribeImageAttributeOutput) SetLaunchPermissions(v []*LaunchPermission) *DescribeImageAttributeOutput {
  31136. s.LaunchPermissions = v
  31137. return s
  31138. }
  31139. // SetProductCodes sets the ProductCodes field's value.
  31140. func (s *DescribeImageAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeImageAttributeOutput {
  31141. s.ProductCodes = v
  31142. return s
  31143. }
  31144. // SetRamdiskId sets the RamdiskId field's value.
  31145. func (s *DescribeImageAttributeOutput) SetRamdiskId(v *AttributeValue) *DescribeImageAttributeOutput {
  31146. s.RamdiskId = v
  31147. return s
  31148. }
  31149. // SetSriovNetSupport sets the SriovNetSupport field's value.
  31150. func (s *DescribeImageAttributeOutput) SetSriovNetSupport(v *AttributeValue) *DescribeImageAttributeOutput {
  31151. s.SriovNetSupport = v
  31152. return s
  31153. }
  31154. // Contains the parameters for DescribeImages.
  31155. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImagesRequest
  31156. type DescribeImagesInput struct {
  31157. _ struct{} `type:"structure"`
  31158. // Checks whether you have the required permissions for the action, without
  31159. // actually making the request, and provides an error response. If you have
  31160. // the required permissions, the error response is DryRunOperation. Otherwise,
  31161. // it is UnauthorizedOperation.
  31162. DryRun *bool `locationName:"dryRun" type:"boolean"`
  31163. // Scopes the images by users with explicit launch permissions. Specify an AWS
  31164. // account ID, self (the sender of the request), or all (public AMIs).
  31165. ExecutableUsers []*string `locationName:"ExecutableBy" locationNameList:"ExecutableBy" type:"list"`
  31166. // One or more filters.
  31167. //
  31168. // * architecture - The image architecture (i386 | x86_64).
  31169. //
  31170. // * block-device-mapping.delete-on-termination - A Boolean value that indicates
  31171. // whether the Amazon EBS volume is deleted on instance termination.
  31172. //
  31173. // * block-device-mapping.device-name - The device name specified in the
  31174. // block device mapping (for example, /dev/sdh or xvdh).
  31175. //
  31176. // * block-device-mapping.snapshot-id - The ID of the snapshot used for the
  31177. // EBS volume.
  31178. //
  31179. // * block-device-mapping.volume-size - The volume size of the EBS volume,
  31180. // in GiB.
  31181. //
  31182. // * block-device-mapping.volume-type - The volume type of the EBS volume
  31183. // (gp2 | io1 | st1 | sc1 | standard).
  31184. //
  31185. // * description - The description of the image (provided during image creation).
  31186. //
  31187. // * ena-support - A Boolean that indicates whether enhanced networking with
  31188. // ENA is enabled.
  31189. //
  31190. // * hypervisor - The hypervisor type (ovm | xen).
  31191. //
  31192. // * image-id - The ID of the image.
  31193. //
  31194. // * image-type - The image type (machine | kernel | ramdisk).
  31195. //
  31196. // * is-public - A Boolean that indicates whether the image is public.
  31197. //
  31198. // * kernel-id - The kernel ID.
  31199. //
  31200. // * manifest-location - The location of the image manifest.
  31201. //
  31202. // * name - The name of the AMI (provided during image creation).
  31203. //
  31204. // * owner-alias - String value from an Amazon-maintained list (amazon |
  31205. // aws-marketplace | microsoft) of snapshot owners. Not to be confused with
  31206. // the user-configured AWS account alias, which is set from the IAM console.
  31207. //
  31208. // * owner-id - The AWS account ID of the image owner.
  31209. //
  31210. // * platform - The platform. To only list Windows-based AMIs, use windows.
  31211. //
  31212. // * product-code - The product code.
  31213. //
  31214. // * product-code.type - The type of the product code (devpay | marketplace).
  31215. //
  31216. // * ramdisk-id - The RAM disk ID.
  31217. //
  31218. // * root-device-name - The device name of the root device volume (for example,
  31219. // /dev/sda1).
  31220. //
  31221. // * root-device-type - The type of the root device volume (ebs | instance-store).
  31222. //
  31223. // * state - The state of the image (available | pending | failed).
  31224. //
  31225. // * state-reason-code - The reason code for the state change.
  31226. //
  31227. // * state-reason-message - The message for the state change.
  31228. //
  31229. // * sriov-net-support - A value of simple indicates that enhanced networking
  31230. // with the Intel 82599 VF interface is enabled.
  31231. //
  31232. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  31233. // Specify the key of the tag in the filter name and the value of the tag
  31234. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  31235. // for the filter name and X for the filter value.
  31236. //
  31237. // * tag-key - The key of a tag assigned to the resource. This filter is
  31238. // independent of the tag-value filter. For example, if you use both the
  31239. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  31240. // assigned both the tag key Purpose (regardless of what the tag's value
  31241. // is), and the tag value X (regardless of what the tag's key is). If you
  31242. // want to list only resources where Purpose is X, see the tag:key=value
  31243. // filter.
  31244. //
  31245. // * tag-value - The value of a tag assigned to the resource. This filter
  31246. // is independent of the tag-key filter.
  31247. //
  31248. // * virtualization-type - The virtualization type (paravirtual | hvm).
  31249. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  31250. // One or more image IDs.
  31251. //
  31252. // Default: Describes all images available to you.
  31253. ImageIds []*string `locationName:"ImageId" locationNameList:"ImageId" type:"list"`
  31254. // Filters the images by the owner. Specify an AWS account ID, self (owner is
  31255. // the sender of the request), or an AWS owner alias (valid values are amazon
  31256. // | aws-marketplace | microsoft). Omitting this option returns all images for
  31257. // which you have launch permissions, regardless of ownership.
  31258. Owners []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
  31259. }
  31260. // String returns the string representation
  31261. func (s DescribeImagesInput) String() string {
  31262. return awsutil.Prettify(s)
  31263. }
  31264. // GoString returns the string representation
  31265. func (s DescribeImagesInput) GoString() string {
  31266. return s.String()
  31267. }
  31268. // SetDryRun sets the DryRun field's value.
  31269. func (s *DescribeImagesInput) SetDryRun(v bool) *DescribeImagesInput {
  31270. s.DryRun = &v
  31271. return s
  31272. }
  31273. // SetExecutableUsers sets the ExecutableUsers field's value.
  31274. func (s *DescribeImagesInput) SetExecutableUsers(v []*string) *DescribeImagesInput {
  31275. s.ExecutableUsers = v
  31276. return s
  31277. }
  31278. // SetFilters sets the Filters field's value.
  31279. func (s *DescribeImagesInput) SetFilters(v []*Filter) *DescribeImagesInput {
  31280. s.Filters = v
  31281. return s
  31282. }
  31283. // SetImageIds sets the ImageIds field's value.
  31284. func (s *DescribeImagesInput) SetImageIds(v []*string) *DescribeImagesInput {
  31285. s.ImageIds = v
  31286. return s
  31287. }
  31288. // SetOwners sets the Owners field's value.
  31289. func (s *DescribeImagesInput) SetOwners(v []*string) *DescribeImagesInput {
  31290. s.Owners = v
  31291. return s
  31292. }
  31293. // Contains the output of DescribeImages.
  31294. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImagesResult
  31295. type DescribeImagesOutput struct {
  31296. _ struct{} `type:"structure"`
  31297. // Information about one or more images.
  31298. Images []*Image `locationName:"imagesSet" locationNameList:"item" type:"list"`
  31299. }
  31300. // String returns the string representation
  31301. func (s DescribeImagesOutput) String() string {
  31302. return awsutil.Prettify(s)
  31303. }
  31304. // GoString returns the string representation
  31305. func (s DescribeImagesOutput) GoString() string {
  31306. return s.String()
  31307. }
  31308. // SetImages sets the Images field's value.
  31309. func (s *DescribeImagesOutput) SetImages(v []*Image) *DescribeImagesOutput {
  31310. s.Images = v
  31311. return s
  31312. }
  31313. // Contains the parameters for DescribeImportImageTasks.
  31314. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportImageTasksRequest
  31315. type DescribeImportImageTasksInput struct {
  31316. _ struct{} `type:"structure"`
  31317. // Checks whether you have the required permissions for the action, without
  31318. // actually making the request, and provides an error response. If you have
  31319. // the required permissions, the error response is DryRunOperation. Otherwise,
  31320. // it is UnauthorizedOperation.
  31321. DryRun *bool `type:"boolean"`
  31322. // Filter tasks using the task-state filter and one of the following values:
  31323. // active, completed, deleting, deleted.
  31324. Filters []*Filter `locationNameList:"Filter" type:"list"`
  31325. // A list of import image task IDs.
  31326. ImportTaskIds []*string `locationName:"ImportTaskId" locationNameList:"ImportTaskId" type:"list"`
  31327. // The maximum number of results to return in a single call. To retrieve the
  31328. // remaining results, make another call with the returned NextToken value.
  31329. MaxResults *int64 `type:"integer"`
  31330. // A token that indicates the next page of results.
  31331. NextToken *string `type:"string"`
  31332. }
  31333. // String returns the string representation
  31334. func (s DescribeImportImageTasksInput) String() string {
  31335. return awsutil.Prettify(s)
  31336. }
  31337. // GoString returns the string representation
  31338. func (s DescribeImportImageTasksInput) GoString() string {
  31339. return s.String()
  31340. }
  31341. // SetDryRun sets the DryRun field's value.
  31342. func (s *DescribeImportImageTasksInput) SetDryRun(v bool) *DescribeImportImageTasksInput {
  31343. s.DryRun = &v
  31344. return s
  31345. }
  31346. // SetFilters sets the Filters field's value.
  31347. func (s *DescribeImportImageTasksInput) SetFilters(v []*Filter) *DescribeImportImageTasksInput {
  31348. s.Filters = v
  31349. return s
  31350. }
  31351. // SetImportTaskIds sets the ImportTaskIds field's value.
  31352. func (s *DescribeImportImageTasksInput) SetImportTaskIds(v []*string) *DescribeImportImageTasksInput {
  31353. s.ImportTaskIds = v
  31354. return s
  31355. }
  31356. // SetMaxResults sets the MaxResults field's value.
  31357. func (s *DescribeImportImageTasksInput) SetMaxResults(v int64) *DescribeImportImageTasksInput {
  31358. s.MaxResults = &v
  31359. return s
  31360. }
  31361. // SetNextToken sets the NextToken field's value.
  31362. func (s *DescribeImportImageTasksInput) SetNextToken(v string) *DescribeImportImageTasksInput {
  31363. s.NextToken = &v
  31364. return s
  31365. }
  31366. // Contains the output for DescribeImportImageTasks.
  31367. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportImageTasksResult
  31368. type DescribeImportImageTasksOutput struct {
  31369. _ struct{} `type:"structure"`
  31370. // A list of zero or more import image tasks that are currently active or were
  31371. // completed or canceled in the previous 7 days.
  31372. ImportImageTasks []*ImportImageTask `locationName:"importImageTaskSet" locationNameList:"item" type:"list"`
  31373. // The token to use to get the next page of results. This value is null when
  31374. // there are no more results to return.
  31375. NextToken *string `locationName:"nextToken" type:"string"`
  31376. }
  31377. // String returns the string representation
  31378. func (s DescribeImportImageTasksOutput) String() string {
  31379. return awsutil.Prettify(s)
  31380. }
  31381. // GoString returns the string representation
  31382. func (s DescribeImportImageTasksOutput) GoString() string {
  31383. return s.String()
  31384. }
  31385. // SetImportImageTasks sets the ImportImageTasks field's value.
  31386. func (s *DescribeImportImageTasksOutput) SetImportImageTasks(v []*ImportImageTask) *DescribeImportImageTasksOutput {
  31387. s.ImportImageTasks = v
  31388. return s
  31389. }
  31390. // SetNextToken sets the NextToken field's value.
  31391. func (s *DescribeImportImageTasksOutput) SetNextToken(v string) *DescribeImportImageTasksOutput {
  31392. s.NextToken = &v
  31393. return s
  31394. }
  31395. // Contains the parameters for DescribeImportSnapshotTasks.
  31396. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportSnapshotTasksRequest
  31397. type DescribeImportSnapshotTasksInput struct {
  31398. _ struct{} `type:"structure"`
  31399. // Checks whether you have the required permissions for the action, without
  31400. // actually making the request, and provides an error response. If you have
  31401. // the required permissions, the error response is DryRunOperation. Otherwise,
  31402. // it is UnauthorizedOperation.
  31403. DryRun *bool `type:"boolean"`
  31404. // One or more filters.
  31405. Filters []*Filter `locationNameList:"Filter" type:"list"`
  31406. // A list of import snapshot task IDs.
  31407. ImportTaskIds []*string `locationName:"ImportTaskId" locationNameList:"ImportTaskId" type:"list"`
  31408. // The maximum number of results to return in a single call. To retrieve the
  31409. // remaining results, make another call with the returned NextToken value.
  31410. MaxResults *int64 `type:"integer"`
  31411. // A token that indicates the next page of results.
  31412. NextToken *string `type:"string"`
  31413. }
  31414. // String returns the string representation
  31415. func (s DescribeImportSnapshotTasksInput) String() string {
  31416. return awsutil.Prettify(s)
  31417. }
  31418. // GoString returns the string representation
  31419. func (s DescribeImportSnapshotTasksInput) GoString() string {
  31420. return s.String()
  31421. }
  31422. // SetDryRun sets the DryRun field's value.
  31423. func (s *DescribeImportSnapshotTasksInput) SetDryRun(v bool) *DescribeImportSnapshotTasksInput {
  31424. s.DryRun = &v
  31425. return s
  31426. }
  31427. // SetFilters sets the Filters field's value.
  31428. func (s *DescribeImportSnapshotTasksInput) SetFilters(v []*Filter) *DescribeImportSnapshotTasksInput {
  31429. s.Filters = v
  31430. return s
  31431. }
  31432. // SetImportTaskIds sets the ImportTaskIds field's value.
  31433. func (s *DescribeImportSnapshotTasksInput) SetImportTaskIds(v []*string) *DescribeImportSnapshotTasksInput {
  31434. s.ImportTaskIds = v
  31435. return s
  31436. }
  31437. // SetMaxResults sets the MaxResults field's value.
  31438. func (s *DescribeImportSnapshotTasksInput) SetMaxResults(v int64) *DescribeImportSnapshotTasksInput {
  31439. s.MaxResults = &v
  31440. return s
  31441. }
  31442. // SetNextToken sets the NextToken field's value.
  31443. func (s *DescribeImportSnapshotTasksInput) SetNextToken(v string) *DescribeImportSnapshotTasksInput {
  31444. s.NextToken = &v
  31445. return s
  31446. }
  31447. // Contains the output for DescribeImportSnapshotTasks.
  31448. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportSnapshotTasksResult
  31449. type DescribeImportSnapshotTasksOutput struct {
  31450. _ struct{} `type:"structure"`
  31451. // A list of zero or more import snapshot tasks that are currently active or
  31452. // were completed or canceled in the previous 7 days.
  31453. ImportSnapshotTasks []*ImportSnapshotTask `locationName:"importSnapshotTaskSet" locationNameList:"item" type:"list"`
  31454. // The token to use to get the next page of results. This value is null when
  31455. // there are no more results to return.
  31456. NextToken *string `locationName:"nextToken" type:"string"`
  31457. }
  31458. // String returns the string representation
  31459. func (s DescribeImportSnapshotTasksOutput) String() string {
  31460. return awsutil.Prettify(s)
  31461. }
  31462. // GoString returns the string representation
  31463. func (s DescribeImportSnapshotTasksOutput) GoString() string {
  31464. return s.String()
  31465. }
  31466. // SetImportSnapshotTasks sets the ImportSnapshotTasks field's value.
  31467. func (s *DescribeImportSnapshotTasksOutput) SetImportSnapshotTasks(v []*ImportSnapshotTask) *DescribeImportSnapshotTasksOutput {
  31468. s.ImportSnapshotTasks = v
  31469. return s
  31470. }
  31471. // SetNextToken sets the NextToken field's value.
  31472. func (s *DescribeImportSnapshotTasksOutput) SetNextToken(v string) *DescribeImportSnapshotTasksOutput {
  31473. s.NextToken = &v
  31474. return s
  31475. }
  31476. // Contains the parameters for DescribeInstanceAttribute.
  31477. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceAttributeRequest
  31478. type DescribeInstanceAttributeInput struct {
  31479. _ struct{} `type:"structure"`
  31480. // The instance attribute.
  31481. //
  31482. // Note: The enaSupport attribute is not supported at this time.
  31483. //
  31484. // Attribute is a required field
  31485. Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"InstanceAttributeName"`
  31486. // Checks whether you have the required permissions for the action, without
  31487. // actually making the request, and provides an error response. If you have
  31488. // the required permissions, the error response is DryRunOperation. Otherwise,
  31489. // it is UnauthorizedOperation.
  31490. DryRun *bool `locationName:"dryRun" type:"boolean"`
  31491. // The ID of the instance.
  31492. //
  31493. // InstanceId is a required field
  31494. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  31495. }
  31496. // String returns the string representation
  31497. func (s DescribeInstanceAttributeInput) String() string {
  31498. return awsutil.Prettify(s)
  31499. }
  31500. // GoString returns the string representation
  31501. func (s DescribeInstanceAttributeInput) GoString() string {
  31502. return s.String()
  31503. }
  31504. // Validate inspects the fields of the type to determine if they are valid.
  31505. func (s *DescribeInstanceAttributeInput) Validate() error {
  31506. invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceAttributeInput"}
  31507. if s.Attribute == nil {
  31508. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  31509. }
  31510. if s.InstanceId == nil {
  31511. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  31512. }
  31513. if invalidParams.Len() > 0 {
  31514. return invalidParams
  31515. }
  31516. return nil
  31517. }
  31518. // SetAttribute sets the Attribute field's value.
  31519. func (s *DescribeInstanceAttributeInput) SetAttribute(v string) *DescribeInstanceAttributeInput {
  31520. s.Attribute = &v
  31521. return s
  31522. }
  31523. // SetDryRun sets the DryRun field's value.
  31524. func (s *DescribeInstanceAttributeInput) SetDryRun(v bool) *DescribeInstanceAttributeInput {
  31525. s.DryRun = &v
  31526. return s
  31527. }
  31528. // SetInstanceId sets the InstanceId field's value.
  31529. func (s *DescribeInstanceAttributeInput) SetInstanceId(v string) *DescribeInstanceAttributeInput {
  31530. s.InstanceId = &v
  31531. return s
  31532. }
  31533. // Describes an instance attribute.
  31534. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceAttribute
  31535. type DescribeInstanceAttributeOutput struct {
  31536. _ struct{} `type:"structure"`
  31537. // The block device mapping of the instance.
  31538. BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  31539. // If the value is true, you can't terminate the instance through the Amazon
  31540. // EC2 console, CLI, or API; otherwise, you can.
  31541. DisableApiTermination *AttributeBooleanValue `locationName:"disableApiTermination" type:"structure"`
  31542. // Indicates whether the instance is optimized for Amazon EBS I/O.
  31543. EbsOptimized *AttributeBooleanValue `locationName:"ebsOptimized" type:"structure"`
  31544. // Indicates whether enhanced networking with ENA is enabled.
  31545. EnaSupport *AttributeBooleanValue `locationName:"enaSupport" type:"structure"`
  31546. // The security groups associated with the instance.
  31547. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  31548. // The ID of the instance.
  31549. InstanceId *string `locationName:"instanceId" type:"string"`
  31550. // Indicates whether an instance stops or terminates when you initiate shutdown
  31551. // from the instance (using the operating system command for system shutdown).
  31552. InstanceInitiatedShutdownBehavior *AttributeValue `locationName:"instanceInitiatedShutdownBehavior" type:"structure"`
  31553. // The instance type.
  31554. InstanceType *AttributeValue `locationName:"instanceType" type:"structure"`
  31555. // The kernel ID.
  31556. KernelId *AttributeValue `locationName:"kernel" type:"structure"`
  31557. // A list of product codes.
  31558. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  31559. // The RAM disk ID.
  31560. RamdiskId *AttributeValue `locationName:"ramdisk" type:"structure"`
  31561. // The device name of the root device volume (for example, /dev/sda1).
  31562. RootDeviceName *AttributeValue `locationName:"rootDeviceName" type:"structure"`
  31563. // Indicates whether source/destination checking is enabled. A value of true
  31564. // means that checking is enabled, and false means that checking is disabled.
  31565. // This value must be false for a NAT instance to perform NAT.
  31566. SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
  31567. // Indicates whether enhanced networking with the Intel 82599 Virtual Function
  31568. // interface is enabled.
  31569. SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
  31570. // The user data.
  31571. UserData *AttributeValue `locationName:"userData" type:"structure"`
  31572. }
  31573. // String returns the string representation
  31574. func (s DescribeInstanceAttributeOutput) String() string {
  31575. return awsutil.Prettify(s)
  31576. }
  31577. // GoString returns the string representation
  31578. func (s DescribeInstanceAttributeOutput) GoString() string {
  31579. return s.String()
  31580. }
  31581. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  31582. func (s *DescribeInstanceAttributeOutput) SetBlockDeviceMappings(v []*InstanceBlockDeviceMapping) *DescribeInstanceAttributeOutput {
  31583. s.BlockDeviceMappings = v
  31584. return s
  31585. }
  31586. // SetDisableApiTermination sets the DisableApiTermination field's value.
  31587. func (s *DescribeInstanceAttributeOutput) SetDisableApiTermination(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
  31588. s.DisableApiTermination = v
  31589. return s
  31590. }
  31591. // SetEbsOptimized sets the EbsOptimized field's value.
  31592. func (s *DescribeInstanceAttributeOutput) SetEbsOptimized(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
  31593. s.EbsOptimized = v
  31594. return s
  31595. }
  31596. // SetEnaSupport sets the EnaSupport field's value.
  31597. func (s *DescribeInstanceAttributeOutput) SetEnaSupport(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
  31598. s.EnaSupport = v
  31599. return s
  31600. }
  31601. // SetGroups sets the Groups field's value.
  31602. func (s *DescribeInstanceAttributeOutput) SetGroups(v []*GroupIdentifier) *DescribeInstanceAttributeOutput {
  31603. s.Groups = v
  31604. return s
  31605. }
  31606. // SetInstanceId sets the InstanceId field's value.
  31607. func (s *DescribeInstanceAttributeOutput) SetInstanceId(v string) *DescribeInstanceAttributeOutput {
  31608. s.InstanceId = &v
  31609. return s
  31610. }
  31611. // SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
  31612. func (s *DescribeInstanceAttributeOutput) SetInstanceInitiatedShutdownBehavior(v *AttributeValue) *DescribeInstanceAttributeOutput {
  31613. s.InstanceInitiatedShutdownBehavior = v
  31614. return s
  31615. }
  31616. // SetInstanceType sets the InstanceType field's value.
  31617. func (s *DescribeInstanceAttributeOutput) SetInstanceType(v *AttributeValue) *DescribeInstanceAttributeOutput {
  31618. s.InstanceType = v
  31619. return s
  31620. }
  31621. // SetKernelId sets the KernelId field's value.
  31622. func (s *DescribeInstanceAttributeOutput) SetKernelId(v *AttributeValue) *DescribeInstanceAttributeOutput {
  31623. s.KernelId = v
  31624. return s
  31625. }
  31626. // SetProductCodes sets the ProductCodes field's value.
  31627. func (s *DescribeInstanceAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeInstanceAttributeOutput {
  31628. s.ProductCodes = v
  31629. return s
  31630. }
  31631. // SetRamdiskId sets the RamdiskId field's value.
  31632. func (s *DescribeInstanceAttributeOutput) SetRamdiskId(v *AttributeValue) *DescribeInstanceAttributeOutput {
  31633. s.RamdiskId = v
  31634. return s
  31635. }
  31636. // SetRootDeviceName sets the RootDeviceName field's value.
  31637. func (s *DescribeInstanceAttributeOutput) SetRootDeviceName(v *AttributeValue) *DescribeInstanceAttributeOutput {
  31638. s.RootDeviceName = v
  31639. return s
  31640. }
  31641. // SetSourceDestCheck sets the SourceDestCheck field's value.
  31642. func (s *DescribeInstanceAttributeOutput) SetSourceDestCheck(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
  31643. s.SourceDestCheck = v
  31644. return s
  31645. }
  31646. // SetSriovNetSupport sets the SriovNetSupport field's value.
  31647. func (s *DescribeInstanceAttributeOutput) SetSriovNetSupport(v *AttributeValue) *DescribeInstanceAttributeOutput {
  31648. s.SriovNetSupport = v
  31649. return s
  31650. }
  31651. // SetUserData sets the UserData field's value.
  31652. func (s *DescribeInstanceAttributeOutput) SetUserData(v *AttributeValue) *DescribeInstanceAttributeOutput {
  31653. s.UserData = v
  31654. return s
  31655. }
  31656. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceCreditSpecificationsRequest
  31657. type DescribeInstanceCreditSpecificationsInput struct {
  31658. _ struct{} `type:"structure"`
  31659. // Checks whether you have the required permissions for the action, without
  31660. // actually making the request, and provides an error response. If you have
  31661. // the required permissions, the error response is DryRunOperation. Otherwise,
  31662. // it is UnauthorizedOperation.
  31663. DryRun *bool `type:"boolean"`
  31664. // One or more filters.
  31665. //
  31666. // * instance-id - The ID of the instance.
  31667. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  31668. // One or more instance IDs.
  31669. //
  31670. // Default: Describes all your instances.
  31671. //
  31672. // Constraints: Maximum 1000 explicitly specified instance IDs.
  31673. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
  31674. // The maximum number of results to return in a single call. To retrieve the
  31675. // remaining results, make another call with the returned NextToken value. This
  31676. // value can be between 5 and 1000. You cannot specify this parameter and the
  31677. // instance IDs parameter in the same call.
  31678. MaxResults *int64 `type:"integer"`
  31679. // The token to retrieve the next page of results.
  31680. NextToken *string `type:"string"`
  31681. }
  31682. // String returns the string representation
  31683. func (s DescribeInstanceCreditSpecificationsInput) String() string {
  31684. return awsutil.Prettify(s)
  31685. }
  31686. // GoString returns the string representation
  31687. func (s DescribeInstanceCreditSpecificationsInput) GoString() string {
  31688. return s.String()
  31689. }
  31690. // SetDryRun sets the DryRun field's value.
  31691. func (s *DescribeInstanceCreditSpecificationsInput) SetDryRun(v bool) *DescribeInstanceCreditSpecificationsInput {
  31692. s.DryRun = &v
  31693. return s
  31694. }
  31695. // SetFilters sets the Filters field's value.
  31696. func (s *DescribeInstanceCreditSpecificationsInput) SetFilters(v []*Filter) *DescribeInstanceCreditSpecificationsInput {
  31697. s.Filters = v
  31698. return s
  31699. }
  31700. // SetInstanceIds sets the InstanceIds field's value.
  31701. func (s *DescribeInstanceCreditSpecificationsInput) SetInstanceIds(v []*string) *DescribeInstanceCreditSpecificationsInput {
  31702. s.InstanceIds = v
  31703. return s
  31704. }
  31705. // SetMaxResults sets the MaxResults field's value.
  31706. func (s *DescribeInstanceCreditSpecificationsInput) SetMaxResults(v int64) *DescribeInstanceCreditSpecificationsInput {
  31707. s.MaxResults = &v
  31708. return s
  31709. }
  31710. // SetNextToken sets the NextToken field's value.
  31711. func (s *DescribeInstanceCreditSpecificationsInput) SetNextToken(v string) *DescribeInstanceCreditSpecificationsInput {
  31712. s.NextToken = &v
  31713. return s
  31714. }
  31715. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceCreditSpecificationsResult
  31716. type DescribeInstanceCreditSpecificationsOutput struct {
  31717. _ struct{} `type:"structure"`
  31718. // Information about the credit option for CPU usage of an instance.
  31719. InstanceCreditSpecifications []*InstanceCreditSpecification `locationName:"instanceCreditSpecificationSet" locationNameList:"item" type:"list"`
  31720. // The token to use to retrieve the next page of results. This value is null
  31721. // when there are no more results to return.
  31722. NextToken *string `locationName:"nextToken" type:"string"`
  31723. }
  31724. // String returns the string representation
  31725. func (s DescribeInstanceCreditSpecificationsOutput) String() string {
  31726. return awsutil.Prettify(s)
  31727. }
  31728. // GoString returns the string representation
  31729. func (s DescribeInstanceCreditSpecificationsOutput) GoString() string {
  31730. return s.String()
  31731. }
  31732. // SetInstanceCreditSpecifications sets the InstanceCreditSpecifications field's value.
  31733. func (s *DescribeInstanceCreditSpecificationsOutput) SetInstanceCreditSpecifications(v []*InstanceCreditSpecification) *DescribeInstanceCreditSpecificationsOutput {
  31734. s.InstanceCreditSpecifications = v
  31735. return s
  31736. }
  31737. // SetNextToken sets the NextToken field's value.
  31738. func (s *DescribeInstanceCreditSpecificationsOutput) SetNextToken(v string) *DescribeInstanceCreditSpecificationsOutput {
  31739. s.NextToken = &v
  31740. return s
  31741. }
  31742. // Contains the parameters for DescribeInstanceStatus.
  31743. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceStatusRequest
  31744. type DescribeInstanceStatusInput struct {
  31745. _ struct{} `type:"structure"`
  31746. // Checks whether you have the required permissions for the action, without
  31747. // actually making the request, and provides an error response. If you have
  31748. // the required permissions, the error response is DryRunOperation. Otherwise,
  31749. // it is UnauthorizedOperation.
  31750. DryRun *bool `locationName:"dryRun" type:"boolean"`
  31751. // One or more filters.
  31752. //
  31753. // * availability-zone - The Availability Zone of the instance.
  31754. //
  31755. // * event.code - The code for the scheduled event (instance-reboot | system-reboot
  31756. // | system-maintenance | instance-retirement | instance-stop).
  31757. //
  31758. // * event.description - A description of the event.
  31759. //
  31760. // * event.not-after - The latest end time for the scheduled event (for example,
  31761. // 2014-09-15T17:15:20.000Z).
  31762. //
  31763. // * event.not-before - The earliest start time for the scheduled event (for
  31764. // example, 2014-09-15T17:15:20.000Z).
  31765. //
  31766. // * instance-state-code - The code for the instance state, as a 16-bit unsigned
  31767. // integer. The high byte is an opaque internal value and should be ignored.
  31768. // The low byte is set based on the state represented. The valid values are
  31769. // 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping),
  31770. // and 80 (stopped).
  31771. //
  31772. // * instance-state-name - The state of the instance (pending | running |
  31773. // shutting-down | terminated | stopping | stopped).
  31774. //
  31775. // * instance-status.reachability - Filters on instance status where the
  31776. // name is reachability (passed | failed | initializing | insufficient-data).
  31777. //
  31778. // * instance-status.status - The status of the instance (ok | impaired |
  31779. // initializing | insufficient-data | not-applicable).
  31780. //
  31781. // * system-status.reachability - Filters on system status where the name
  31782. // is reachability (passed | failed | initializing | insufficient-data).
  31783. //
  31784. // * system-status.status - The system status of the instance (ok | impaired
  31785. // | initializing | insufficient-data | not-applicable).
  31786. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  31787. // When true, includes the health status for all instances. When false, includes
  31788. // the health status for running instances only.
  31789. //
  31790. // Default: false
  31791. IncludeAllInstances *bool `locationName:"includeAllInstances" type:"boolean"`
  31792. // One or more instance IDs.
  31793. //
  31794. // Default: Describes all your instances.
  31795. //
  31796. // Constraints: Maximum 100 explicitly specified instance IDs.
  31797. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
  31798. // The maximum number of results to return in a single call. To retrieve the
  31799. // remaining results, make another call with the returned NextToken value. This
  31800. // value can be between 5 and 1000. You cannot specify this parameter and the
  31801. // instance IDs parameter in the same call.
  31802. MaxResults *int64 `type:"integer"`
  31803. // The token to retrieve the next page of results.
  31804. NextToken *string `type:"string"`
  31805. }
  31806. // String returns the string representation
  31807. func (s DescribeInstanceStatusInput) String() string {
  31808. return awsutil.Prettify(s)
  31809. }
  31810. // GoString returns the string representation
  31811. func (s DescribeInstanceStatusInput) GoString() string {
  31812. return s.String()
  31813. }
  31814. // SetDryRun sets the DryRun field's value.
  31815. func (s *DescribeInstanceStatusInput) SetDryRun(v bool) *DescribeInstanceStatusInput {
  31816. s.DryRun = &v
  31817. return s
  31818. }
  31819. // SetFilters sets the Filters field's value.
  31820. func (s *DescribeInstanceStatusInput) SetFilters(v []*Filter) *DescribeInstanceStatusInput {
  31821. s.Filters = v
  31822. return s
  31823. }
  31824. // SetIncludeAllInstances sets the IncludeAllInstances field's value.
  31825. func (s *DescribeInstanceStatusInput) SetIncludeAllInstances(v bool) *DescribeInstanceStatusInput {
  31826. s.IncludeAllInstances = &v
  31827. return s
  31828. }
  31829. // SetInstanceIds sets the InstanceIds field's value.
  31830. func (s *DescribeInstanceStatusInput) SetInstanceIds(v []*string) *DescribeInstanceStatusInput {
  31831. s.InstanceIds = v
  31832. return s
  31833. }
  31834. // SetMaxResults sets the MaxResults field's value.
  31835. func (s *DescribeInstanceStatusInput) SetMaxResults(v int64) *DescribeInstanceStatusInput {
  31836. s.MaxResults = &v
  31837. return s
  31838. }
  31839. // SetNextToken sets the NextToken field's value.
  31840. func (s *DescribeInstanceStatusInput) SetNextToken(v string) *DescribeInstanceStatusInput {
  31841. s.NextToken = &v
  31842. return s
  31843. }
  31844. // Contains the output of DescribeInstanceStatus.
  31845. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceStatusResult
  31846. type DescribeInstanceStatusOutput struct {
  31847. _ struct{} `type:"structure"`
  31848. // One or more instance status descriptions.
  31849. InstanceStatuses []*InstanceStatus `locationName:"instanceStatusSet" locationNameList:"item" type:"list"`
  31850. // The token to use to retrieve the next page of results. This value is null
  31851. // when there are no more results to return.
  31852. NextToken *string `locationName:"nextToken" type:"string"`
  31853. }
  31854. // String returns the string representation
  31855. func (s DescribeInstanceStatusOutput) String() string {
  31856. return awsutil.Prettify(s)
  31857. }
  31858. // GoString returns the string representation
  31859. func (s DescribeInstanceStatusOutput) GoString() string {
  31860. return s.String()
  31861. }
  31862. // SetInstanceStatuses sets the InstanceStatuses field's value.
  31863. func (s *DescribeInstanceStatusOutput) SetInstanceStatuses(v []*InstanceStatus) *DescribeInstanceStatusOutput {
  31864. s.InstanceStatuses = v
  31865. return s
  31866. }
  31867. // SetNextToken sets the NextToken field's value.
  31868. func (s *DescribeInstanceStatusOutput) SetNextToken(v string) *DescribeInstanceStatusOutput {
  31869. s.NextToken = &v
  31870. return s
  31871. }
  31872. // Contains the parameters for DescribeInstances.
  31873. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstancesRequest
  31874. type DescribeInstancesInput struct {
  31875. _ struct{} `type:"structure"`
  31876. // Checks whether you have the required permissions for the action, without
  31877. // actually making the request, and provides an error response. If you have
  31878. // the required permissions, the error response is DryRunOperation. Otherwise,
  31879. // it is UnauthorizedOperation.
  31880. DryRun *bool `locationName:"dryRun" type:"boolean"`
  31881. // One or more filters.
  31882. //
  31883. // * affinity - The affinity setting for an instance running on a Dedicated
  31884. // Host (default | host).
  31885. //
  31886. // * architecture - The instance architecture (i386 | x86_64).
  31887. //
  31888. // * availability-zone - The Availability Zone of the instance.
  31889. //
  31890. // * block-device-mapping.attach-time - The attach time for an EBS volume
  31891. // mapped to the instance, for example, 2010-09-15T17:15:20.000Z.
  31892. //
  31893. // * block-device-mapping.delete-on-termination - A Boolean that indicates
  31894. // whether the EBS volume is deleted on instance termination.
  31895. //
  31896. // * block-device-mapping.device-name - The device name specified in the
  31897. // block device mapping (for example, /dev/sdh or xvdh).
  31898. //
  31899. // * block-device-mapping.status - The status for the EBS volume (attaching
  31900. // | attached | detaching | detached).
  31901. //
  31902. // * block-device-mapping.volume-id - The volume ID of the EBS volume.
  31903. //
  31904. // * client-token - The idempotency token you provided when you launched
  31905. // the instance.
  31906. //
  31907. // * dns-name - The public DNS name of the instance.
  31908. //
  31909. // * group-id - The ID of the security group for the instance. EC2-Classic
  31910. // only.
  31911. //
  31912. // * group-name - The name of the security group for the instance. EC2-Classic
  31913. // only.
  31914. //
  31915. // * host-id - The ID of the Dedicated Host on which the instance is running,
  31916. // if applicable.
  31917. //
  31918. // * hypervisor - The hypervisor type of the instance (ovm | xen).
  31919. //
  31920. // * iam-instance-profile.arn - The instance profile associated with the
  31921. // instance. Specified as an ARN.
  31922. //
  31923. // * image-id - The ID of the image used to launch the instance.
  31924. //
  31925. // * instance-id - The ID of the instance.
  31926. //
  31927. // * instance-lifecycle - Indicates whether this is a Spot Instance or a
  31928. // Scheduled Instance (spot | scheduled).
  31929. //
  31930. // * instance-state-code - The state of the instance, as a 16-bit unsigned
  31931. // integer. The high byte is an opaque internal value and should be ignored.
  31932. // The low byte is set based on the state represented. The valid values are:
  31933. // 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping),
  31934. // and 80 (stopped).
  31935. //
  31936. // * instance-state-name - The state of the instance (pending | running |
  31937. // shutting-down | terminated | stopping | stopped).
  31938. //
  31939. // * instance-type - The type of instance (for example, t2.micro).
  31940. //
  31941. // * instance.group-id - The ID of the security group for the instance.
  31942. //
  31943. // * instance.group-name - The name of the security group for the instance.
  31944. //
  31945. //
  31946. // * ip-address - The public IPv4 address of the instance.
  31947. //
  31948. // * kernel-id - The kernel ID.
  31949. //
  31950. // * key-name - The name of the key pair used when the instance was launched.
  31951. //
  31952. // * launch-index - When launching multiple instances, this is the index
  31953. // for the instance in the launch group (for example, 0, 1, 2, and so on).
  31954. //
  31955. //
  31956. // * launch-time - The time when the instance was launched.
  31957. //
  31958. // * monitoring-state - Indicates whether detailed monitoring is enabled
  31959. // (disabled | enabled).
  31960. //
  31961. // * network-interface.addresses.private-ip-address - The private IPv4 address
  31962. // associated with the network interface.
  31963. //
  31964. // * network-interface.addresses.primary - Specifies whether the IPv4 address
  31965. // of the network interface is the primary private IPv4 address.
  31966. //
  31967. // * network-interface.addresses.association.public-ip - The ID of the association
  31968. // of an Elastic IP address (IPv4) with a network interface.
  31969. //
  31970. // * network-interface.addresses.association.ip-owner-id - The owner ID of
  31971. // the private IPv4 address associated with the network interface.
  31972. //
  31973. // * network-interface.association.public-ip - The address of the Elastic
  31974. // IP address (IPv4) bound to the network interface.
  31975. //
  31976. // * network-interface.association.ip-owner-id - The owner of the Elastic
  31977. // IP address (IPv4) associated with the network interface.
  31978. //
  31979. // * network-interface.association.allocation-id - The allocation ID returned
  31980. // when you allocated the Elastic IP address (IPv4) for your network interface.
  31981. //
  31982. // * network-interface.association.association-id - The association ID returned
  31983. // when the network interface was associated with an IPv4 address.
  31984. //
  31985. // * network-interface.attachment.attachment-id - The ID of the interface
  31986. // attachment.
  31987. //
  31988. // * network-interface.attachment.instance-id - The ID of the instance to
  31989. // which the network interface is attached.
  31990. //
  31991. // * network-interface.attachment.instance-owner-id - The owner ID of the
  31992. // instance to which the network interface is attached.
  31993. //
  31994. // * network-interface.attachment.device-index - The device index to which
  31995. // the network interface is attached.
  31996. //
  31997. // * network-interface.attachment.status - The status of the attachment (attaching
  31998. // | attached | detaching | detached).
  31999. //
  32000. // * network-interface.attachment.attach-time - The time that the network
  32001. // interface was attached to an instance.
  32002. //
  32003. // * network-interface.attachment.delete-on-termination - Specifies whether
  32004. // the attachment is deleted when an instance is terminated.
  32005. //
  32006. // * network-interface.availability-zone - The Availability Zone for the
  32007. // network interface.
  32008. //
  32009. // * network-interface.description - The description of the network interface.
  32010. //
  32011. // * network-interface.group-id - The ID of a security group associated with
  32012. // the network interface.
  32013. //
  32014. // * network-interface.group-name - The name of a security group associated
  32015. // with the network interface.
  32016. //
  32017. // * network-interface.ipv6-addresses.ipv6-address - The IPv6 address associated
  32018. // with the network interface.
  32019. //
  32020. // * network-interface.mac-address - The MAC address of the network interface.
  32021. //
  32022. // * network-interface.network-interface-id - The ID of the network interface.
  32023. //
  32024. // * network-interface.owner-id - The ID of the owner of the network interface.
  32025. //
  32026. // * network-interface.private-dns-name - The private DNS name of the network
  32027. // interface.
  32028. //
  32029. // * network-interface.requester-id - The requester ID for the network interface.
  32030. //
  32031. // * network-interface.requester-managed - Indicates whether the network
  32032. // interface is being managed by AWS.
  32033. //
  32034. // * network-interface.status - The status of the network interface (available)
  32035. // | in-use).
  32036. //
  32037. // * network-interface.source-dest-check - Whether the network interface
  32038. // performs source/destination checking. A value of true means that checking
  32039. // is enabled, and false means that checking is disabled. The value must
  32040. // be false for the network interface to perform network address translation
  32041. // (NAT) in your VPC.
  32042. //
  32043. // * network-interface.subnet-id - The ID of the subnet for the network interface.
  32044. //
  32045. // * network-interface.vpc-id - The ID of the VPC for the network interface.
  32046. //
  32047. // * owner-id - The AWS account ID of the instance owner.
  32048. //
  32049. // * placement-group-name - The name of the placement group for the instance.
  32050. //
  32051. // * platform - The platform. Use windows if you have Windows instances;
  32052. // otherwise, leave blank.
  32053. //
  32054. // * private-dns-name - The private IPv4 DNS name of the instance.
  32055. //
  32056. // * private-ip-address - The private IPv4 address of the instance.
  32057. //
  32058. // * product-code - The product code associated with the AMI used to launch
  32059. // the instance.
  32060. //
  32061. // * product-code.type - The type of product code (devpay | marketplace).
  32062. //
  32063. // * ramdisk-id - The RAM disk ID.
  32064. //
  32065. // * reason - The reason for the current state of the instance (for example,
  32066. // shows "User Initiated [date]" when you stop or terminate the instance).
  32067. // Similar to the state-reason-code filter.
  32068. //
  32069. // * requester-id - The ID of the entity that launched the instance on your
  32070. // behalf (for example, AWS Management Console, Auto Scaling, and so on).
  32071. //
  32072. // * reservation-id - The ID of the instance's reservation. A reservation
  32073. // ID is created any time you launch an instance. A reservation ID has a
  32074. // one-to-one relationship with an instance launch request, but can be associated
  32075. // with more than one instance if you launch multiple instances using the
  32076. // same launch request. For example, if you launch one instance, you get
  32077. // one reservation ID. If you launch ten instances using the same launch
  32078. // request, you also get one reservation ID.
  32079. //
  32080. // * root-device-name - The device name of the root device volume (for example,
  32081. // /dev/sda1).
  32082. //
  32083. // * root-device-type - The type of the root device volume (ebs | instance-store).
  32084. //
  32085. // * source-dest-check - Indicates whether the instance performs source/destination
  32086. // checking. A value of true means that checking is enabled, and false means
  32087. // that checking is disabled. The value must be false for the instance to
  32088. // perform network address translation (NAT) in your VPC.
  32089. //
  32090. // * spot-instance-request-id - The ID of the Spot Instance request.
  32091. //
  32092. // * state-reason-code - The reason code for the state change.
  32093. //
  32094. // * state-reason-message - A message that describes the state change.
  32095. //
  32096. // * subnet-id - The ID of the subnet for the instance.
  32097. //
  32098. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  32099. // Specify the key of the tag in the filter name and the value of the tag
  32100. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  32101. // for the filter name and X for the filter value.
  32102. //
  32103. // * tag-key - The key of a tag assigned to the resource. This filter is
  32104. // independent of the tag-value filter. For example, if you use both the
  32105. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  32106. // assigned both the tag key Purpose (regardless of what the tag's value
  32107. // is), and the tag value X (regardless of the tag's key). If you want to
  32108. // list only resources where Purpose is X, see the tag:key=value filter.
  32109. //
  32110. // * tag-value - The value of a tag assigned to the resource. This filter
  32111. // is independent of the tag-key filter.
  32112. //
  32113. // * tenancy - The tenancy of an instance (dedicated | default | host).
  32114. //
  32115. // * virtualization-type - The virtualization type of the instance (paravirtual
  32116. // | hvm).
  32117. //
  32118. // * vpc-id - The ID of the VPC that the instance is running in.
  32119. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  32120. // One or more instance IDs.
  32121. //
  32122. // Default: Describes all your instances.
  32123. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
  32124. // The maximum number of results to return in a single call. To retrieve the
  32125. // remaining results, make another call with the returned NextToken value. This
  32126. // value can be between 5 and 1000. You cannot specify this parameter and the
  32127. // instance IDs parameter or tag filters in the same call.
  32128. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  32129. // The token to request the next page of results.
  32130. NextToken *string `locationName:"nextToken" type:"string"`
  32131. }
  32132. // String returns the string representation
  32133. func (s DescribeInstancesInput) String() string {
  32134. return awsutil.Prettify(s)
  32135. }
  32136. // GoString returns the string representation
  32137. func (s DescribeInstancesInput) GoString() string {
  32138. return s.String()
  32139. }
  32140. // SetDryRun sets the DryRun field's value.
  32141. func (s *DescribeInstancesInput) SetDryRun(v bool) *DescribeInstancesInput {
  32142. s.DryRun = &v
  32143. return s
  32144. }
  32145. // SetFilters sets the Filters field's value.
  32146. func (s *DescribeInstancesInput) SetFilters(v []*Filter) *DescribeInstancesInput {
  32147. s.Filters = v
  32148. return s
  32149. }
  32150. // SetInstanceIds sets the InstanceIds field's value.
  32151. func (s *DescribeInstancesInput) SetInstanceIds(v []*string) *DescribeInstancesInput {
  32152. s.InstanceIds = v
  32153. return s
  32154. }
  32155. // SetMaxResults sets the MaxResults field's value.
  32156. func (s *DescribeInstancesInput) SetMaxResults(v int64) *DescribeInstancesInput {
  32157. s.MaxResults = &v
  32158. return s
  32159. }
  32160. // SetNextToken sets the NextToken field's value.
  32161. func (s *DescribeInstancesInput) SetNextToken(v string) *DescribeInstancesInput {
  32162. s.NextToken = &v
  32163. return s
  32164. }
  32165. // Contains the output of DescribeInstances.
  32166. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstancesResult
  32167. type DescribeInstancesOutput struct {
  32168. _ struct{} `type:"structure"`
  32169. // The token to use to retrieve the next page of results. This value is null
  32170. // when there are no more results to return.
  32171. NextToken *string `locationName:"nextToken" type:"string"`
  32172. // Zero or more reservations.
  32173. Reservations []*Reservation `locationName:"reservationSet" locationNameList:"item" type:"list"`
  32174. }
  32175. // String returns the string representation
  32176. func (s DescribeInstancesOutput) String() string {
  32177. return awsutil.Prettify(s)
  32178. }
  32179. // GoString returns the string representation
  32180. func (s DescribeInstancesOutput) GoString() string {
  32181. return s.String()
  32182. }
  32183. // SetNextToken sets the NextToken field's value.
  32184. func (s *DescribeInstancesOutput) SetNextToken(v string) *DescribeInstancesOutput {
  32185. s.NextToken = &v
  32186. return s
  32187. }
  32188. // SetReservations sets the Reservations field's value.
  32189. func (s *DescribeInstancesOutput) SetReservations(v []*Reservation) *DescribeInstancesOutput {
  32190. s.Reservations = v
  32191. return s
  32192. }
  32193. // Contains the parameters for DescribeInternetGateways.
  32194. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInternetGatewaysRequest
  32195. type DescribeInternetGatewaysInput struct {
  32196. _ struct{} `type:"structure"`
  32197. // Checks whether you have the required permissions for the action, without
  32198. // actually making the request, and provides an error response. If you have
  32199. // the required permissions, the error response is DryRunOperation. Otherwise,
  32200. // it is UnauthorizedOperation.
  32201. DryRun *bool `locationName:"dryRun" type:"boolean"`
  32202. // One or more filters.
  32203. //
  32204. // * attachment.state - The current state of the attachment between the gateway
  32205. // and the VPC (available). Present only if a VPC is attached.
  32206. //
  32207. // * attachment.vpc-id - The ID of an attached VPC.
  32208. //
  32209. // * internet-gateway-id - The ID of the Internet gateway.
  32210. //
  32211. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  32212. // Specify the key of the tag in the filter name and the value of the tag
  32213. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  32214. // for the filter name and X for the filter value.
  32215. //
  32216. // * tag-key - The key of a tag assigned to the resource. This filter is
  32217. // independent of the tag-value filter. For example, if you use both the
  32218. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  32219. // assigned both the tag key Purpose (regardless of what the tag's value
  32220. // is), and the tag value X (regardless of what the tag's key is). If you
  32221. // want to list only resources where Purpose is X, see the tag:key=value
  32222. // filter.
  32223. //
  32224. // * tag-value - The value of a tag assigned to the resource. This filter
  32225. // is independent of the tag-key filter.
  32226. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  32227. // One or more Internet gateway IDs.
  32228. //
  32229. // Default: Describes all your Internet gateways.
  32230. InternetGatewayIds []*string `locationName:"internetGatewayId" locationNameList:"item" type:"list"`
  32231. }
  32232. // String returns the string representation
  32233. func (s DescribeInternetGatewaysInput) String() string {
  32234. return awsutil.Prettify(s)
  32235. }
  32236. // GoString returns the string representation
  32237. func (s DescribeInternetGatewaysInput) GoString() string {
  32238. return s.String()
  32239. }
  32240. // SetDryRun sets the DryRun field's value.
  32241. func (s *DescribeInternetGatewaysInput) SetDryRun(v bool) *DescribeInternetGatewaysInput {
  32242. s.DryRun = &v
  32243. return s
  32244. }
  32245. // SetFilters sets the Filters field's value.
  32246. func (s *DescribeInternetGatewaysInput) SetFilters(v []*Filter) *DescribeInternetGatewaysInput {
  32247. s.Filters = v
  32248. return s
  32249. }
  32250. // SetInternetGatewayIds sets the InternetGatewayIds field's value.
  32251. func (s *DescribeInternetGatewaysInput) SetInternetGatewayIds(v []*string) *DescribeInternetGatewaysInput {
  32252. s.InternetGatewayIds = v
  32253. return s
  32254. }
  32255. // Contains the output of DescribeInternetGateways.
  32256. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInternetGatewaysResult
  32257. type DescribeInternetGatewaysOutput struct {
  32258. _ struct{} `type:"structure"`
  32259. // Information about one or more Internet gateways.
  32260. InternetGateways []*InternetGateway `locationName:"internetGatewaySet" locationNameList:"item" type:"list"`
  32261. }
  32262. // String returns the string representation
  32263. func (s DescribeInternetGatewaysOutput) String() string {
  32264. return awsutil.Prettify(s)
  32265. }
  32266. // GoString returns the string representation
  32267. func (s DescribeInternetGatewaysOutput) GoString() string {
  32268. return s.String()
  32269. }
  32270. // SetInternetGateways sets the InternetGateways field's value.
  32271. func (s *DescribeInternetGatewaysOutput) SetInternetGateways(v []*InternetGateway) *DescribeInternetGatewaysOutput {
  32272. s.InternetGateways = v
  32273. return s
  32274. }
  32275. // Contains the parameters for DescribeKeyPairs.
  32276. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeKeyPairsRequest
  32277. type DescribeKeyPairsInput struct {
  32278. _ struct{} `type:"structure"`
  32279. // Checks whether you have the required permissions for the action, without
  32280. // actually making the request, and provides an error response. If you have
  32281. // the required permissions, the error response is DryRunOperation. Otherwise,
  32282. // it is UnauthorizedOperation.
  32283. DryRun *bool `locationName:"dryRun" type:"boolean"`
  32284. // One or more filters.
  32285. //
  32286. // * fingerprint - The fingerprint of the key pair.
  32287. //
  32288. // * key-name - The name of the key pair.
  32289. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  32290. // One or more key pair names.
  32291. //
  32292. // Default: Describes all your key pairs.
  32293. KeyNames []*string `locationName:"KeyName" locationNameList:"KeyName" type:"list"`
  32294. }
  32295. // String returns the string representation
  32296. func (s DescribeKeyPairsInput) String() string {
  32297. return awsutil.Prettify(s)
  32298. }
  32299. // GoString returns the string representation
  32300. func (s DescribeKeyPairsInput) GoString() string {
  32301. return s.String()
  32302. }
  32303. // SetDryRun sets the DryRun field's value.
  32304. func (s *DescribeKeyPairsInput) SetDryRun(v bool) *DescribeKeyPairsInput {
  32305. s.DryRun = &v
  32306. return s
  32307. }
  32308. // SetFilters sets the Filters field's value.
  32309. func (s *DescribeKeyPairsInput) SetFilters(v []*Filter) *DescribeKeyPairsInput {
  32310. s.Filters = v
  32311. return s
  32312. }
  32313. // SetKeyNames sets the KeyNames field's value.
  32314. func (s *DescribeKeyPairsInput) SetKeyNames(v []*string) *DescribeKeyPairsInput {
  32315. s.KeyNames = v
  32316. return s
  32317. }
  32318. // Contains the output of DescribeKeyPairs.
  32319. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeKeyPairsResult
  32320. type DescribeKeyPairsOutput struct {
  32321. _ struct{} `type:"structure"`
  32322. // Information about one or more key pairs.
  32323. KeyPairs []*KeyPairInfo `locationName:"keySet" locationNameList:"item" type:"list"`
  32324. }
  32325. // String returns the string representation
  32326. func (s DescribeKeyPairsOutput) String() string {
  32327. return awsutil.Prettify(s)
  32328. }
  32329. // GoString returns the string representation
  32330. func (s DescribeKeyPairsOutput) GoString() string {
  32331. return s.String()
  32332. }
  32333. // SetKeyPairs sets the KeyPairs field's value.
  32334. func (s *DescribeKeyPairsOutput) SetKeyPairs(v []*KeyPairInfo) *DescribeKeyPairsOutput {
  32335. s.KeyPairs = v
  32336. return s
  32337. }
  32338. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplateVersionsRequest
  32339. type DescribeLaunchTemplateVersionsInput struct {
  32340. _ struct{} `type:"structure"`
  32341. // Checks whether you have the required permissions for the action, without
  32342. // actually making the request, and provides an error response. If you have
  32343. // the required permissions, the error response is DryRunOperation. Otherwise,
  32344. // it is UnauthorizedOperation.
  32345. DryRun *bool `type:"boolean"`
  32346. // One or more filters.
  32347. //
  32348. // * create-time - The time the launch template version was created.
  32349. //
  32350. // * ebs-optimized - A boolean that indicates whether the instance is optimized
  32351. // for Amazon EBS I/O.
  32352. //
  32353. // * iam-instance-profile - The ARN of the IAM instance profile.
  32354. //
  32355. // * image-id - The ID of the AMI.
  32356. //
  32357. // * instance-type - The instance type.
  32358. //
  32359. // * is-default-version - A boolean that indicates whether the launch template
  32360. // version is the default version.
  32361. //
  32362. // * kernel-id - The kernel ID.
  32363. //
  32364. // * ram-disk-id - The RAM disk ID.
  32365. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  32366. // The ID of the launch template. You must specify either the launch template
  32367. // ID or launch template name in the request.
  32368. LaunchTemplateId *string `type:"string"`
  32369. // The name of the launch template. You must specify either the launch template
  32370. // ID or launch template name in the request.
  32371. LaunchTemplateName *string `min:"3" type:"string"`
  32372. // The maximum number of results to return in a single call. To retrieve the
  32373. // remaining results, make another call with the returned NextToken value. This
  32374. // value can be between 5 and 1000.
  32375. MaxResults *int64 `type:"integer"`
  32376. // The version number up to which to describe launch template versions.
  32377. MaxVersion *string `type:"string"`
  32378. // The version number after which to describe launch template versions.
  32379. MinVersion *string `type:"string"`
  32380. // The token to request the next page of results.
  32381. NextToken *string `type:"string"`
  32382. // One or more versions of the launch template.
  32383. Versions []*string `locationName:"LaunchTemplateVersion" locationNameList:"item" type:"list"`
  32384. }
  32385. // String returns the string representation
  32386. func (s DescribeLaunchTemplateVersionsInput) String() string {
  32387. return awsutil.Prettify(s)
  32388. }
  32389. // GoString returns the string representation
  32390. func (s DescribeLaunchTemplateVersionsInput) GoString() string {
  32391. return s.String()
  32392. }
  32393. // Validate inspects the fields of the type to determine if they are valid.
  32394. func (s *DescribeLaunchTemplateVersionsInput) Validate() error {
  32395. invalidParams := request.ErrInvalidParams{Context: "DescribeLaunchTemplateVersionsInput"}
  32396. if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
  32397. invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
  32398. }
  32399. if invalidParams.Len() > 0 {
  32400. return invalidParams
  32401. }
  32402. return nil
  32403. }
  32404. // SetDryRun sets the DryRun field's value.
  32405. func (s *DescribeLaunchTemplateVersionsInput) SetDryRun(v bool) *DescribeLaunchTemplateVersionsInput {
  32406. s.DryRun = &v
  32407. return s
  32408. }
  32409. // SetFilters sets the Filters field's value.
  32410. func (s *DescribeLaunchTemplateVersionsInput) SetFilters(v []*Filter) *DescribeLaunchTemplateVersionsInput {
  32411. s.Filters = v
  32412. return s
  32413. }
  32414. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  32415. func (s *DescribeLaunchTemplateVersionsInput) SetLaunchTemplateId(v string) *DescribeLaunchTemplateVersionsInput {
  32416. s.LaunchTemplateId = &v
  32417. return s
  32418. }
  32419. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  32420. func (s *DescribeLaunchTemplateVersionsInput) SetLaunchTemplateName(v string) *DescribeLaunchTemplateVersionsInput {
  32421. s.LaunchTemplateName = &v
  32422. return s
  32423. }
  32424. // SetMaxResults sets the MaxResults field's value.
  32425. func (s *DescribeLaunchTemplateVersionsInput) SetMaxResults(v int64) *DescribeLaunchTemplateVersionsInput {
  32426. s.MaxResults = &v
  32427. return s
  32428. }
  32429. // SetMaxVersion sets the MaxVersion field's value.
  32430. func (s *DescribeLaunchTemplateVersionsInput) SetMaxVersion(v string) *DescribeLaunchTemplateVersionsInput {
  32431. s.MaxVersion = &v
  32432. return s
  32433. }
  32434. // SetMinVersion sets the MinVersion field's value.
  32435. func (s *DescribeLaunchTemplateVersionsInput) SetMinVersion(v string) *DescribeLaunchTemplateVersionsInput {
  32436. s.MinVersion = &v
  32437. return s
  32438. }
  32439. // SetNextToken sets the NextToken field's value.
  32440. func (s *DescribeLaunchTemplateVersionsInput) SetNextToken(v string) *DescribeLaunchTemplateVersionsInput {
  32441. s.NextToken = &v
  32442. return s
  32443. }
  32444. // SetVersions sets the Versions field's value.
  32445. func (s *DescribeLaunchTemplateVersionsInput) SetVersions(v []*string) *DescribeLaunchTemplateVersionsInput {
  32446. s.Versions = v
  32447. return s
  32448. }
  32449. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplateVersionsResult
  32450. type DescribeLaunchTemplateVersionsOutput struct {
  32451. _ struct{} `type:"structure"`
  32452. // Information about the launch template versions.
  32453. LaunchTemplateVersions []*LaunchTemplateVersion `locationName:"launchTemplateVersionSet" locationNameList:"item" type:"list"`
  32454. // The token to use to retrieve the next page of results. This value is null
  32455. // when there are no more results to return.
  32456. NextToken *string `locationName:"nextToken" type:"string"`
  32457. }
  32458. // String returns the string representation
  32459. func (s DescribeLaunchTemplateVersionsOutput) String() string {
  32460. return awsutil.Prettify(s)
  32461. }
  32462. // GoString returns the string representation
  32463. func (s DescribeLaunchTemplateVersionsOutput) GoString() string {
  32464. return s.String()
  32465. }
  32466. // SetLaunchTemplateVersions sets the LaunchTemplateVersions field's value.
  32467. func (s *DescribeLaunchTemplateVersionsOutput) SetLaunchTemplateVersions(v []*LaunchTemplateVersion) *DescribeLaunchTemplateVersionsOutput {
  32468. s.LaunchTemplateVersions = v
  32469. return s
  32470. }
  32471. // SetNextToken sets the NextToken field's value.
  32472. func (s *DescribeLaunchTemplateVersionsOutput) SetNextToken(v string) *DescribeLaunchTemplateVersionsOutput {
  32473. s.NextToken = &v
  32474. return s
  32475. }
  32476. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplatesRequest
  32477. type DescribeLaunchTemplatesInput struct {
  32478. _ struct{} `type:"structure"`
  32479. // Checks whether you have the required permissions for the action, without
  32480. // actually making the request, and provides an error response. If you have
  32481. // the required permissions, the error response is DryRunOperation. Otherwise,
  32482. // it is UnauthorizedOperation.
  32483. DryRun *bool `type:"boolean"`
  32484. // One or more filters.
  32485. //
  32486. // * create-time - The time the launch template was created.
  32487. //
  32488. // * launch-template-name - The name of the launch template.
  32489. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  32490. // One or more launch template IDs.
  32491. LaunchTemplateIds []*string `locationName:"LaunchTemplateId" locationNameList:"item" type:"list"`
  32492. // One or more launch template names.
  32493. LaunchTemplateNames []*string `locationName:"LaunchTemplateName" locationNameList:"item" type:"list"`
  32494. // The maximum number of results to return in a single call. To retrieve the
  32495. // remaining results, make another call with the returned NextToken value. This
  32496. // value can be between 5 and 1000.
  32497. MaxResults *int64 `type:"integer"`
  32498. // The token to request the next page of results.
  32499. NextToken *string `type:"string"`
  32500. }
  32501. // String returns the string representation
  32502. func (s DescribeLaunchTemplatesInput) String() string {
  32503. return awsutil.Prettify(s)
  32504. }
  32505. // GoString returns the string representation
  32506. func (s DescribeLaunchTemplatesInput) GoString() string {
  32507. return s.String()
  32508. }
  32509. // SetDryRun sets the DryRun field's value.
  32510. func (s *DescribeLaunchTemplatesInput) SetDryRun(v bool) *DescribeLaunchTemplatesInput {
  32511. s.DryRun = &v
  32512. return s
  32513. }
  32514. // SetFilters sets the Filters field's value.
  32515. func (s *DescribeLaunchTemplatesInput) SetFilters(v []*Filter) *DescribeLaunchTemplatesInput {
  32516. s.Filters = v
  32517. return s
  32518. }
  32519. // SetLaunchTemplateIds sets the LaunchTemplateIds field's value.
  32520. func (s *DescribeLaunchTemplatesInput) SetLaunchTemplateIds(v []*string) *DescribeLaunchTemplatesInput {
  32521. s.LaunchTemplateIds = v
  32522. return s
  32523. }
  32524. // SetLaunchTemplateNames sets the LaunchTemplateNames field's value.
  32525. func (s *DescribeLaunchTemplatesInput) SetLaunchTemplateNames(v []*string) *DescribeLaunchTemplatesInput {
  32526. s.LaunchTemplateNames = v
  32527. return s
  32528. }
  32529. // SetMaxResults sets the MaxResults field's value.
  32530. func (s *DescribeLaunchTemplatesInput) SetMaxResults(v int64) *DescribeLaunchTemplatesInput {
  32531. s.MaxResults = &v
  32532. return s
  32533. }
  32534. // SetNextToken sets the NextToken field's value.
  32535. func (s *DescribeLaunchTemplatesInput) SetNextToken(v string) *DescribeLaunchTemplatesInput {
  32536. s.NextToken = &v
  32537. return s
  32538. }
  32539. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplatesResult
  32540. type DescribeLaunchTemplatesOutput struct {
  32541. _ struct{} `type:"structure"`
  32542. // Information about the launch templates.
  32543. LaunchTemplates []*LaunchTemplate `locationName:"launchTemplates" locationNameList:"item" type:"list"`
  32544. // The token to use to retrieve the next page of results. This value is null
  32545. // when there are no more results to return.
  32546. NextToken *string `locationName:"nextToken" type:"string"`
  32547. }
  32548. // String returns the string representation
  32549. func (s DescribeLaunchTemplatesOutput) String() string {
  32550. return awsutil.Prettify(s)
  32551. }
  32552. // GoString returns the string representation
  32553. func (s DescribeLaunchTemplatesOutput) GoString() string {
  32554. return s.String()
  32555. }
  32556. // SetLaunchTemplates sets the LaunchTemplates field's value.
  32557. func (s *DescribeLaunchTemplatesOutput) SetLaunchTemplates(v []*LaunchTemplate) *DescribeLaunchTemplatesOutput {
  32558. s.LaunchTemplates = v
  32559. return s
  32560. }
  32561. // SetNextToken sets the NextToken field's value.
  32562. func (s *DescribeLaunchTemplatesOutput) SetNextToken(v string) *DescribeLaunchTemplatesOutput {
  32563. s.NextToken = &v
  32564. return s
  32565. }
  32566. // Contains the parameters for DescribeMovingAddresses.
  32567. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeMovingAddressesRequest
  32568. type DescribeMovingAddressesInput struct {
  32569. _ struct{} `type:"structure"`
  32570. // Checks whether you have the required permissions for the action, without
  32571. // actually making the request, and provides an error response. If you have
  32572. // the required permissions, the error response is DryRunOperation. Otherwise,
  32573. // it is UnauthorizedOperation.
  32574. DryRun *bool `locationName:"dryRun" type:"boolean"`
  32575. // One or more filters.
  32576. //
  32577. // * moving-status - The status of the Elastic IP address (MovingToVpc |
  32578. // RestoringToClassic).
  32579. Filters []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
  32580. // The maximum number of results to return for the request in a single page.
  32581. // The remaining results of the initial request can be seen by sending another
  32582. // request with the returned NextToken value. This value can be between 5 and
  32583. // 1000; if MaxResults is given a value outside of this range, an error is returned.
  32584. //
  32585. // Default: If no value is provided, the default is 1000.
  32586. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  32587. // The token to use to retrieve the next page of results.
  32588. NextToken *string `locationName:"nextToken" type:"string"`
  32589. // One or more Elastic IP addresses.
  32590. PublicIps []*string `locationName:"publicIp" locationNameList:"item" type:"list"`
  32591. }
  32592. // String returns the string representation
  32593. func (s DescribeMovingAddressesInput) String() string {
  32594. return awsutil.Prettify(s)
  32595. }
  32596. // GoString returns the string representation
  32597. func (s DescribeMovingAddressesInput) GoString() string {
  32598. return s.String()
  32599. }
  32600. // SetDryRun sets the DryRun field's value.
  32601. func (s *DescribeMovingAddressesInput) SetDryRun(v bool) *DescribeMovingAddressesInput {
  32602. s.DryRun = &v
  32603. return s
  32604. }
  32605. // SetFilters sets the Filters field's value.
  32606. func (s *DescribeMovingAddressesInput) SetFilters(v []*Filter) *DescribeMovingAddressesInput {
  32607. s.Filters = v
  32608. return s
  32609. }
  32610. // SetMaxResults sets the MaxResults field's value.
  32611. func (s *DescribeMovingAddressesInput) SetMaxResults(v int64) *DescribeMovingAddressesInput {
  32612. s.MaxResults = &v
  32613. return s
  32614. }
  32615. // SetNextToken sets the NextToken field's value.
  32616. func (s *DescribeMovingAddressesInput) SetNextToken(v string) *DescribeMovingAddressesInput {
  32617. s.NextToken = &v
  32618. return s
  32619. }
  32620. // SetPublicIps sets the PublicIps field's value.
  32621. func (s *DescribeMovingAddressesInput) SetPublicIps(v []*string) *DescribeMovingAddressesInput {
  32622. s.PublicIps = v
  32623. return s
  32624. }
  32625. // Contains the output of DescribeMovingAddresses.
  32626. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeMovingAddressesResult
  32627. type DescribeMovingAddressesOutput struct {
  32628. _ struct{} `type:"structure"`
  32629. // The status for each Elastic IP address.
  32630. MovingAddressStatuses []*MovingAddressStatus `locationName:"movingAddressStatusSet" locationNameList:"item" type:"list"`
  32631. // The token to use to retrieve the next page of results. This value is null
  32632. // when there are no more results to return.
  32633. NextToken *string `locationName:"nextToken" type:"string"`
  32634. }
  32635. // String returns the string representation
  32636. func (s DescribeMovingAddressesOutput) String() string {
  32637. return awsutil.Prettify(s)
  32638. }
  32639. // GoString returns the string representation
  32640. func (s DescribeMovingAddressesOutput) GoString() string {
  32641. return s.String()
  32642. }
  32643. // SetMovingAddressStatuses sets the MovingAddressStatuses field's value.
  32644. func (s *DescribeMovingAddressesOutput) SetMovingAddressStatuses(v []*MovingAddressStatus) *DescribeMovingAddressesOutput {
  32645. s.MovingAddressStatuses = v
  32646. return s
  32647. }
  32648. // SetNextToken sets the NextToken field's value.
  32649. func (s *DescribeMovingAddressesOutput) SetNextToken(v string) *DescribeMovingAddressesOutput {
  32650. s.NextToken = &v
  32651. return s
  32652. }
  32653. // Contains the parameters for DescribeNatGateways.
  32654. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNatGatewaysRequest
  32655. type DescribeNatGatewaysInput struct {
  32656. _ struct{} `type:"structure"`
  32657. // One or more filters.
  32658. //
  32659. // * nat-gateway-id - The ID of the NAT gateway.
  32660. //
  32661. // * state - The state of the NAT gateway (pending | failed | available |
  32662. // deleting | deleted).
  32663. //
  32664. // * subnet-id - The ID of the subnet in which the NAT gateway resides.
  32665. //
  32666. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  32667. // Specify the key of the tag in the filter name and the value of the tag
  32668. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  32669. // for the filter name and X for the filter value.
  32670. //
  32671. // * tag-key - The key of a tag assigned to the resource. This filter is
  32672. // independent of the tag-value filter. For example, if you use both the
  32673. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  32674. // assigned both the tag key Purpose (regardless of what the tag's value
  32675. // is), and the tag value X (regardless of what the tag's key is). If you
  32676. // want to list only resources where Purpose is X, see the tag:key=value
  32677. // filter.
  32678. //
  32679. // * tag-value - The value of a tag assigned to the resource. This filter
  32680. // is independent of the tag-key filter.
  32681. //
  32682. // * vpc-id - The ID of the VPC in which the NAT gateway resides.
  32683. Filter []*Filter `locationNameList:"Filter" type:"list"`
  32684. // The maximum number of items to return for this request. The request returns
  32685. // a token that you can specify in a subsequent call to get the next set of
  32686. // results.
  32687. //
  32688. // Constraint: If the value specified is greater than 1000, we return only 1000
  32689. // items.
  32690. MaxResults *int64 `type:"integer"`
  32691. // One or more NAT gateway IDs.
  32692. NatGatewayIds []*string `locationName:"NatGatewayId" locationNameList:"item" type:"list"`
  32693. // The token to retrieve the next page of results.
  32694. NextToken *string `type:"string"`
  32695. }
  32696. // String returns the string representation
  32697. func (s DescribeNatGatewaysInput) String() string {
  32698. return awsutil.Prettify(s)
  32699. }
  32700. // GoString returns the string representation
  32701. func (s DescribeNatGatewaysInput) GoString() string {
  32702. return s.String()
  32703. }
  32704. // SetFilter sets the Filter field's value.
  32705. func (s *DescribeNatGatewaysInput) SetFilter(v []*Filter) *DescribeNatGatewaysInput {
  32706. s.Filter = v
  32707. return s
  32708. }
  32709. // SetMaxResults sets the MaxResults field's value.
  32710. func (s *DescribeNatGatewaysInput) SetMaxResults(v int64) *DescribeNatGatewaysInput {
  32711. s.MaxResults = &v
  32712. return s
  32713. }
  32714. // SetNatGatewayIds sets the NatGatewayIds field's value.
  32715. func (s *DescribeNatGatewaysInput) SetNatGatewayIds(v []*string) *DescribeNatGatewaysInput {
  32716. s.NatGatewayIds = v
  32717. return s
  32718. }
  32719. // SetNextToken sets the NextToken field's value.
  32720. func (s *DescribeNatGatewaysInput) SetNextToken(v string) *DescribeNatGatewaysInput {
  32721. s.NextToken = &v
  32722. return s
  32723. }
  32724. // Contains the output of DescribeNatGateways.
  32725. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNatGatewaysResult
  32726. type DescribeNatGatewaysOutput struct {
  32727. _ struct{} `type:"structure"`
  32728. // Information about the NAT gateways.
  32729. NatGateways []*NatGateway `locationName:"natGatewaySet" locationNameList:"item" type:"list"`
  32730. // The token to use to retrieve the next page of results. This value is null
  32731. // when there are no more results to return.
  32732. NextToken *string `locationName:"nextToken" type:"string"`
  32733. }
  32734. // String returns the string representation
  32735. func (s DescribeNatGatewaysOutput) String() string {
  32736. return awsutil.Prettify(s)
  32737. }
  32738. // GoString returns the string representation
  32739. func (s DescribeNatGatewaysOutput) GoString() string {
  32740. return s.String()
  32741. }
  32742. // SetNatGateways sets the NatGateways field's value.
  32743. func (s *DescribeNatGatewaysOutput) SetNatGateways(v []*NatGateway) *DescribeNatGatewaysOutput {
  32744. s.NatGateways = v
  32745. return s
  32746. }
  32747. // SetNextToken sets the NextToken field's value.
  32748. func (s *DescribeNatGatewaysOutput) SetNextToken(v string) *DescribeNatGatewaysOutput {
  32749. s.NextToken = &v
  32750. return s
  32751. }
  32752. // Contains the parameters for DescribeNetworkAcls.
  32753. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkAclsRequest
  32754. type DescribeNetworkAclsInput struct {
  32755. _ struct{} `type:"structure"`
  32756. // Checks whether you have the required permissions for the action, without
  32757. // actually making the request, and provides an error response. If you have
  32758. // the required permissions, the error response is DryRunOperation. Otherwise,
  32759. // it is UnauthorizedOperation.
  32760. DryRun *bool `locationName:"dryRun" type:"boolean"`
  32761. // One or more filters.
  32762. //
  32763. // * association.association-id - The ID of an association ID for the ACL.
  32764. //
  32765. // * association.network-acl-id - The ID of the network ACL involved in the
  32766. // association.
  32767. //
  32768. // * association.subnet-id - The ID of the subnet involved in the association.
  32769. //
  32770. // * default - Indicates whether the ACL is the default network ACL for the
  32771. // VPC.
  32772. //
  32773. // * entry.cidr - The IPv4 CIDR range specified in the entry.
  32774. //
  32775. // * entry.egress - Indicates whether the entry applies to egress traffic.
  32776. //
  32777. // * entry.icmp.code - The ICMP code specified in the entry, if any.
  32778. //
  32779. // * entry.icmp.type - The ICMP type specified in the entry, if any.
  32780. //
  32781. // * entry.ipv6-cidr - The IPv6 CIDR range specified in the entry.
  32782. //
  32783. // * entry.port-range.from - The start of the port range specified in the
  32784. // entry.
  32785. //
  32786. // * entry.port-range.to - The end of the port range specified in the entry.
  32787. //
  32788. //
  32789. // * entry.protocol - The protocol specified in the entry (tcp | udp | icmp
  32790. // or a protocol number).
  32791. //
  32792. // * entry.rule-action - Allows or denies the matching traffic (allow | deny).
  32793. //
  32794. // * entry.rule-number - The number of an entry (in other words, rule) in
  32795. // the ACL's set of entries.
  32796. //
  32797. // * network-acl-id - The ID of the network ACL.
  32798. //
  32799. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  32800. // Specify the key of the tag in the filter name and the value of the tag
  32801. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  32802. // for the filter name and X for the filter value.
  32803. //
  32804. // * tag-key - The key of a tag assigned to the resource. This filter is
  32805. // independent of the tag-value filter. For example, if you use both the
  32806. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  32807. // assigned both the tag key Purpose (regardless of what the tag's value
  32808. // is), and the tag value X (regardless of what the tag's key is). If you
  32809. // want to list only resources where Purpose is X, see the tag:key=value
  32810. // filter.
  32811. //
  32812. // * tag-value - The value of a tag assigned to the resource. This filter
  32813. // is independent of the tag-key filter.
  32814. //
  32815. // * vpc-id - The ID of the VPC for the network ACL.
  32816. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  32817. // One or more network ACL IDs.
  32818. //
  32819. // Default: Describes all your network ACLs.
  32820. NetworkAclIds []*string `locationName:"NetworkAclId" locationNameList:"item" type:"list"`
  32821. }
  32822. // String returns the string representation
  32823. func (s DescribeNetworkAclsInput) String() string {
  32824. return awsutil.Prettify(s)
  32825. }
  32826. // GoString returns the string representation
  32827. func (s DescribeNetworkAclsInput) GoString() string {
  32828. return s.String()
  32829. }
  32830. // SetDryRun sets the DryRun field's value.
  32831. func (s *DescribeNetworkAclsInput) SetDryRun(v bool) *DescribeNetworkAclsInput {
  32832. s.DryRun = &v
  32833. return s
  32834. }
  32835. // SetFilters sets the Filters field's value.
  32836. func (s *DescribeNetworkAclsInput) SetFilters(v []*Filter) *DescribeNetworkAclsInput {
  32837. s.Filters = v
  32838. return s
  32839. }
  32840. // SetNetworkAclIds sets the NetworkAclIds field's value.
  32841. func (s *DescribeNetworkAclsInput) SetNetworkAclIds(v []*string) *DescribeNetworkAclsInput {
  32842. s.NetworkAclIds = v
  32843. return s
  32844. }
  32845. // Contains the output of DescribeNetworkAcls.
  32846. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkAclsResult
  32847. type DescribeNetworkAclsOutput struct {
  32848. _ struct{} `type:"structure"`
  32849. // Information about one or more network ACLs.
  32850. NetworkAcls []*NetworkAcl `locationName:"networkAclSet" locationNameList:"item" type:"list"`
  32851. }
  32852. // String returns the string representation
  32853. func (s DescribeNetworkAclsOutput) String() string {
  32854. return awsutil.Prettify(s)
  32855. }
  32856. // GoString returns the string representation
  32857. func (s DescribeNetworkAclsOutput) GoString() string {
  32858. return s.String()
  32859. }
  32860. // SetNetworkAcls sets the NetworkAcls field's value.
  32861. func (s *DescribeNetworkAclsOutput) SetNetworkAcls(v []*NetworkAcl) *DescribeNetworkAclsOutput {
  32862. s.NetworkAcls = v
  32863. return s
  32864. }
  32865. // Contains the parameters for DescribeNetworkInterfaceAttribute.
  32866. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaceAttributeRequest
  32867. type DescribeNetworkInterfaceAttributeInput struct {
  32868. _ struct{} `type:"structure"`
  32869. // The attribute of the network interface. This parameter is required.
  32870. Attribute *string `locationName:"attribute" type:"string" enum:"NetworkInterfaceAttribute"`
  32871. // Checks whether you have the required permissions for the action, without
  32872. // actually making the request, and provides an error response. If you have
  32873. // the required permissions, the error response is DryRunOperation. Otherwise,
  32874. // it is UnauthorizedOperation.
  32875. DryRun *bool `locationName:"dryRun" type:"boolean"`
  32876. // The ID of the network interface.
  32877. //
  32878. // NetworkInterfaceId is a required field
  32879. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  32880. }
  32881. // String returns the string representation
  32882. func (s DescribeNetworkInterfaceAttributeInput) String() string {
  32883. return awsutil.Prettify(s)
  32884. }
  32885. // GoString returns the string representation
  32886. func (s DescribeNetworkInterfaceAttributeInput) GoString() string {
  32887. return s.String()
  32888. }
  32889. // Validate inspects the fields of the type to determine if they are valid.
  32890. func (s *DescribeNetworkInterfaceAttributeInput) Validate() error {
  32891. invalidParams := request.ErrInvalidParams{Context: "DescribeNetworkInterfaceAttributeInput"}
  32892. if s.NetworkInterfaceId == nil {
  32893. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  32894. }
  32895. if invalidParams.Len() > 0 {
  32896. return invalidParams
  32897. }
  32898. return nil
  32899. }
  32900. // SetAttribute sets the Attribute field's value.
  32901. func (s *DescribeNetworkInterfaceAttributeInput) SetAttribute(v string) *DescribeNetworkInterfaceAttributeInput {
  32902. s.Attribute = &v
  32903. return s
  32904. }
  32905. // SetDryRun sets the DryRun field's value.
  32906. func (s *DescribeNetworkInterfaceAttributeInput) SetDryRun(v bool) *DescribeNetworkInterfaceAttributeInput {
  32907. s.DryRun = &v
  32908. return s
  32909. }
  32910. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  32911. func (s *DescribeNetworkInterfaceAttributeInput) SetNetworkInterfaceId(v string) *DescribeNetworkInterfaceAttributeInput {
  32912. s.NetworkInterfaceId = &v
  32913. return s
  32914. }
  32915. // Contains the output of DescribeNetworkInterfaceAttribute.
  32916. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaceAttributeResult
  32917. type DescribeNetworkInterfaceAttributeOutput struct {
  32918. _ struct{} `type:"structure"`
  32919. // The attachment (if any) of the network interface.
  32920. Attachment *NetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
  32921. // The description of the network interface.
  32922. Description *AttributeValue `locationName:"description" type:"structure"`
  32923. // The security groups associated with the network interface.
  32924. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  32925. // The ID of the network interface.
  32926. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  32927. // Indicates whether source/destination checking is enabled.
  32928. SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
  32929. }
  32930. // String returns the string representation
  32931. func (s DescribeNetworkInterfaceAttributeOutput) String() string {
  32932. return awsutil.Prettify(s)
  32933. }
  32934. // GoString returns the string representation
  32935. func (s DescribeNetworkInterfaceAttributeOutput) GoString() string {
  32936. return s.String()
  32937. }
  32938. // SetAttachment sets the Attachment field's value.
  32939. func (s *DescribeNetworkInterfaceAttributeOutput) SetAttachment(v *NetworkInterfaceAttachment) *DescribeNetworkInterfaceAttributeOutput {
  32940. s.Attachment = v
  32941. return s
  32942. }
  32943. // SetDescription sets the Description field's value.
  32944. func (s *DescribeNetworkInterfaceAttributeOutput) SetDescription(v *AttributeValue) *DescribeNetworkInterfaceAttributeOutput {
  32945. s.Description = v
  32946. return s
  32947. }
  32948. // SetGroups sets the Groups field's value.
  32949. func (s *DescribeNetworkInterfaceAttributeOutput) SetGroups(v []*GroupIdentifier) *DescribeNetworkInterfaceAttributeOutput {
  32950. s.Groups = v
  32951. return s
  32952. }
  32953. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  32954. func (s *DescribeNetworkInterfaceAttributeOutput) SetNetworkInterfaceId(v string) *DescribeNetworkInterfaceAttributeOutput {
  32955. s.NetworkInterfaceId = &v
  32956. return s
  32957. }
  32958. // SetSourceDestCheck sets the SourceDestCheck field's value.
  32959. func (s *DescribeNetworkInterfaceAttributeOutput) SetSourceDestCheck(v *AttributeBooleanValue) *DescribeNetworkInterfaceAttributeOutput {
  32960. s.SourceDestCheck = v
  32961. return s
  32962. }
  32963. // Contains the parameters for DescribeNetworkInterfacePermissions.
  32964. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacePermissionsRequest
  32965. type DescribeNetworkInterfacePermissionsInput struct {
  32966. _ struct{} `type:"structure"`
  32967. // One or more filters.
  32968. //
  32969. // * network-interface-permission.network-interface-permission-id - The ID
  32970. // of the permission.
  32971. //
  32972. // * network-interface-permission.network-interface-id - The ID of the network
  32973. // interface.
  32974. //
  32975. // * network-interface-permission.aws-account-id - The AWS account ID.
  32976. //
  32977. // * network-interface-permission.aws-service - The AWS service.
  32978. //
  32979. // * network-interface-permission.permission - The type of permission (INSTANCE-ATTACH
  32980. // | EIP-ASSOCIATE).
  32981. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  32982. // The maximum number of results to return in a single call. To retrieve the
  32983. // remaining results, make another call with the returned NextToken value. If
  32984. // this parameter is not specified, up to 50 results are returned by default.
  32985. MaxResults *int64 `type:"integer"`
  32986. // One or more network interface permission IDs.
  32987. NetworkInterfacePermissionIds []*string `locationName:"NetworkInterfacePermissionId" type:"list"`
  32988. // The token to request the next page of results.
  32989. NextToken *string `type:"string"`
  32990. }
  32991. // String returns the string representation
  32992. func (s DescribeNetworkInterfacePermissionsInput) String() string {
  32993. return awsutil.Prettify(s)
  32994. }
  32995. // GoString returns the string representation
  32996. func (s DescribeNetworkInterfacePermissionsInput) GoString() string {
  32997. return s.String()
  32998. }
  32999. // SetFilters sets the Filters field's value.
  33000. func (s *DescribeNetworkInterfacePermissionsInput) SetFilters(v []*Filter) *DescribeNetworkInterfacePermissionsInput {
  33001. s.Filters = v
  33002. return s
  33003. }
  33004. // SetMaxResults sets the MaxResults field's value.
  33005. func (s *DescribeNetworkInterfacePermissionsInput) SetMaxResults(v int64) *DescribeNetworkInterfacePermissionsInput {
  33006. s.MaxResults = &v
  33007. return s
  33008. }
  33009. // SetNetworkInterfacePermissionIds sets the NetworkInterfacePermissionIds field's value.
  33010. func (s *DescribeNetworkInterfacePermissionsInput) SetNetworkInterfacePermissionIds(v []*string) *DescribeNetworkInterfacePermissionsInput {
  33011. s.NetworkInterfacePermissionIds = v
  33012. return s
  33013. }
  33014. // SetNextToken sets the NextToken field's value.
  33015. func (s *DescribeNetworkInterfacePermissionsInput) SetNextToken(v string) *DescribeNetworkInterfacePermissionsInput {
  33016. s.NextToken = &v
  33017. return s
  33018. }
  33019. // Contains the output for DescribeNetworkInterfacePermissions.
  33020. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacePermissionsResult
  33021. type DescribeNetworkInterfacePermissionsOutput struct {
  33022. _ struct{} `type:"structure"`
  33023. // The network interface permissions.
  33024. NetworkInterfacePermissions []*NetworkInterfacePermission `locationName:"networkInterfacePermissions" locationNameList:"item" type:"list"`
  33025. // The token to use to retrieve the next page of results.
  33026. NextToken *string `locationName:"nextToken" type:"string"`
  33027. }
  33028. // String returns the string representation
  33029. func (s DescribeNetworkInterfacePermissionsOutput) String() string {
  33030. return awsutil.Prettify(s)
  33031. }
  33032. // GoString returns the string representation
  33033. func (s DescribeNetworkInterfacePermissionsOutput) GoString() string {
  33034. return s.String()
  33035. }
  33036. // SetNetworkInterfacePermissions sets the NetworkInterfacePermissions field's value.
  33037. func (s *DescribeNetworkInterfacePermissionsOutput) SetNetworkInterfacePermissions(v []*NetworkInterfacePermission) *DescribeNetworkInterfacePermissionsOutput {
  33038. s.NetworkInterfacePermissions = v
  33039. return s
  33040. }
  33041. // SetNextToken sets the NextToken field's value.
  33042. func (s *DescribeNetworkInterfacePermissionsOutput) SetNextToken(v string) *DescribeNetworkInterfacePermissionsOutput {
  33043. s.NextToken = &v
  33044. return s
  33045. }
  33046. // Contains the parameters for DescribeNetworkInterfaces.
  33047. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacesRequest
  33048. type DescribeNetworkInterfacesInput struct {
  33049. _ struct{} `type:"structure"`
  33050. // Checks whether you have the required permissions for the action, without
  33051. // actually making the request, and provides an error response. If you have
  33052. // the required permissions, the error response is DryRunOperation. Otherwise,
  33053. // it is UnauthorizedOperation.
  33054. DryRun *bool `locationName:"dryRun" type:"boolean"`
  33055. // One or more filters.
  33056. //
  33057. // * addresses.private-ip-address - The private IPv4 addresses associated
  33058. // with the network interface.
  33059. //
  33060. // * addresses.primary - Whether the private IPv4 address is the primary
  33061. // IP address associated with the network interface.
  33062. //
  33063. // * addresses.association.public-ip - The association ID returned when the
  33064. // network interface was associated with the Elastic IP address (IPv4).
  33065. //
  33066. // * addresses.association.owner-id - The owner ID of the addresses associated
  33067. // with the network interface.
  33068. //
  33069. // * association.association-id - The association ID returned when the network
  33070. // interface was associated with an IPv4 address.
  33071. //
  33072. // * association.allocation-id - The allocation ID returned when you allocated
  33073. // the Elastic IP address (IPv4) for your network interface.
  33074. //
  33075. // * association.ip-owner-id - The owner of the Elastic IP address (IPv4)
  33076. // associated with the network interface.
  33077. //
  33078. // * association.public-ip - The address of the Elastic IP address (IPv4)
  33079. // bound to the network interface.
  33080. //
  33081. // * association.public-dns-name - The public DNS name for the network interface
  33082. // (IPv4).
  33083. //
  33084. // * attachment.attachment-id - The ID of the interface attachment.
  33085. //
  33086. // * attachment.attach.time - The time that the network interface was attached
  33087. // to an instance.
  33088. //
  33089. // * attachment.delete-on-termination - Indicates whether the attachment
  33090. // is deleted when an instance is terminated.
  33091. //
  33092. // * attachment.device-index - The device index to which the network interface
  33093. // is attached.
  33094. //
  33095. // * attachment.instance-id - The ID of the instance to which the network
  33096. // interface is attached.
  33097. //
  33098. // * attachment.instance-owner-id - The owner ID of the instance to which
  33099. // the network interface is attached.
  33100. //
  33101. // * attachment.nat-gateway-id - The ID of the NAT gateway to which the network
  33102. // interface is attached.
  33103. //
  33104. // * attachment.status - The status of the attachment (attaching | attached
  33105. // | detaching | detached).
  33106. //
  33107. // * availability-zone - The Availability Zone of the network interface.
  33108. //
  33109. // * description - The description of the network interface.
  33110. //
  33111. // * group-id - The ID of a security group associated with the network interface.
  33112. //
  33113. // * group-name - The name of a security group associated with the network
  33114. // interface.
  33115. //
  33116. // * ipv6-addresses.ipv6-address - An IPv6 address associated with the network
  33117. // interface.
  33118. //
  33119. // * mac-address - The MAC address of the network interface.
  33120. //
  33121. // * network-interface-id - The ID of the network interface.
  33122. //
  33123. // * owner-id - The AWS account ID of the network interface owner.
  33124. //
  33125. // * private-ip-address - The private IPv4 address or addresses of the network
  33126. // interface.
  33127. //
  33128. // * private-dns-name - The private DNS name of the network interface (IPv4).
  33129. //
  33130. // * requester-id - The ID of the entity that launched the instance on your
  33131. // behalf (for example, AWS Management Console, Auto Scaling, and so on).
  33132. //
  33133. // * requester-managed - Indicates whether the network interface is being
  33134. // managed by an AWS service (for example, AWS Management Console, Auto Scaling,
  33135. // and so on).
  33136. //
  33137. // * source-desk-check - Indicates whether the network interface performs
  33138. // source/destination checking. A value of true means checking is enabled,
  33139. // and false means checking is disabled. The value must be false for the
  33140. // network interface to perform network address translation (NAT) in your
  33141. // VPC.
  33142. //
  33143. // * status - The status of the network interface. If the network interface
  33144. // is not attached to an instance, the status is available; if a network
  33145. // interface is attached to an instance the status is in-use.
  33146. //
  33147. // * subnet-id - The ID of the subnet for the network interface.
  33148. //
  33149. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  33150. // Specify the key of the tag in the filter name and the value of the tag
  33151. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  33152. // for the filter name and X for the filter value.
  33153. //
  33154. // * tag-key - The key of a tag assigned to the resource. This filter is
  33155. // independent of the tag-value filter. For example, if you use both the
  33156. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  33157. // assigned both the tag key Purpose (regardless of what the tag's value
  33158. // is), and the tag value X (regardless of what the tag's key is). If you
  33159. // want to list only resources where Purpose is X, see the tag:key=value
  33160. // filter.
  33161. //
  33162. // * tag-value - The value of a tag assigned to the resource. This filter
  33163. // is independent of the tag-key filter.
  33164. //
  33165. // * vpc-id - The ID of the VPC for the network interface.
  33166. Filters []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
  33167. // One or more network interface IDs.
  33168. //
  33169. // Default: Describes all your network interfaces.
  33170. NetworkInterfaceIds []*string `locationName:"NetworkInterfaceId" locationNameList:"item" type:"list"`
  33171. }
  33172. // String returns the string representation
  33173. func (s DescribeNetworkInterfacesInput) String() string {
  33174. return awsutil.Prettify(s)
  33175. }
  33176. // GoString returns the string representation
  33177. func (s DescribeNetworkInterfacesInput) GoString() string {
  33178. return s.String()
  33179. }
  33180. // SetDryRun sets the DryRun field's value.
  33181. func (s *DescribeNetworkInterfacesInput) SetDryRun(v bool) *DescribeNetworkInterfacesInput {
  33182. s.DryRun = &v
  33183. return s
  33184. }
  33185. // SetFilters sets the Filters field's value.
  33186. func (s *DescribeNetworkInterfacesInput) SetFilters(v []*Filter) *DescribeNetworkInterfacesInput {
  33187. s.Filters = v
  33188. return s
  33189. }
  33190. // SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
  33191. func (s *DescribeNetworkInterfacesInput) SetNetworkInterfaceIds(v []*string) *DescribeNetworkInterfacesInput {
  33192. s.NetworkInterfaceIds = v
  33193. return s
  33194. }
  33195. // Contains the output of DescribeNetworkInterfaces.
  33196. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacesResult
  33197. type DescribeNetworkInterfacesOutput struct {
  33198. _ struct{} `type:"structure"`
  33199. // Information about one or more network interfaces.
  33200. NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
  33201. }
  33202. // String returns the string representation
  33203. func (s DescribeNetworkInterfacesOutput) String() string {
  33204. return awsutil.Prettify(s)
  33205. }
  33206. // GoString returns the string representation
  33207. func (s DescribeNetworkInterfacesOutput) GoString() string {
  33208. return s.String()
  33209. }
  33210. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  33211. func (s *DescribeNetworkInterfacesOutput) SetNetworkInterfaces(v []*NetworkInterface) *DescribeNetworkInterfacesOutput {
  33212. s.NetworkInterfaces = v
  33213. return s
  33214. }
  33215. // Contains the parameters for DescribePlacementGroups.
  33216. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePlacementGroupsRequest
  33217. type DescribePlacementGroupsInput struct {
  33218. _ struct{} `type:"structure"`
  33219. // Checks whether you have the required permissions for the action, without
  33220. // actually making the request, and provides an error response. If you have
  33221. // the required permissions, the error response is DryRunOperation. Otherwise,
  33222. // it is UnauthorizedOperation.
  33223. DryRun *bool `locationName:"dryRun" type:"boolean"`
  33224. // One or more filters.
  33225. //
  33226. // * group-name - The name of the placement group.
  33227. //
  33228. // * state - The state of the placement group (pending | available | deleting
  33229. // | deleted).
  33230. //
  33231. // * strategy - The strategy of the placement group (cluster | spread).
  33232. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  33233. // One or more placement group names.
  33234. //
  33235. // Default: Describes all your placement groups, or only those otherwise specified.
  33236. GroupNames []*string `locationName:"groupName" type:"list"`
  33237. }
  33238. // String returns the string representation
  33239. func (s DescribePlacementGroupsInput) String() string {
  33240. return awsutil.Prettify(s)
  33241. }
  33242. // GoString returns the string representation
  33243. func (s DescribePlacementGroupsInput) GoString() string {
  33244. return s.String()
  33245. }
  33246. // SetDryRun sets the DryRun field's value.
  33247. func (s *DescribePlacementGroupsInput) SetDryRun(v bool) *DescribePlacementGroupsInput {
  33248. s.DryRun = &v
  33249. return s
  33250. }
  33251. // SetFilters sets the Filters field's value.
  33252. func (s *DescribePlacementGroupsInput) SetFilters(v []*Filter) *DescribePlacementGroupsInput {
  33253. s.Filters = v
  33254. return s
  33255. }
  33256. // SetGroupNames sets the GroupNames field's value.
  33257. func (s *DescribePlacementGroupsInput) SetGroupNames(v []*string) *DescribePlacementGroupsInput {
  33258. s.GroupNames = v
  33259. return s
  33260. }
  33261. // Contains the output of DescribePlacementGroups.
  33262. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePlacementGroupsResult
  33263. type DescribePlacementGroupsOutput struct {
  33264. _ struct{} `type:"structure"`
  33265. // One or more placement groups.
  33266. PlacementGroups []*PlacementGroup `locationName:"placementGroupSet" locationNameList:"item" type:"list"`
  33267. }
  33268. // String returns the string representation
  33269. func (s DescribePlacementGroupsOutput) String() string {
  33270. return awsutil.Prettify(s)
  33271. }
  33272. // GoString returns the string representation
  33273. func (s DescribePlacementGroupsOutput) GoString() string {
  33274. return s.String()
  33275. }
  33276. // SetPlacementGroups sets the PlacementGroups field's value.
  33277. func (s *DescribePlacementGroupsOutput) SetPlacementGroups(v []*PlacementGroup) *DescribePlacementGroupsOutput {
  33278. s.PlacementGroups = v
  33279. return s
  33280. }
  33281. // Contains the parameters for DescribePrefixLists.
  33282. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrefixListsRequest
  33283. type DescribePrefixListsInput struct {
  33284. _ struct{} `type:"structure"`
  33285. // Checks whether you have the required permissions for the action, without
  33286. // actually making the request, and provides an error response. If you have
  33287. // the required permissions, the error response is DryRunOperation. Otherwise,
  33288. // it is UnauthorizedOperation.
  33289. DryRun *bool `type:"boolean"`
  33290. // One or more filters.
  33291. //
  33292. // * prefix-list-id: The ID of a prefix list.
  33293. //
  33294. // * prefix-list-name: The name of a prefix list.
  33295. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  33296. // The maximum number of items to return for this request. The request returns
  33297. // a token that you can specify in a subsequent call to get the next set of
  33298. // results.
  33299. //
  33300. // Constraint: If the value specified is greater than 1000, we return only 1000
  33301. // items.
  33302. MaxResults *int64 `type:"integer"`
  33303. // The token for the next set of items to return. (You received this token from
  33304. // a prior call.)
  33305. NextToken *string `type:"string"`
  33306. // One or more prefix list IDs.
  33307. PrefixListIds []*string `locationName:"PrefixListId" locationNameList:"item" type:"list"`
  33308. }
  33309. // String returns the string representation
  33310. func (s DescribePrefixListsInput) String() string {
  33311. return awsutil.Prettify(s)
  33312. }
  33313. // GoString returns the string representation
  33314. func (s DescribePrefixListsInput) GoString() string {
  33315. return s.String()
  33316. }
  33317. // SetDryRun sets the DryRun field's value.
  33318. func (s *DescribePrefixListsInput) SetDryRun(v bool) *DescribePrefixListsInput {
  33319. s.DryRun = &v
  33320. return s
  33321. }
  33322. // SetFilters sets the Filters field's value.
  33323. func (s *DescribePrefixListsInput) SetFilters(v []*Filter) *DescribePrefixListsInput {
  33324. s.Filters = v
  33325. return s
  33326. }
  33327. // SetMaxResults sets the MaxResults field's value.
  33328. func (s *DescribePrefixListsInput) SetMaxResults(v int64) *DescribePrefixListsInput {
  33329. s.MaxResults = &v
  33330. return s
  33331. }
  33332. // SetNextToken sets the NextToken field's value.
  33333. func (s *DescribePrefixListsInput) SetNextToken(v string) *DescribePrefixListsInput {
  33334. s.NextToken = &v
  33335. return s
  33336. }
  33337. // SetPrefixListIds sets the PrefixListIds field's value.
  33338. func (s *DescribePrefixListsInput) SetPrefixListIds(v []*string) *DescribePrefixListsInput {
  33339. s.PrefixListIds = v
  33340. return s
  33341. }
  33342. // Contains the output of DescribePrefixLists.
  33343. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrefixListsResult
  33344. type DescribePrefixListsOutput struct {
  33345. _ struct{} `type:"structure"`
  33346. // The token to use when requesting the next set of items. If there are no additional
  33347. // items to return, the string is empty.
  33348. NextToken *string `locationName:"nextToken" type:"string"`
  33349. // All available prefix lists.
  33350. PrefixLists []*PrefixList `locationName:"prefixListSet" locationNameList:"item" type:"list"`
  33351. }
  33352. // String returns the string representation
  33353. func (s DescribePrefixListsOutput) String() string {
  33354. return awsutil.Prettify(s)
  33355. }
  33356. // GoString returns the string representation
  33357. func (s DescribePrefixListsOutput) GoString() string {
  33358. return s.String()
  33359. }
  33360. // SetNextToken sets the NextToken field's value.
  33361. func (s *DescribePrefixListsOutput) SetNextToken(v string) *DescribePrefixListsOutput {
  33362. s.NextToken = &v
  33363. return s
  33364. }
  33365. // SetPrefixLists sets the PrefixLists field's value.
  33366. func (s *DescribePrefixListsOutput) SetPrefixLists(v []*PrefixList) *DescribePrefixListsOutput {
  33367. s.PrefixLists = v
  33368. return s
  33369. }
  33370. // Contains the parameters for DescribeRegions.
  33371. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRegionsRequest
  33372. type DescribeRegionsInput struct {
  33373. _ struct{} `type:"structure"`
  33374. // Checks whether you have the required permissions for the action, without
  33375. // actually making the request, and provides an error response. If you have
  33376. // the required permissions, the error response is DryRunOperation. Otherwise,
  33377. // it is UnauthorizedOperation.
  33378. DryRun *bool `locationName:"dryRun" type:"boolean"`
  33379. // One or more filters.
  33380. //
  33381. // * endpoint - The endpoint of the region (for example, ec2.us-east-1.amazonaws.com).
  33382. //
  33383. // * region-name - The name of the region (for example, us-east-1).
  33384. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  33385. // The names of one or more regions.
  33386. RegionNames []*string `locationName:"RegionName" locationNameList:"RegionName" type:"list"`
  33387. }
  33388. // String returns the string representation
  33389. func (s DescribeRegionsInput) String() string {
  33390. return awsutil.Prettify(s)
  33391. }
  33392. // GoString returns the string representation
  33393. func (s DescribeRegionsInput) GoString() string {
  33394. return s.String()
  33395. }
  33396. // SetDryRun sets the DryRun field's value.
  33397. func (s *DescribeRegionsInput) SetDryRun(v bool) *DescribeRegionsInput {
  33398. s.DryRun = &v
  33399. return s
  33400. }
  33401. // SetFilters sets the Filters field's value.
  33402. func (s *DescribeRegionsInput) SetFilters(v []*Filter) *DescribeRegionsInput {
  33403. s.Filters = v
  33404. return s
  33405. }
  33406. // SetRegionNames sets the RegionNames field's value.
  33407. func (s *DescribeRegionsInput) SetRegionNames(v []*string) *DescribeRegionsInput {
  33408. s.RegionNames = v
  33409. return s
  33410. }
  33411. // Contains the output of DescribeRegions.
  33412. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRegionsResult
  33413. type DescribeRegionsOutput struct {
  33414. _ struct{} `type:"structure"`
  33415. // Information about one or more regions.
  33416. Regions []*Region `locationName:"regionInfo" locationNameList:"item" type:"list"`
  33417. }
  33418. // String returns the string representation
  33419. func (s DescribeRegionsOutput) String() string {
  33420. return awsutil.Prettify(s)
  33421. }
  33422. // GoString returns the string representation
  33423. func (s DescribeRegionsOutput) GoString() string {
  33424. return s.String()
  33425. }
  33426. // SetRegions sets the Regions field's value.
  33427. func (s *DescribeRegionsOutput) SetRegions(v []*Region) *DescribeRegionsOutput {
  33428. s.Regions = v
  33429. return s
  33430. }
  33431. // Contains the parameters for DescribeReservedInstances.
  33432. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesRequest
  33433. type DescribeReservedInstancesInput struct {
  33434. _ struct{} `type:"structure"`
  33435. // Checks whether you have the required permissions for the action, without
  33436. // actually making the request, and provides an error response. If you have
  33437. // the required permissions, the error response is DryRunOperation. Otherwise,
  33438. // it is UnauthorizedOperation.
  33439. DryRun *bool `locationName:"dryRun" type:"boolean"`
  33440. // One or more filters.
  33441. //
  33442. // * availability-zone - The Availability Zone where the Reserved Instance
  33443. // can be used.
  33444. //
  33445. // * duration - The duration of the Reserved Instance (one year or three
  33446. // years), in seconds (31536000 | 94608000).
  33447. //
  33448. // * end - The time when the Reserved Instance expires (for example, 2015-08-07T11:54:42.000Z).
  33449. //
  33450. // * fixed-price - The purchase price of the Reserved Instance (for example,
  33451. // 9800.0).
  33452. //
  33453. // * instance-type - The instance type that is covered by the reservation.
  33454. //
  33455. // * scope - The scope of the Reserved Instance (Region or Availability Zone).
  33456. //
  33457. // * product-description - The Reserved Instance product platform description.
  33458. // Instances that include (Amazon VPC) in the product platform description
  33459. // will only be displayed to EC2-Classic account holders and are for use
  33460. // with Amazon VPC (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux | SUSE
  33461. // Linux (Amazon VPC) | Red Hat Enterprise Linux | Red Hat Enterprise Linux
  33462. // (Amazon VPC) | Windows | Windows (Amazon VPC) | Windows with SQL Server
  33463. // Standard | Windows with SQL Server Standard (Amazon VPC) | Windows with
  33464. // SQL Server Web | Windows with SQL Server Web (Amazon VPC) | Windows with
  33465. // SQL Server Enterprise | Windows with SQL Server Enterprise (Amazon VPC)).
  33466. //
  33467. // * reserved-instances-id - The ID of the Reserved Instance.
  33468. //
  33469. // * start - The time at which the Reserved Instance purchase request was
  33470. // placed (for example, 2014-08-07T11:54:42.000Z).
  33471. //
  33472. // * state - The state of the Reserved Instance (payment-pending | active
  33473. // | payment-failed | retired).
  33474. //
  33475. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  33476. // Specify the key of the tag in the filter name and the value of the tag
  33477. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  33478. // for the filter name and X for the filter value.
  33479. //
  33480. // * tag-key - The key of a tag assigned to the resource. This filter is
  33481. // independent of the tag-value filter. For example, if you use both the
  33482. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  33483. // assigned both the tag key Purpose (regardless of what the tag's value
  33484. // is), and the tag value X (regardless of what the tag's key is). If you
  33485. // want to list only resources where Purpose is X, see the tag:key=value
  33486. // filter.
  33487. //
  33488. // * tag-value - The value of a tag assigned to the resource. This filter
  33489. // is independent of the tag-key filter.
  33490. //
  33491. // * usage-price - The usage price of the Reserved Instance, per hour (for
  33492. // example, 0.84).
  33493. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  33494. // Describes whether the Reserved Instance is Standard or Convertible.
  33495. OfferingClass *string `type:"string" enum:"OfferingClassType"`
  33496. // The Reserved Instance offering type. If you are using tools that predate
  33497. // the 2011-11-01 API version, you only have access to the Medium Utilization
  33498. // Reserved Instance offering type.
  33499. OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
  33500. // One or more Reserved Instance IDs.
  33501. //
  33502. // Default: Describes all your Reserved Instances, or only those otherwise specified.
  33503. ReservedInstancesIds []*string `locationName:"ReservedInstancesId" locationNameList:"ReservedInstancesId" type:"list"`
  33504. }
  33505. // String returns the string representation
  33506. func (s DescribeReservedInstancesInput) String() string {
  33507. return awsutil.Prettify(s)
  33508. }
  33509. // GoString returns the string representation
  33510. func (s DescribeReservedInstancesInput) GoString() string {
  33511. return s.String()
  33512. }
  33513. // SetDryRun sets the DryRun field's value.
  33514. func (s *DescribeReservedInstancesInput) SetDryRun(v bool) *DescribeReservedInstancesInput {
  33515. s.DryRun = &v
  33516. return s
  33517. }
  33518. // SetFilters sets the Filters field's value.
  33519. func (s *DescribeReservedInstancesInput) SetFilters(v []*Filter) *DescribeReservedInstancesInput {
  33520. s.Filters = v
  33521. return s
  33522. }
  33523. // SetOfferingClass sets the OfferingClass field's value.
  33524. func (s *DescribeReservedInstancesInput) SetOfferingClass(v string) *DescribeReservedInstancesInput {
  33525. s.OfferingClass = &v
  33526. return s
  33527. }
  33528. // SetOfferingType sets the OfferingType field's value.
  33529. func (s *DescribeReservedInstancesInput) SetOfferingType(v string) *DescribeReservedInstancesInput {
  33530. s.OfferingType = &v
  33531. return s
  33532. }
  33533. // SetReservedInstancesIds sets the ReservedInstancesIds field's value.
  33534. func (s *DescribeReservedInstancesInput) SetReservedInstancesIds(v []*string) *DescribeReservedInstancesInput {
  33535. s.ReservedInstancesIds = v
  33536. return s
  33537. }
  33538. // Contains the parameters for DescribeReservedInstancesListings.
  33539. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesListingsRequest
  33540. type DescribeReservedInstancesListingsInput struct {
  33541. _ struct{} `type:"structure"`
  33542. // One or more filters.
  33543. //
  33544. // * reserved-instances-id - The ID of the Reserved Instances.
  33545. //
  33546. // * reserved-instances-listing-id - The ID of the Reserved Instances listing.
  33547. //
  33548. // * status - The status of the Reserved Instance listing (pending | active
  33549. // | cancelled | closed).
  33550. //
  33551. // * status-message - The reason for the status.
  33552. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  33553. // One or more Reserved Instance IDs.
  33554. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  33555. // One or more Reserved Instance listing IDs.
  33556. ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string"`
  33557. }
  33558. // String returns the string representation
  33559. func (s DescribeReservedInstancesListingsInput) String() string {
  33560. return awsutil.Prettify(s)
  33561. }
  33562. // GoString returns the string representation
  33563. func (s DescribeReservedInstancesListingsInput) GoString() string {
  33564. return s.String()
  33565. }
  33566. // SetFilters sets the Filters field's value.
  33567. func (s *DescribeReservedInstancesListingsInput) SetFilters(v []*Filter) *DescribeReservedInstancesListingsInput {
  33568. s.Filters = v
  33569. return s
  33570. }
  33571. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  33572. func (s *DescribeReservedInstancesListingsInput) SetReservedInstancesId(v string) *DescribeReservedInstancesListingsInput {
  33573. s.ReservedInstancesId = &v
  33574. return s
  33575. }
  33576. // SetReservedInstancesListingId sets the ReservedInstancesListingId field's value.
  33577. func (s *DescribeReservedInstancesListingsInput) SetReservedInstancesListingId(v string) *DescribeReservedInstancesListingsInput {
  33578. s.ReservedInstancesListingId = &v
  33579. return s
  33580. }
  33581. // Contains the output of DescribeReservedInstancesListings.
  33582. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesListingsResult
  33583. type DescribeReservedInstancesListingsOutput struct {
  33584. _ struct{} `type:"structure"`
  33585. // Information about the Reserved Instance listing.
  33586. ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
  33587. }
  33588. // String returns the string representation
  33589. func (s DescribeReservedInstancesListingsOutput) String() string {
  33590. return awsutil.Prettify(s)
  33591. }
  33592. // GoString returns the string representation
  33593. func (s DescribeReservedInstancesListingsOutput) GoString() string {
  33594. return s.String()
  33595. }
  33596. // SetReservedInstancesListings sets the ReservedInstancesListings field's value.
  33597. func (s *DescribeReservedInstancesListingsOutput) SetReservedInstancesListings(v []*ReservedInstancesListing) *DescribeReservedInstancesListingsOutput {
  33598. s.ReservedInstancesListings = v
  33599. return s
  33600. }
  33601. // Contains the parameters for DescribeReservedInstancesModifications.
  33602. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesModificationsRequest
  33603. type DescribeReservedInstancesModificationsInput struct {
  33604. _ struct{} `type:"structure"`
  33605. // One or more filters.
  33606. //
  33607. // * client-token - The idempotency token for the modification request.
  33608. //
  33609. // * create-date - The time when the modification request was created.
  33610. //
  33611. // * effective-date - The time when the modification becomes effective.
  33612. //
  33613. // * modification-result.reserved-instances-id - The ID for the Reserved
  33614. // Instances created as part of the modification request. This ID is only
  33615. // available when the status of the modification is fulfilled.
  33616. //
  33617. // * modification-result.target-configuration.availability-zone - The Availability
  33618. // Zone for the new Reserved Instances.
  33619. //
  33620. // * modification-result.target-configuration.instance-count - The number
  33621. // of new Reserved Instances.
  33622. //
  33623. // * modification-result.target-configuration.instance-type - The instance
  33624. // type of the new Reserved Instances.
  33625. //
  33626. // * modification-result.target-configuration.platform - The network platform
  33627. // of the new Reserved Instances (EC2-Classic | EC2-VPC).
  33628. //
  33629. // * reserved-instances-id - The ID of the Reserved Instances modified.
  33630. //
  33631. // * reserved-instances-modification-id - The ID of the modification request.
  33632. //
  33633. // * status - The status of the Reserved Instances modification request (processing
  33634. // | fulfilled | failed).
  33635. //
  33636. // * status-message - The reason for the status.
  33637. //
  33638. // * update-date - The time when the modification request was last updated.
  33639. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  33640. // The token to retrieve the next page of results.
  33641. NextToken *string `locationName:"nextToken" type:"string"`
  33642. // IDs for the submitted modification request.
  33643. ReservedInstancesModificationIds []*string `locationName:"ReservedInstancesModificationId" locationNameList:"ReservedInstancesModificationId" type:"list"`
  33644. }
  33645. // String returns the string representation
  33646. func (s DescribeReservedInstancesModificationsInput) String() string {
  33647. return awsutil.Prettify(s)
  33648. }
  33649. // GoString returns the string representation
  33650. func (s DescribeReservedInstancesModificationsInput) GoString() string {
  33651. return s.String()
  33652. }
  33653. // SetFilters sets the Filters field's value.
  33654. func (s *DescribeReservedInstancesModificationsInput) SetFilters(v []*Filter) *DescribeReservedInstancesModificationsInput {
  33655. s.Filters = v
  33656. return s
  33657. }
  33658. // SetNextToken sets the NextToken field's value.
  33659. func (s *DescribeReservedInstancesModificationsInput) SetNextToken(v string) *DescribeReservedInstancesModificationsInput {
  33660. s.NextToken = &v
  33661. return s
  33662. }
  33663. // SetReservedInstancesModificationIds sets the ReservedInstancesModificationIds field's value.
  33664. func (s *DescribeReservedInstancesModificationsInput) SetReservedInstancesModificationIds(v []*string) *DescribeReservedInstancesModificationsInput {
  33665. s.ReservedInstancesModificationIds = v
  33666. return s
  33667. }
  33668. // Contains the output of DescribeReservedInstancesModifications.
  33669. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesModificationsResult
  33670. type DescribeReservedInstancesModificationsOutput struct {
  33671. _ struct{} `type:"structure"`
  33672. // The token to use to retrieve the next page of results. This value is null
  33673. // when there are no more results to return.
  33674. NextToken *string `locationName:"nextToken" type:"string"`
  33675. // The Reserved Instance modification information.
  33676. ReservedInstancesModifications []*ReservedInstancesModification `locationName:"reservedInstancesModificationsSet" locationNameList:"item" type:"list"`
  33677. }
  33678. // String returns the string representation
  33679. func (s DescribeReservedInstancesModificationsOutput) String() string {
  33680. return awsutil.Prettify(s)
  33681. }
  33682. // GoString returns the string representation
  33683. func (s DescribeReservedInstancesModificationsOutput) GoString() string {
  33684. return s.String()
  33685. }
  33686. // SetNextToken sets the NextToken field's value.
  33687. func (s *DescribeReservedInstancesModificationsOutput) SetNextToken(v string) *DescribeReservedInstancesModificationsOutput {
  33688. s.NextToken = &v
  33689. return s
  33690. }
  33691. // SetReservedInstancesModifications sets the ReservedInstancesModifications field's value.
  33692. func (s *DescribeReservedInstancesModificationsOutput) SetReservedInstancesModifications(v []*ReservedInstancesModification) *DescribeReservedInstancesModificationsOutput {
  33693. s.ReservedInstancesModifications = v
  33694. return s
  33695. }
  33696. // Contains the parameters for DescribeReservedInstancesOfferings.
  33697. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesOfferingsRequest
  33698. type DescribeReservedInstancesOfferingsInput struct {
  33699. _ struct{} `type:"structure"`
  33700. // The Availability Zone in which the Reserved Instance can be used.
  33701. AvailabilityZone *string `type:"string"`
  33702. // Checks whether you have the required permissions for the action, without
  33703. // actually making the request, and provides an error response. If you have
  33704. // the required permissions, the error response is DryRunOperation. Otherwise,
  33705. // it is UnauthorizedOperation.
  33706. DryRun *bool `locationName:"dryRun" type:"boolean"`
  33707. // One or more filters.
  33708. //
  33709. // * availability-zone - The Availability Zone where the Reserved Instance
  33710. // can be used.
  33711. //
  33712. // * duration - The duration of the Reserved Instance (for example, one year
  33713. // or three years), in seconds (31536000 | 94608000).
  33714. //
  33715. // * fixed-price - The purchase price of the Reserved Instance (for example,
  33716. // 9800.0).
  33717. //
  33718. // * instance-type - The instance type that is covered by the reservation.
  33719. //
  33720. // * marketplace - Set to true to show only Reserved Instance Marketplace
  33721. // offerings. When this filter is not used, which is the default behavior,
  33722. // all offerings from both AWS and the Reserved Instance Marketplace are
  33723. // listed.
  33724. //
  33725. // * product-description - The Reserved Instance product platform description.
  33726. // Instances that include (Amazon VPC) in the product platform description
  33727. // will only be displayed to EC2-Classic account holders and are for use
  33728. // with Amazon VPC. (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux |
  33729. // SUSE Linux (Amazon VPC) | Red Hat Enterprise Linux | Red Hat Enterprise
  33730. // Linux (Amazon VPC) | Windows | Windows (Amazon VPC) | Windows with SQL
  33731. // Server Standard | Windows with SQL Server Standard (Amazon VPC) | Windows
  33732. // with SQL Server Web | Windows with SQL Server Web (Amazon VPC) | Windows
  33733. // with SQL Server Enterprise | Windows with SQL Server Enterprise (Amazon
  33734. // VPC))
  33735. //
  33736. // * reserved-instances-offering-id - The Reserved Instances offering ID.
  33737. //
  33738. // * scope - The scope of the Reserved Instance (Availability Zone or Region).
  33739. //
  33740. // * usage-price - The usage price of the Reserved Instance, per hour (for
  33741. // example, 0.84).
  33742. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  33743. // Include Reserved Instance Marketplace offerings in the response.
  33744. IncludeMarketplace *bool `type:"boolean"`
  33745. // The tenancy of the instances covered by the reservation. A Reserved Instance
  33746. // with a tenancy of dedicated is applied to instances that run in a VPC on
  33747. // single-tenant hardware (i.e., Dedicated Instances).
  33748. //
  33749. // Important: The host value cannot be used with this parameter. Use the default
  33750. // or dedicated values only.
  33751. //
  33752. // Default: default
  33753. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  33754. // The instance type that the reservation will cover (for example, m1.small).
  33755. // For more information, see Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
  33756. // in the Amazon Elastic Compute Cloud User Guide.
  33757. InstanceType *string `type:"string" enum:"InstanceType"`
  33758. // The maximum duration (in seconds) to filter when searching for offerings.
  33759. //
  33760. // Default: 94608000 (3 years)
  33761. MaxDuration *int64 `type:"long"`
  33762. // The maximum number of instances to filter when searching for offerings.
  33763. //
  33764. // Default: 20
  33765. MaxInstanceCount *int64 `type:"integer"`
  33766. // The maximum number of results to return for the request in a single page.
  33767. // The remaining results of the initial request can be seen by sending another
  33768. // request with the returned NextToken value. The maximum is 100.
  33769. //
  33770. // Default: 100
  33771. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  33772. // The minimum duration (in seconds) to filter when searching for offerings.
  33773. //
  33774. // Default: 2592000 (1 month)
  33775. MinDuration *int64 `type:"long"`
  33776. // The token to retrieve the next page of results.
  33777. NextToken *string `locationName:"nextToken" type:"string"`
  33778. // The offering class of the Reserved Instance. Can be standard or convertible.
  33779. OfferingClass *string `type:"string" enum:"OfferingClassType"`
  33780. // The Reserved Instance offering type. If you are using tools that predate
  33781. // the 2011-11-01 API version, you only have access to the Medium Utilization
  33782. // Reserved Instance offering type.
  33783. OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
  33784. // The Reserved Instance product platform description. Instances that include
  33785. // (Amazon VPC) in the description are for use with Amazon VPC.
  33786. ProductDescription *string `type:"string" enum:"RIProductDescription"`
  33787. // One or more Reserved Instances offering IDs.
  33788. ReservedInstancesOfferingIds []*string `locationName:"ReservedInstancesOfferingId" type:"list"`
  33789. }
  33790. // String returns the string representation
  33791. func (s DescribeReservedInstancesOfferingsInput) String() string {
  33792. return awsutil.Prettify(s)
  33793. }
  33794. // GoString returns the string representation
  33795. func (s DescribeReservedInstancesOfferingsInput) GoString() string {
  33796. return s.String()
  33797. }
  33798. // SetAvailabilityZone sets the AvailabilityZone field's value.
  33799. func (s *DescribeReservedInstancesOfferingsInput) SetAvailabilityZone(v string) *DescribeReservedInstancesOfferingsInput {
  33800. s.AvailabilityZone = &v
  33801. return s
  33802. }
  33803. // SetDryRun sets the DryRun field's value.
  33804. func (s *DescribeReservedInstancesOfferingsInput) SetDryRun(v bool) *DescribeReservedInstancesOfferingsInput {
  33805. s.DryRun = &v
  33806. return s
  33807. }
  33808. // SetFilters sets the Filters field's value.
  33809. func (s *DescribeReservedInstancesOfferingsInput) SetFilters(v []*Filter) *DescribeReservedInstancesOfferingsInput {
  33810. s.Filters = v
  33811. return s
  33812. }
  33813. // SetIncludeMarketplace sets the IncludeMarketplace field's value.
  33814. func (s *DescribeReservedInstancesOfferingsInput) SetIncludeMarketplace(v bool) *DescribeReservedInstancesOfferingsInput {
  33815. s.IncludeMarketplace = &v
  33816. return s
  33817. }
  33818. // SetInstanceTenancy sets the InstanceTenancy field's value.
  33819. func (s *DescribeReservedInstancesOfferingsInput) SetInstanceTenancy(v string) *DescribeReservedInstancesOfferingsInput {
  33820. s.InstanceTenancy = &v
  33821. return s
  33822. }
  33823. // SetInstanceType sets the InstanceType field's value.
  33824. func (s *DescribeReservedInstancesOfferingsInput) SetInstanceType(v string) *DescribeReservedInstancesOfferingsInput {
  33825. s.InstanceType = &v
  33826. return s
  33827. }
  33828. // SetMaxDuration sets the MaxDuration field's value.
  33829. func (s *DescribeReservedInstancesOfferingsInput) SetMaxDuration(v int64) *DescribeReservedInstancesOfferingsInput {
  33830. s.MaxDuration = &v
  33831. return s
  33832. }
  33833. // SetMaxInstanceCount sets the MaxInstanceCount field's value.
  33834. func (s *DescribeReservedInstancesOfferingsInput) SetMaxInstanceCount(v int64) *DescribeReservedInstancesOfferingsInput {
  33835. s.MaxInstanceCount = &v
  33836. return s
  33837. }
  33838. // SetMaxResults sets the MaxResults field's value.
  33839. func (s *DescribeReservedInstancesOfferingsInput) SetMaxResults(v int64) *DescribeReservedInstancesOfferingsInput {
  33840. s.MaxResults = &v
  33841. return s
  33842. }
  33843. // SetMinDuration sets the MinDuration field's value.
  33844. func (s *DescribeReservedInstancesOfferingsInput) SetMinDuration(v int64) *DescribeReservedInstancesOfferingsInput {
  33845. s.MinDuration = &v
  33846. return s
  33847. }
  33848. // SetNextToken sets the NextToken field's value.
  33849. func (s *DescribeReservedInstancesOfferingsInput) SetNextToken(v string) *DescribeReservedInstancesOfferingsInput {
  33850. s.NextToken = &v
  33851. return s
  33852. }
  33853. // SetOfferingClass sets the OfferingClass field's value.
  33854. func (s *DescribeReservedInstancesOfferingsInput) SetOfferingClass(v string) *DescribeReservedInstancesOfferingsInput {
  33855. s.OfferingClass = &v
  33856. return s
  33857. }
  33858. // SetOfferingType sets the OfferingType field's value.
  33859. func (s *DescribeReservedInstancesOfferingsInput) SetOfferingType(v string) *DescribeReservedInstancesOfferingsInput {
  33860. s.OfferingType = &v
  33861. return s
  33862. }
  33863. // SetProductDescription sets the ProductDescription field's value.
  33864. func (s *DescribeReservedInstancesOfferingsInput) SetProductDescription(v string) *DescribeReservedInstancesOfferingsInput {
  33865. s.ProductDescription = &v
  33866. return s
  33867. }
  33868. // SetReservedInstancesOfferingIds sets the ReservedInstancesOfferingIds field's value.
  33869. func (s *DescribeReservedInstancesOfferingsInput) SetReservedInstancesOfferingIds(v []*string) *DescribeReservedInstancesOfferingsInput {
  33870. s.ReservedInstancesOfferingIds = v
  33871. return s
  33872. }
  33873. // Contains the output of DescribeReservedInstancesOfferings.
  33874. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesOfferingsResult
  33875. type DescribeReservedInstancesOfferingsOutput struct {
  33876. _ struct{} `type:"structure"`
  33877. // The token to use to retrieve the next page of results. This value is null
  33878. // when there are no more results to return.
  33879. NextToken *string `locationName:"nextToken" type:"string"`
  33880. // A list of Reserved Instances offerings.
  33881. ReservedInstancesOfferings []*ReservedInstancesOffering `locationName:"reservedInstancesOfferingsSet" locationNameList:"item" type:"list"`
  33882. }
  33883. // String returns the string representation
  33884. func (s DescribeReservedInstancesOfferingsOutput) String() string {
  33885. return awsutil.Prettify(s)
  33886. }
  33887. // GoString returns the string representation
  33888. func (s DescribeReservedInstancesOfferingsOutput) GoString() string {
  33889. return s.String()
  33890. }
  33891. // SetNextToken sets the NextToken field's value.
  33892. func (s *DescribeReservedInstancesOfferingsOutput) SetNextToken(v string) *DescribeReservedInstancesOfferingsOutput {
  33893. s.NextToken = &v
  33894. return s
  33895. }
  33896. // SetReservedInstancesOfferings sets the ReservedInstancesOfferings field's value.
  33897. func (s *DescribeReservedInstancesOfferingsOutput) SetReservedInstancesOfferings(v []*ReservedInstancesOffering) *DescribeReservedInstancesOfferingsOutput {
  33898. s.ReservedInstancesOfferings = v
  33899. return s
  33900. }
  33901. // Contains the output for DescribeReservedInstances.
  33902. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesResult
  33903. type DescribeReservedInstancesOutput struct {
  33904. _ struct{} `type:"structure"`
  33905. // A list of Reserved Instances.
  33906. ReservedInstances []*ReservedInstances `locationName:"reservedInstancesSet" locationNameList:"item" type:"list"`
  33907. }
  33908. // String returns the string representation
  33909. func (s DescribeReservedInstancesOutput) String() string {
  33910. return awsutil.Prettify(s)
  33911. }
  33912. // GoString returns the string representation
  33913. func (s DescribeReservedInstancesOutput) GoString() string {
  33914. return s.String()
  33915. }
  33916. // SetReservedInstances sets the ReservedInstances field's value.
  33917. func (s *DescribeReservedInstancesOutput) SetReservedInstances(v []*ReservedInstances) *DescribeReservedInstancesOutput {
  33918. s.ReservedInstances = v
  33919. return s
  33920. }
  33921. // Contains the parameters for DescribeRouteTables.
  33922. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRouteTablesRequest
  33923. type DescribeRouteTablesInput struct {
  33924. _ struct{} `type:"structure"`
  33925. // Checks whether you have the required permissions for the action, without
  33926. // actually making the request, and provides an error response. If you have
  33927. // the required permissions, the error response is DryRunOperation. Otherwise,
  33928. // it is UnauthorizedOperation.
  33929. DryRun *bool `locationName:"dryRun" type:"boolean"`
  33930. // One or more filters.
  33931. //
  33932. // * association.route-table-association-id - The ID of an association ID
  33933. // for the route table.
  33934. //
  33935. // * association.route-table-id - The ID of the route table involved in the
  33936. // association.
  33937. //
  33938. // * association.subnet-id - The ID of the subnet involved in the association.
  33939. //
  33940. // * association.main - Indicates whether the route table is the main route
  33941. // table for the VPC (true | false). Route tables that do not have an association
  33942. // ID are not returned in the response.
  33943. //
  33944. // * route-table-id - The ID of the route table.
  33945. //
  33946. // * route.destination-cidr-block - The IPv4 CIDR range specified in a route
  33947. // in the table.
  33948. //
  33949. // * route.destination-ipv6-cidr-block - The IPv6 CIDR range specified in
  33950. // a route in the route table.
  33951. //
  33952. // * route.destination-prefix-list-id - The ID (prefix) of the AWS service
  33953. // specified in a route in the table.
  33954. //
  33955. // * route.egress-only-internet-gateway-id - The ID of an egress-only Internet
  33956. // gateway specified in a route in the route table.
  33957. //
  33958. // * route.gateway-id - The ID of a gateway specified in a route in the table.
  33959. //
  33960. // * route.instance-id - The ID of an instance specified in a route in the
  33961. // table.
  33962. //
  33963. // * route.nat-gateway-id - The ID of a NAT gateway.
  33964. //
  33965. // * route.origin - Describes how the route was created. CreateRouteTable
  33966. // indicates that the route was automatically created when the route table
  33967. // was created; CreateRoute indicates that the route was manually added to
  33968. // the route table; EnableVgwRoutePropagation indicates that the route was
  33969. // propagated by route propagation.
  33970. //
  33971. // * route.state - The state of a route in the route table (active | blackhole).
  33972. // The blackhole state indicates that the route's target isn't available
  33973. // (for example, the specified gateway isn't attached to the VPC, the specified
  33974. // NAT instance has been terminated, and so on).
  33975. //
  33976. // * route.vpc-peering-connection-id - The ID of a VPC peering connection
  33977. // specified in a route in the table.
  33978. //
  33979. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  33980. // Specify the key of the tag in the filter name and the value of the tag
  33981. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  33982. // for the filter name and X for the filter value.
  33983. //
  33984. // * tag-key - The key of a tag assigned to the resource. This filter is
  33985. // independent of the tag-value filter. For example, if you use both the
  33986. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  33987. // assigned both the tag key Purpose (regardless of what the tag's value
  33988. // is), and the tag value X (regardless of what the tag's key is). If you
  33989. // want to list only resources where Purpose is X, see the tag:key=value
  33990. // filter.
  33991. //
  33992. // * tag-value - The value of a tag assigned to the resource. This filter
  33993. // is independent of the tag-key filter.
  33994. //
  33995. // * vpc-id - The ID of the VPC for the route table.
  33996. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  33997. // One or more route table IDs.
  33998. //
  33999. // Default: Describes all your route tables.
  34000. RouteTableIds []*string `locationName:"RouteTableId" locationNameList:"item" type:"list"`
  34001. }
  34002. // String returns the string representation
  34003. func (s DescribeRouteTablesInput) String() string {
  34004. return awsutil.Prettify(s)
  34005. }
  34006. // GoString returns the string representation
  34007. func (s DescribeRouteTablesInput) GoString() string {
  34008. return s.String()
  34009. }
  34010. // SetDryRun sets the DryRun field's value.
  34011. func (s *DescribeRouteTablesInput) SetDryRun(v bool) *DescribeRouteTablesInput {
  34012. s.DryRun = &v
  34013. return s
  34014. }
  34015. // SetFilters sets the Filters field's value.
  34016. func (s *DescribeRouteTablesInput) SetFilters(v []*Filter) *DescribeRouteTablesInput {
  34017. s.Filters = v
  34018. return s
  34019. }
  34020. // SetRouteTableIds sets the RouteTableIds field's value.
  34021. func (s *DescribeRouteTablesInput) SetRouteTableIds(v []*string) *DescribeRouteTablesInput {
  34022. s.RouteTableIds = v
  34023. return s
  34024. }
  34025. // Contains the output of DescribeRouteTables.
  34026. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRouteTablesResult
  34027. type DescribeRouteTablesOutput struct {
  34028. _ struct{} `type:"structure"`
  34029. // Information about one or more route tables.
  34030. RouteTables []*RouteTable `locationName:"routeTableSet" locationNameList:"item" type:"list"`
  34031. }
  34032. // String returns the string representation
  34033. func (s DescribeRouteTablesOutput) String() string {
  34034. return awsutil.Prettify(s)
  34035. }
  34036. // GoString returns the string representation
  34037. func (s DescribeRouteTablesOutput) GoString() string {
  34038. return s.String()
  34039. }
  34040. // SetRouteTables sets the RouteTables field's value.
  34041. func (s *DescribeRouteTablesOutput) SetRouteTables(v []*RouteTable) *DescribeRouteTablesOutput {
  34042. s.RouteTables = v
  34043. return s
  34044. }
  34045. // Contains the parameters for DescribeScheduledInstanceAvailability.
  34046. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstanceAvailabilityRequest
  34047. type DescribeScheduledInstanceAvailabilityInput struct {
  34048. _ struct{} `type:"structure"`
  34049. // Checks whether you have the required permissions for the action, without
  34050. // actually making the request, and provides an error response. If you have
  34051. // the required permissions, the error response is DryRunOperation. Otherwise,
  34052. // it is UnauthorizedOperation.
  34053. DryRun *bool `type:"boolean"`
  34054. // One or more filters.
  34055. //
  34056. // * availability-zone - The Availability Zone (for example, us-west-2a).
  34057. //
  34058. // * instance-type - The instance type (for example, c4.large).
  34059. //
  34060. // * network-platform - The network platform (EC2-Classic or EC2-VPC).
  34061. //
  34062. // * platform - The platform (Linux/UNIX or Windows).
  34063. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  34064. // The time period for the first schedule to start.
  34065. //
  34066. // FirstSlotStartTimeRange is a required field
  34067. FirstSlotStartTimeRange *SlotDateTimeRangeRequest `type:"structure" required:"true"`
  34068. // The maximum number of results to return in a single call. This value can
  34069. // be between 5 and 300. The default value is 300. To retrieve the remaining
  34070. // results, make another call with the returned NextToken value.
  34071. MaxResults *int64 `type:"integer"`
  34072. // The maximum available duration, in hours. This value must be greater than
  34073. // MinSlotDurationInHours and less than 1,720.
  34074. MaxSlotDurationInHours *int64 `type:"integer"`
  34075. // The minimum available duration, in hours. The minimum required duration is
  34076. // 1,200 hours per year. For example, the minimum daily schedule is 4 hours,
  34077. // the minimum weekly schedule is 24 hours, and the minimum monthly schedule
  34078. // is 100 hours.
  34079. MinSlotDurationInHours *int64 `type:"integer"`
  34080. // The token for the next set of results.
  34081. NextToken *string `type:"string"`
  34082. // The schedule recurrence.
  34083. //
  34084. // Recurrence is a required field
  34085. Recurrence *ScheduledInstanceRecurrenceRequest `type:"structure" required:"true"`
  34086. }
  34087. // String returns the string representation
  34088. func (s DescribeScheduledInstanceAvailabilityInput) String() string {
  34089. return awsutil.Prettify(s)
  34090. }
  34091. // GoString returns the string representation
  34092. func (s DescribeScheduledInstanceAvailabilityInput) GoString() string {
  34093. return s.String()
  34094. }
  34095. // Validate inspects the fields of the type to determine if they are valid.
  34096. func (s *DescribeScheduledInstanceAvailabilityInput) Validate() error {
  34097. invalidParams := request.ErrInvalidParams{Context: "DescribeScheduledInstanceAvailabilityInput"}
  34098. if s.FirstSlotStartTimeRange == nil {
  34099. invalidParams.Add(request.NewErrParamRequired("FirstSlotStartTimeRange"))
  34100. }
  34101. if s.Recurrence == nil {
  34102. invalidParams.Add(request.NewErrParamRequired("Recurrence"))
  34103. }
  34104. if s.FirstSlotStartTimeRange != nil {
  34105. if err := s.FirstSlotStartTimeRange.Validate(); err != nil {
  34106. invalidParams.AddNested("FirstSlotStartTimeRange", err.(request.ErrInvalidParams))
  34107. }
  34108. }
  34109. if invalidParams.Len() > 0 {
  34110. return invalidParams
  34111. }
  34112. return nil
  34113. }
  34114. // SetDryRun sets the DryRun field's value.
  34115. func (s *DescribeScheduledInstanceAvailabilityInput) SetDryRun(v bool) *DescribeScheduledInstanceAvailabilityInput {
  34116. s.DryRun = &v
  34117. return s
  34118. }
  34119. // SetFilters sets the Filters field's value.
  34120. func (s *DescribeScheduledInstanceAvailabilityInput) SetFilters(v []*Filter) *DescribeScheduledInstanceAvailabilityInput {
  34121. s.Filters = v
  34122. return s
  34123. }
  34124. // SetFirstSlotStartTimeRange sets the FirstSlotStartTimeRange field's value.
  34125. func (s *DescribeScheduledInstanceAvailabilityInput) SetFirstSlotStartTimeRange(v *SlotDateTimeRangeRequest) *DescribeScheduledInstanceAvailabilityInput {
  34126. s.FirstSlotStartTimeRange = v
  34127. return s
  34128. }
  34129. // SetMaxResults sets the MaxResults field's value.
  34130. func (s *DescribeScheduledInstanceAvailabilityInput) SetMaxResults(v int64) *DescribeScheduledInstanceAvailabilityInput {
  34131. s.MaxResults = &v
  34132. return s
  34133. }
  34134. // SetMaxSlotDurationInHours sets the MaxSlotDurationInHours field's value.
  34135. func (s *DescribeScheduledInstanceAvailabilityInput) SetMaxSlotDurationInHours(v int64) *DescribeScheduledInstanceAvailabilityInput {
  34136. s.MaxSlotDurationInHours = &v
  34137. return s
  34138. }
  34139. // SetMinSlotDurationInHours sets the MinSlotDurationInHours field's value.
  34140. func (s *DescribeScheduledInstanceAvailabilityInput) SetMinSlotDurationInHours(v int64) *DescribeScheduledInstanceAvailabilityInput {
  34141. s.MinSlotDurationInHours = &v
  34142. return s
  34143. }
  34144. // SetNextToken sets the NextToken field's value.
  34145. func (s *DescribeScheduledInstanceAvailabilityInput) SetNextToken(v string) *DescribeScheduledInstanceAvailabilityInput {
  34146. s.NextToken = &v
  34147. return s
  34148. }
  34149. // SetRecurrence sets the Recurrence field's value.
  34150. func (s *DescribeScheduledInstanceAvailabilityInput) SetRecurrence(v *ScheduledInstanceRecurrenceRequest) *DescribeScheduledInstanceAvailabilityInput {
  34151. s.Recurrence = v
  34152. return s
  34153. }
  34154. // Contains the output of DescribeScheduledInstanceAvailability.
  34155. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstanceAvailabilityResult
  34156. type DescribeScheduledInstanceAvailabilityOutput struct {
  34157. _ struct{} `type:"structure"`
  34158. // The token required to retrieve the next set of results. This value is null
  34159. // when there are no more results to return.
  34160. NextToken *string `locationName:"nextToken" type:"string"`
  34161. // Information about the available Scheduled Instances.
  34162. ScheduledInstanceAvailabilitySet []*ScheduledInstanceAvailability `locationName:"scheduledInstanceAvailabilitySet" locationNameList:"item" type:"list"`
  34163. }
  34164. // String returns the string representation
  34165. func (s DescribeScheduledInstanceAvailabilityOutput) String() string {
  34166. return awsutil.Prettify(s)
  34167. }
  34168. // GoString returns the string representation
  34169. func (s DescribeScheduledInstanceAvailabilityOutput) GoString() string {
  34170. return s.String()
  34171. }
  34172. // SetNextToken sets the NextToken field's value.
  34173. func (s *DescribeScheduledInstanceAvailabilityOutput) SetNextToken(v string) *DescribeScheduledInstanceAvailabilityOutput {
  34174. s.NextToken = &v
  34175. return s
  34176. }
  34177. // SetScheduledInstanceAvailabilitySet sets the ScheduledInstanceAvailabilitySet field's value.
  34178. func (s *DescribeScheduledInstanceAvailabilityOutput) SetScheduledInstanceAvailabilitySet(v []*ScheduledInstanceAvailability) *DescribeScheduledInstanceAvailabilityOutput {
  34179. s.ScheduledInstanceAvailabilitySet = v
  34180. return s
  34181. }
  34182. // Contains the parameters for DescribeScheduledInstances.
  34183. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstancesRequest
  34184. type DescribeScheduledInstancesInput struct {
  34185. _ struct{} `type:"structure"`
  34186. // Checks whether you have the required permissions for the action, without
  34187. // actually making the request, and provides an error response. If you have
  34188. // the required permissions, the error response is DryRunOperation. Otherwise,
  34189. // it is UnauthorizedOperation.
  34190. DryRun *bool `type:"boolean"`
  34191. // One or more filters.
  34192. //
  34193. // * availability-zone - The Availability Zone (for example, us-west-2a).
  34194. //
  34195. // * instance-type - The instance type (for example, c4.large).
  34196. //
  34197. // * network-platform - The network platform (EC2-Classic or EC2-VPC).
  34198. //
  34199. // * platform - The platform (Linux/UNIX or Windows).
  34200. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  34201. // The maximum number of results to return in a single call. This value can
  34202. // be between 5 and 300. The default value is 100. To retrieve the remaining
  34203. // results, make another call with the returned NextToken value.
  34204. MaxResults *int64 `type:"integer"`
  34205. // The token for the next set of results.
  34206. NextToken *string `type:"string"`
  34207. // One or more Scheduled Instance IDs.
  34208. ScheduledInstanceIds []*string `locationName:"ScheduledInstanceId" locationNameList:"ScheduledInstanceId" type:"list"`
  34209. // The time period for the first schedule to start.
  34210. SlotStartTimeRange *SlotStartTimeRangeRequest `type:"structure"`
  34211. }
  34212. // String returns the string representation
  34213. func (s DescribeScheduledInstancesInput) String() string {
  34214. return awsutil.Prettify(s)
  34215. }
  34216. // GoString returns the string representation
  34217. func (s DescribeScheduledInstancesInput) GoString() string {
  34218. return s.String()
  34219. }
  34220. // SetDryRun sets the DryRun field's value.
  34221. func (s *DescribeScheduledInstancesInput) SetDryRun(v bool) *DescribeScheduledInstancesInput {
  34222. s.DryRun = &v
  34223. return s
  34224. }
  34225. // SetFilters sets the Filters field's value.
  34226. func (s *DescribeScheduledInstancesInput) SetFilters(v []*Filter) *DescribeScheduledInstancesInput {
  34227. s.Filters = v
  34228. return s
  34229. }
  34230. // SetMaxResults sets the MaxResults field's value.
  34231. func (s *DescribeScheduledInstancesInput) SetMaxResults(v int64) *DescribeScheduledInstancesInput {
  34232. s.MaxResults = &v
  34233. return s
  34234. }
  34235. // SetNextToken sets the NextToken field's value.
  34236. func (s *DescribeScheduledInstancesInput) SetNextToken(v string) *DescribeScheduledInstancesInput {
  34237. s.NextToken = &v
  34238. return s
  34239. }
  34240. // SetScheduledInstanceIds sets the ScheduledInstanceIds field's value.
  34241. func (s *DescribeScheduledInstancesInput) SetScheduledInstanceIds(v []*string) *DescribeScheduledInstancesInput {
  34242. s.ScheduledInstanceIds = v
  34243. return s
  34244. }
  34245. // SetSlotStartTimeRange sets the SlotStartTimeRange field's value.
  34246. func (s *DescribeScheduledInstancesInput) SetSlotStartTimeRange(v *SlotStartTimeRangeRequest) *DescribeScheduledInstancesInput {
  34247. s.SlotStartTimeRange = v
  34248. return s
  34249. }
  34250. // Contains the output of DescribeScheduledInstances.
  34251. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstancesResult
  34252. type DescribeScheduledInstancesOutput struct {
  34253. _ struct{} `type:"structure"`
  34254. // The token required to retrieve the next set of results. This value is null
  34255. // when there are no more results to return.
  34256. NextToken *string `locationName:"nextToken" type:"string"`
  34257. // Information about the Scheduled Instances.
  34258. ScheduledInstanceSet []*ScheduledInstance `locationName:"scheduledInstanceSet" locationNameList:"item" type:"list"`
  34259. }
  34260. // String returns the string representation
  34261. func (s DescribeScheduledInstancesOutput) String() string {
  34262. return awsutil.Prettify(s)
  34263. }
  34264. // GoString returns the string representation
  34265. func (s DescribeScheduledInstancesOutput) GoString() string {
  34266. return s.String()
  34267. }
  34268. // SetNextToken sets the NextToken field's value.
  34269. func (s *DescribeScheduledInstancesOutput) SetNextToken(v string) *DescribeScheduledInstancesOutput {
  34270. s.NextToken = &v
  34271. return s
  34272. }
  34273. // SetScheduledInstanceSet sets the ScheduledInstanceSet field's value.
  34274. func (s *DescribeScheduledInstancesOutput) SetScheduledInstanceSet(v []*ScheduledInstance) *DescribeScheduledInstancesOutput {
  34275. s.ScheduledInstanceSet = v
  34276. return s
  34277. }
  34278. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupReferencesRequest
  34279. type DescribeSecurityGroupReferencesInput struct {
  34280. _ struct{} `type:"structure"`
  34281. // Checks whether you have the required permissions for the operation, without
  34282. // actually making the request, and provides an error response. If you have
  34283. // the required permissions, the error response is DryRunOperation. Otherwise,
  34284. // it is UnauthorizedOperation.
  34285. DryRun *bool `type:"boolean"`
  34286. // One or more security group IDs in your account.
  34287. //
  34288. // GroupId is a required field
  34289. GroupId []*string `locationNameList:"item" type:"list" required:"true"`
  34290. }
  34291. // String returns the string representation
  34292. func (s DescribeSecurityGroupReferencesInput) String() string {
  34293. return awsutil.Prettify(s)
  34294. }
  34295. // GoString returns the string representation
  34296. func (s DescribeSecurityGroupReferencesInput) GoString() string {
  34297. return s.String()
  34298. }
  34299. // Validate inspects the fields of the type to determine if they are valid.
  34300. func (s *DescribeSecurityGroupReferencesInput) Validate() error {
  34301. invalidParams := request.ErrInvalidParams{Context: "DescribeSecurityGroupReferencesInput"}
  34302. if s.GroupId == nil {
  34303. invalidParams.Add(request.NewErrParamRequired("GroupId"))
  34304. }
  34305. if invalidParams.Len() > 0 {
  34306. return invalidParams
  34307. }
  34308. return nil
  34309. }
  34310. // SetDryRun sets the DryRun field's value.
  34311. func (s *DescribeSecurityGroupReferencesInput) SetDryRun(v bool) *DescribeSecurityGroupReferencesInput {
  34312. s.DryRun = &v
  34313. return s
  34314. }
  34315. // SetGroupId sets the GroupId field's value.
  34316. func (s *DescribeSecurityGroupReferencesInput) SetGroupId(v []*string) *DescribeSecurityGroupReferencesInput {
  34317. s.GroupId = v
  34318. return s
  34319. }
  34320. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupReferencesResult
  34321. type DescribeSecurityGroupReferencesOutput struct {
  34322. _ struct{} `type:"structure"`
  34323. // Information about the VPCs with the referencing security groups.
  34324. SecurityGroupReferenceSet []*SecurityGroupReference `locationName:"securityGroupReferenceSet" locationNameList:"item" type:"list"`
  34325. }
  34326. // String returns the string representation
  34327. func (s DescribeSecurityGroupReferencesOutput) String() string {
  34328. return awsutil.Prettify(s)
  34329. }
  34330. // GoString returns the string representation
  34331. func (s DescribeSecurityGroupReferencesOutput) GoString() string {
  34332. return s.String()
  34333. }
  34334. // SetSecurityGroupReferenceSet sets the SecurityGroupReferenceSet field's value.
  34335. func (s *DescribeSecurityGroupReferencesOutput) SetSecurityGroupReferenceSet(v []*SecurityGroupReference) *DescribeSecurityGroupReferencesOutput {
  34336. s.SecurityGroupReferenceSet = v
  34337. return s
  34338. }
  34339. // Contains the parameters for DescribeSecurityGroups.
  34340. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupsRequest
  34341. type DescribeSecurityGroupsInput struct {
  34342. _ struct{} `type:"structure"`
  34343. // Checks whether you have the required permissions for the action, without
  34344. // actually making the request, and provides an error response. If you have
  34345. // the required permissions, the error response is DryRunOperation. Otherwise,
  34346. // it is UnauthorizedOperation.
  34347. DryRun *bool `locationName:"dryRun" type:"boolean"`
  34348. // One or more filters. If using multiple filters for rules, the results include
  34349. // security groups for which any combination of rules - not necessarily a single
  34350. // rule - match all filters.
  34351. //
  34352. // * description - The description of the security group.
  34353. //
  34354. // * egress.ip-permission.cidr - An IPv4 CIDR block for an outbound security
  34355. // group rule.
  34356. //
  34357. // * egress.ip-permission.from-port - For an outbound rule, the start of
  34358. // port range for the TCP and UDP protocols, or an ICMP type number.
  34359. //
  34360. // * egress.ip-permission.group-id - The ID of a security group that has
  34361. // been referenced in an outbound security group rule.
  34362. //
  34363. // * egress.ip-permission.group-name - The name of a security group that
  34364. // has been referenced in an outbound security group rule.
  34365. //
  34366. // * egress.ip-permission.ipv6-cidr - An IPv6 CIDR block for an outbound
  34367. // security group rule.
  34368. //
  34369. // * egress.ip-permission.prefix-list-id - The ID (prefix) of the AWS service
  34370. // to which a security group rule allows outbound access.
  34371. //
  34372. // * egress.ip-permission.protocol - The IP protocol for an outbound security
  34373. // group rule (tcp | udp | icmp or a protocol number).
  34374. //
  34375. // * egress.ip-permission.to-port - For an outbound rule, the end of port
  34376. // range for the TCP and UDP protocols, or an ICMP code.
  34377. //
  34378. // * egress.ip-permission.user-id - The ID of an AWS account that has been
  34379. // referenced in an outbound security group rule.
  34380. //
  34381. // * group-id - The ID of the security group.
  34382. //
  34383. // * group-name - The name of the security group.
  34384. //
  34385. // * ip-permission.cidr - An IPv4 CIDR block for an inbound security group
  34386. // rule.
  34387. //
  34388. // * ip-permission.from-port - For an inbound rule, the start of port range
  34389. // for the TCP and UDP protocols, or an ICMP type number.
  34390. //
  34391. // * ip-permission.group-id - The ID of a security group that has been referenced
  34392. // in an inbound security group rule.
  34393. //
  34394. // * ip-permission.group-name - The name of a security group that has been
  34395. // referenced in an inbound security group rule.
  34396. //
  34397. // * ip-permission.ipv6-cidr - An IPv6 CIDR block for an inbound security
  34398. // group rule.
  34399. //
  34400. // * ip-permission.prefix-list-id - The ID (prefix) of the AWS service from
  34401. // which a security group rule allows inbound access.
  34402. //
  34403. // * ip-permission.protocol - The IP protocol for an inbound security group
  34404. // rule (tcp | udp | icmp or a protocol number).
  34405. //
  34406. // * ip-permission.to-port - For an inbound rule, the end of port range for
  34407. // the TCP and UDP protocols, or an ICMP code.
  34408. //
  34409. // * ip-permission.user-id - The ID of an AWS account that has been referenced
  34410. // in an inbound security group rule.
  34411. //
  34412. // * owner-id - The AWS account ID of the owner of the security group.
  34413. //
  34414. // * tag-key - The key of a tag assigned to the security group.
  34415. //
  34416. // * tag-value - The value of a tag assigned to the security group.
  34417. //
  34418. // * vpc-id - The ID of the VPC specified when the security group was created.
  34419. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  34420. // One or more security group IDs. Required for security groups in a nondefault
  34421. // VPC.
  34422. //
  34423. // Default: Describes all your security groups.
  34424. GroupIds []*string `locationName:"GroupId" locationNameList:"groupId" type:"list"`
  34425. // [EC2-Classic and default VPC only] One or more security group names. You
  34426. // can specify either the security group name or the security group ID. For
  34427. // security groups in a nondefault VPC, use the group-name filter to describe
  34428. // security groups by name.
  34429. //
  34430. // Default: Describes all your security groups.
  34431. GroupNames []*string `locationName:"GroupName" locationNameList:"GroupName" type:"list"`
  34432. // The maximum number of results to return in a single call. To retrieve the
  34433. // remaining results, make another request with the returned NextToken value.
  34434. // This value can be between 5 and 1000.
  34435. MaxResults *int64 `type:"integer"`
  34436. // The token to request the next page of results.
  34437. NextToken *string `type:"string"`
  34438. }
  34439. // String returns the string representation
  34440. func (s DescribeSecurityGroupsInput) String() string {
  34441. return awsutil.Prettify(s)
  34442. }
  34443. // GoString returns the string representation
  34444. func (s DescribeSecurityGroupsInput) GoString() string {
  34445. return s.String()
  34446. }
  34447. // SetDryRun sets the DryRun field's value.
  34448. func (s *DescribeSecurityGroupsInput) SetDryRun(v bool) *DescribeSecurityGroupsInput {
  34449. s.DryRun = &v
  34450. return s
  34451. }
  34452. // SetFilters sets the Filters field's value.
  34453. func (s *DescribeSecurityGroupsInput) SetFilters(v []*Filter) *DescribeSecurityGroupsInput {
  34454. s.Filters = v
  34455. return s
  34456. }
  34457. // SetGroupIds sets the GroupIds field's value.
  34458. func (s *DescribeSecurityGroupsInput) SetGroupIds(v []*string) *DescribeSecurityGroupsInput {
  34459. s.GroupIds = v
  34460. return s
  34461. }
  34462. // SetGroupNames sets the GroupNames field's value.
  34463. func (s *DescribeSecurityGroupsInput) SetGroupNames(v []*string) *DescribeSecurityGroupsInput {
  34464. s.GroupNames = v
  34465. return s
  34466. }
  34467. // SetMaxResults sets the MaxResults field's value.
  34468. func (s *DescribeSecurityGroupsInput) SetMaxResults(v int64) *DescribeSecurityGroupsInput {
  34469. s.MaxResults = &v
  34470. return s
  34471. }
  34472. // SetNextToken sets the NextToken field's value.
  34473. func (s *DescribeSecurityGroupsInput) SetNextToken(v string) *DescribeSecurityGroupsInput {
  34474. s.NextToken = &v
  34475. return s
  34476. }
  34477. // Contains the output of DescribeSecurityGroups.
  34478. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupsResult
  34479. type DescribeSecurityGroupsOutput struct {
  34480. _ struct{} `type:"structure"`
  34481. // The token to use to retrieve the next page of results. This value is null
  34482. // when there are no more results to return.
  34483. NextToken *string `locationName:"nextToken" type:"string"`
  34484. // Information about one or more security groups.
  34485. SecurityGroups []*SecurityGroup `locationName:"securityGroupInfo" locationNameList:"item" type:"list"`
  34486. }
  34487. // String returns the string representation
  34488. func (s DescribeSecurityGroupsOutput) String() string {
  34489. return awsutil.Prettify(s)
  34490. }
  34491. // GoString returns the string representation
  34492. func (s DescribeSecurityGroupsOutput) GoString() string {
  34493. return s.String()
  34494. }
  34495. // SetNextToken sets the NextToken field's value.
  34496. func (s *DescribeSecurityGroupsOutput) SetNextToken(v string) *DescribeSecurityGroupsOutput {
  34497. s.NextToken = &v
  34498. return s
  34499. }
  34500. // SetSecurityGroups sets the SecurityGroups field's value.
  34501. func (s *DescribeSecurityGroupsOutput) SetSecurityGroups(v []*SecurityGroup) *DescribeSecurityGroupsOutput {
  34502. s.SecurityGroups = v
  34503. return s
  34504. }
  34505. // Contains the parameters for DescribeSnapshotAttribute.
  34506. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotAttributeRequest
  34507. type DescribeSnapshotAttributeInput struct {
  34508. _ struct{} `type:"structure"`
  34509. // The snapshot attribute you would like to view.
  34510. //
  34511. // Attribute is a required field
  34512. Attribute *string `type:"string" required:"true" enum:"SnapshotAttributeName"`
  34513. // Checks whether you have the required permissions for the action, without
  34514. // actually making the request, and provides an error response. If you have
  34515. // the required permissions, the error response is DryRunOperation. Otherwise,
  34516. // it is UnauthorizedOperation.
  34517. DryRun *bool `locationName:"dryRun" type:"boolean"`
  34518. // The ID of the EBS snapshot.
  34519. //
  34520. // SnapshotId is a required field
  34521. SnapshotId *string `type:"string" required:"true"`
  34522. }
  34523. // String returns the string representation
  34524. func (s DescribeSnapshotAttributeInput) String() string {
  34525. return awsutil.Prettify(s)
  34526. }
  34527. // GoString returns the string representation
  34528. func (s DescribeSnapshotAttributeInput) GoString() string {
  34529. return s.String()
  34530. }
  34531. // Validate inspects the fields of the type to determine if they are valid.
  34532. func (s *DescribeSnapshotAttributeInput) Validate() error {
  34533. invalidParams := request.ErrInvalidParams{Context: "DescribeSnapshotAttributeInput"}
  34534. if s.Attribute == nil {
  34535. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  34536. }
  34537. if s.SnapshotId == nil {
  34538. invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
  34539. }
  34540. if invalidParams.Len() > 0 {
  34541. return invalidParams
  34542. }
  34543. return nil
  34544. }
  34545. // SetAttribute sets the Attribute field's value.
  34546. func (s *DescribeSnapshotAttributeInput) SetAttribute(v string) *DescribeSnapshotAttributeInput {
  34547. s.Attribute = &v
  34548. return s
  34549. }
  34550. // SetDryRun sets the DryRun field's value.
  34551. func (s *DescribeSnapshotAttributeInput) SetDryRun(v bool) *DescribeSnapshotAttributeInput {
  34552. s.DryRun = &v
  34553. return s
  34554. }
  34555. // SetSnapshotId sets the SnapshotId field's value.
  34556. func (s *DescribeSnapshotAttributeInput) SetSnapshotId(v string) *DescribeSnapshotAttributeInput {
  34557. s.SnapshotId = &v
  34558. return s
  34559. }
  34560. // Contains the output of DescribeSnapshotAttribute.
  34561. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotAttributeResult
  34562. type DescribeSnapshotAttributeOutput struct {
  34563. _ struct{} `type:"structure"`
  34564. // A list of permissions for creating volumes from the snapshot.
  34565. CreateVolumePermissions []*CreateVolumePermission `locationName:"createVolumePermission" locationNameList:"item" type:"list"`
  34566. // A list of product codes.
  34567. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  34568. // The ID of the EBS snapshot.
  34569. SnapshotId *string `locationName:"snapshotId" type:"string"`
  34570. }
  34571. // String returns the string representation
  34572. func (s DescribeSnapshotAttributeOutput) String() string {
  34573. return awsutil.Prettify(s)
  34574. }
  34575. // GoString returns the string representation
  34576. func (s DescribeSnapshotAttributeOutput) GoString() string {
  34577. return s.String()
  34578. }
  34579. // SetCreateVolumePermissions sets the CreateVolumePermissions field's value.
  34580. func (s *DescribeSnapshotAttributeOutput) SetCreateVolumePermissions(v []*CreateVolumePermission) *DescribeSnapshotAttributeOutput {
  34581. s.CreateVolumePermissions = v
  34582. return s
  34583. }
  34584. // SetProductCodes sets the ProductCodes field's value.
  34585. func (s *DescribeSnapshotAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeSnapshotAttributeOutput {
  34586. s.ProductCodes = v
  34587. return s
  34588. }
  34589. // SetSnapshotId sets the SnapshotId field's value.
  34590. func (s *DescribeSnapshotAttributeOutput) SetSnapshotId(v string) *DescribeSnapshotAttributeOutput {
  34591. s.SnapshotId = &v
  34592. return s
  34593. }
  34594. // Contains the parameters for DescribeSnapshots.
  34595. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotsRequest
  34596. type DescribeSnapshotsInput struct {
  34597. _ struct{} `type:"structure"`
  34598. // Checks whether you have the required permissions for the action, without
  34599. // actually making the request, and provides an error response. If you have
  34600. // the required permissions, the error response is DryRunOperation. Otherwise,
  34601. // it is UnauthorizedOperation.
  34602. DryRun *bool `locationName:"dryRun" type:"boolean"`
  34603. // One or more filters.
  34604. //
  34605. // * description - A description of the snapshot.
  34606. //
  34607. // * owner-alias - Value from an Amazon-maintained list (amazon | aws-marketplace
  34608. // | microsoft) of snapshot owners. Not to be confused with the user-configured
  34609. // AWS account alias, which is set from the IAM console.
  34610. //
  34611. // * owner-id - The ID of the AWS account that owns the snapshot.
  34612. //
  34613. // * progress - The progress of the snapshot, as a percentage (for example,
  34614. // 80%).
  34615. //
  34616. // * snapshot-id - The snapshot ID.
  34617. //
  34618. // * start-time - The time stamp when the snapshot was initiated.
  34619. //
  34620. // * status - The status of the snapshot (pending | completed | error).
  34621. //
  34622. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  34623. // Specify the key of the tag in the filter name and the value of the tag
  34624. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  34625. // for the filter name and X for the filter value.
  34626. //
  34627. // * tag-key - The key of a tag assigned to the resource. This filter is
  34628. // independent of the tag-value filter. For example, if you use both the
  34629. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  34630. // assigned both the tag key Purpose (regardless of what the tag's value
  34631. // is), and the tag value X (regardless of what the tag's key is). If you
  34632. // want to list only resources where Purpose is X, see the tag:key=value
  34633. // filter.
  34634. //
  34635. // * tag-value - The value of a tag assigned to the resource. This filter
  34636. // is independent of the tag-key filter.
  34637. //
  34638. // * volume-id - The ID of the volume the snapshot is for.
  34639. //
  34640. // * volume-size - The size of the volume, in GiB.
  34641. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  34642. // The maximum number of snapshot results returned by DescribeSnapshots in paginated
  34643. // output. When this parameter is used, DescribeSnapshots only returns MaxResults
  34644. // results in a single page along with a NextToken response element. The remaining
  34645. // results of the initial request can be seen by sending another DescribeSnapshots
  34646. // request with the returned NextToken value. This value can be between 5 and
  34647. // 1000; if MaxResults is given a value larger than 1000, only 1000 results
  34648. // are returned. If this parameter is not used, then DescribeSnapshots returns
  34649. // all results. You cannot specify this parameter and the snapshot IDs parameter
  34650. // in the same request.
  34651. MaxResults *int64 `type:"integer"`
  34652. // The NextToken value returned from a previous paginated DescribeSnapshots
  34653. // request where MaxResults was used and the results exceeded the value of that
  34654. // parameter. Pagination continues from the end of the previous results that
  34655. // returned the NextToken value. This value is null when there are no more results
  34656. // to return.
  34657. NextToken *string `type:"string"`
  34658. // Returns the snapshots owned by the specified owner. Multiple owners can be
  34659. // specified.
  34660. OwnerIds []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
  34661. // One or more AWS accounts IDs that can create volumes from the snapshot.
  34662. RestorableByUserIds []*string `locationName:"RestorableBy" type:"list"`
  34663. // One or more snapshot IDs.
  34664. //
  34665. // Default: Describes snapshots for which you have launch permissions.
  34666. SnapshotIds []*string `locationName:"SnapshotId" locationNameList:"SnapshotId" type:"list"`
  34667. }
  34668. // String returns the string representation
  34669. func (s DescribeSnapshotsInput) String() string {
  34670. return awsutil.Prettify(s)
  34671. }
  34672. // GoString returns the string representation
  34673. func (s DescribeSnapshotsInput) GoString() string {
  34674. return s.String()
  34675. }
  34676. // SetDryRun sets the DryRun field's value.
  34677. func (s *DescribeSnapshotsInput) SetDryRun(v bool) *DescribeSnapshotsInput {
  34678. s.DryRun = &v
  34679. return s
  34680. }
  34681. // SetFilters sets the Filters field's value.
  34682. func (s *DescribeSnapshotsInput) SetFilters(v []*Filter) *DescribeSnapshotsInput {
  34683. s.Filters = v
  34684. return s
  34685. }
  34686. // SetMaxResults sets the MaxResults field's value.
  34687. func (s *DescribeSnapshotsInput) SetMaxResults(v int64) *DescribeSnapshotsInput {
  34688. s.MaxResults = &v
  34689. return s
  34690. }
  34691. // SetNextToken sets the NextToken field's value.
  34692. func (s *DescribeSnapshotsInput) SetNextToken(v string) *DescribeSnapshotsInput {
  34693. s.NextToken = &v
  34694. return s
  34695. }
  34696. // SetOwnerIds sets the OwnerIds field's value.
  34697. func (s *DescribeSnapshotsInput) SetOwnerIds(v []*string) *DescribeSnapshotsInput {
  34698. s.OwnerIds = v
  34699. return s
  34700. }
  34701. // SetRestorableByUserIds sets the RestorableByUserIds field's value.
  34702. func (s *DescribeSnapshotsInput) SetRestorableByUserIds(v []*string) *DescribeSnapshotsInput {
  34703. s.RestorableByUserIds = v
  34704. return s
  34705. }
  34706. // SetSnapshotIds sets the SnapshotIds field's value.
  34707. func (s *DescribeSnapshotsInput) SetSnapshotIds(v []*string) *DescribeSnapshotsInput {
  34708. s.SnapshotIds = v
  34709. return s
  34710. }
  34711. // Contains the output of DescribeSnapshots.
  34712. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotsResult
  34713. type DescribeSnapshotsOutput struct {
  34714. _ struct{} `type:"structure"`
  34715. // The NextToken value to include in a future DescribeSnapshots request. When
  34716. // the results of a DescribeSnapshots request exceed MaxResults, this value
  34717. // can be used to retrieve the next page of results. This value is null when
  34718. // there are no more results to return.
  34719. NextToken *string `locationName:"nextToken" type:"string"`
  34720. // Information about the snapshots.
  34721. Snapshots []*Snapshot `locationName:"snapshotSet" locationNameList:"item" type:"list"`
  34722. }
  34723. // String returns the string representation
  34724. func (s DescribeSnapshotsOutput) String() string {
  34725. return awsutil.Prettify(s)
  34726. }
  34727. // GoString returns the string representation
  34728. func (s DescribeSnapshotsOutput) GoString() string {
  34729. return s.String()
  34730. }
  34731. // SetNextToken sets the NextToken field's value.
  34732. func (s *DescribeSnapshotsOutput) SetNextToken(v string) *DescribeSnapshotsOutput {
  34733. s.NextToken = &v
  34734. return s
  34735. }
  34736. // SetSnapshots sets the Snapshots field's value.
  34737. func (s *DescribeSnapshotsOutput) SetSnapshots(v []*Snapshot) *DescribeSnapshotsOutput {
  34738. s.Snapshots = v
  34739. return s
  34740. }
  34741. // Contains the parameters for DescribeSpotDatafeedSubscription.
  34742. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotDatafeedSubscriptionRequest
  34743. type DescribeSpotDatafeedSubscriptionInput struct {
  34744. _ struct{} `type:"structure"`
  34745. // Checks whether you have the required permissions for the action, without
  34746. // actually making the request, and provides an error response. If you have
  34747. // the required permissions, the error response is DryRunOperation. Otherwise,
  34748. // it is UnauthorizedOperation.
  34749. DryRun *bool `locationName:"dryRun" type:"boolean"`
  34750. }
  34751. // String returns the string representation
  34752. func (s DescribeSpotDatafeedSubscriptionInput) String() string {
  34753. return awsutil.Prettify(s)
  34754. }
  34755. // GoString returns the string representation
  34756. func (s DescribeSpotDatafeedSubscriptionInput) GoString() string {
  34757. return s.String()
  34758. }
  34759. // SetDryRun sets the DryRun field's value.
  34760. func (s *DescribeSpotDatafeedSubscriptionInput) SetDryRun(v bool) *DescribeSpotDatafeedSubscriptionInput {
  34761. s.DryRun = &v
  34762. return s
  34763. }
  34764. // Contains the output of DescribeSpotDatafeedSubscription.
  34765. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotDatafeedSubscriptionResult
  34766. type DescribeSpotDatafeedSubscriptionOutput struct {
  34767. _ struct{} `type:"structure"`
  34768. // The Spot Instance data feed subscription.
  34769. SpotDatafeedSubscription *SpotDatafeedSubscription `locationName:"spotDatafeedSubscription" type:"structure"`
  34770. }
  34771. // String returns the string representation
  34772. func (s DescribeSpotDatafeedSubscriptionOutput) String() string {
  34773. return awsutil.Prettify(s)
  34774. }
  34775. // GoString returns the string representation
  34776. func (s DescribeSpotDatafeedSubscriptionOutput) GoString() string {
  34777. return s.String()
  34778. }
  34779. // SetSpotDatafeedSubscription sets the SpotDatafeedSubscription field's value.
  34780. func (s *DescribeSpotDatafeedSubscriptionOutput) SetSpotDatafeedSubscription(v *SpotDatafeedSubscription) *DescribeSpotDatafeedSubscriptionOutput {
  34781. s.SpotDatafeedSubscription = v
  34782. return s
  34783. }
  34784. // Contains the parameters for DescribeSpotFleetInstances.
  34785. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetInstancesRequest
  34786. type DescribeSpotFleetInstancesInput struct {
  34787. _ struct{} `type:"structure"`
  34788. // Checks whether you have the required permissions for the action, without
  34789. // actually making the request, and provides an error response. If you have
  34790. // the required permissions, the error response is DryRunOperation. Otherwise,
  34791. // it is UnauthorizedOperation.
  34792. DryRun *bool `locationName:"dryRun" type:"boolean"`
  34793. // The maximum number of results to return in a single call. Specify a value
  34794. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  34795. // results, make another call with the returned NextToken value.
  34796. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  34797. // The token for the next set of results.
  34798. NextToken *string `locationName:"nextToken" type:"string"`
  34799. // The ID of the Spot Fleet request.
  34800. //
  34801. // SpotFleetRequestId is a required field
  34802. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  34803. }
  34804. // String returns the string representation
  34805. func (s DescribeSpotFleetInstancesInput) String() string {
  34806. return awsutil.Prettify(s)
  34807. }
  34808. // GoString returns the string representation
  34809. func (s DescribeSpotFleetInstancesInput) GoString() string {
  34810. return s.String()
  34811. }
  34812. // Validate inspects the fields of the type to determine if they are valid.
  34813. func (s *DescribeSpotFleetInstancesInput) Validate() error {
  34814. invalidParams := request.ErrInvalidParams{Context: "DescribeSpotFleetInstancesInput"}
  34815. if s.SpotFleetRequestId == nil {
  34816. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
  34817. }
  34818. if invalidParams.Len() > 0 {
  34819. return invalidParams
  34820. }
  34821. return nil
  34822. }
  34823. // SetDryRun sets the DryRun field's value.
  34824. func (s *DescribeSpotFleetInstancesInput) SetDryRun(v bool) *DescribeSpotFleetInstancesInput {
  34825. s.DryRun = &v
  34826. return s
  34827. }
  34828. // SetMaxResults sets the MaxResults field's value.
  34829. func (s *DescribeSpotFleetInstancesInput) SetMaxResults(v int64) *DescribeSpotFleetInstancesInput {
  34830. s.MaxResults = &v
  34831. return s
  34832. }
  34833. // SetNextToken sets the NextToken field's value.
  34834. func (s *DescribeSpotFleetInstancesInput) SetNextToken(v string) *DescribeSpotFleetInstancesInput {
  34835. s.NextToken = &v
  34836. return s
  34837. }
  34838. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  34839. func (s *DescribeSpotFleetInstancesInput) SetSpotFleetRequestId(v string) *DescribeSpotFleetInstancesInput {
  34840. s.SpotFleetRequestId = &v
  34841. return s
  34842. }
  34843. // Contains the output of DescribeSpotFleetInstances.
  34844. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetInstancesResponse
  34845. type DescribeSpotFleetInstancesOutput struct {
  34846. _ struct{} `type:"structure"`
  34847. // The running instances. Note that this list is refreshed periodically and
  34848. // might be out of date.
  34849. //
  34850. // ActiveInstances is a required field
  34851. ActiveInstances []*ActiveInstance `locationName:"activeInstanceSet" locationNameList:"item" type:"list" required:"true"`
  34852. // The token required to retrieve the next set of results. This value is null
  34853. // when there are no more results to return.
  34854. NextToken *string `locationName:"nextToken" type:"string"`
  34855. // The ID of the Spot Fleet request.
  34856. //
  34857. // SpotFleetRequestId is a required field
  34858. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  34859. }
  34860. // String returns the string representation
  34861. func (s DescribeSpotFleetInstancesOutput) String() string {
  34862. return awsutil.Prettify(s)
  34863. }
  34864. // GoString returns the string representation
  34865. func (s DescribeSpotFleetInstancesOutput) GoString() string {
  34866. return s.String()
  34867. }
  34868. // SetActiveInstances sets the ActiveInstances field's value.
  34869. func (s *DescribeSpotFleetInstancesOutput) SetActiveInstances(v []*ActiveInstance) *DescribeSpotFleetInstancesOutput {
  34870. s.ActiveInstances = v
  34871. return s
  34872. }
  34873. // SetNextToken sets the NextToken field's value.
  34874. func (s *DescribeSpotFleetInstancesOutput) SetNextToken(v string) *DescribeSpotFleetInstancesOutput {
  34875. s.NextToken = &v
  34876. return s
  34877. }
  34878. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  34879. func (s *DescribeSpotFleetInstancesOutput) SetSpotFleetRequestId(v string) *DescribeSpotFleetInstancesOutput {
  34880. s.SpotFleetRequestId = &v
  34881. return s
  34882. }
  34883. // Contains the parameters for DescribeSpotFleetRequestHistory.
  34884. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestHistoryRequest
  34885. type DescribeSpotFleetRequestHistoryInput struct {
  34886. _ struct{} `type:"structure"`
  34887. // Checks whether you have the required permissions for the action, without
  34888. // actually making the request, and provides an error response. If you have
  34889. // the required permissions, the error response is DryRunOperation. Otherwise,
  34890. // it is UnauthorizedOperation.
  34891. DryRun *bool `locationName:"dryRun" type:"boolean"`
  34892. // The type of events to describe. By default, all events are described.
  34893. EventType *string `locationName:"eventType" type:"string" enum:"EventType"`
  34894. // The maximum number of results to return in a single call. Specify a value
  34895. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  34896. // results, make another call with the returned NextToken value.
  34897. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  34898. // The token for the next set of results.
  34899. NextToken *string `locationName:"nextToken" type:"string"`
  34900. // The ID of the Spot Fleet request.
  34901. //
  34902. // SpotFleetRequestId is a required field
  34903. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  34904. // The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  34905. //
  34906. // StartTime is a required field
  34907. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601" required:"true"`
  34908. }
  34909. // String returns the string representation
  34910. func (s DescribeSpotFleetRequestHistoryInput) String() string {
  34911. return awsutil.Prettify(s)
  34912. }
  34913. // GoString returns the string representation
  34914. func (s DescribeSpotFleetRequestHistoryInput) GoString() string {
  34915. return s.String()
  34916. }
  34917. // Validate inspects the fields of the type to determine if they are valid.
  34918. func (s *DescribeSpotFleetRequestHistoryInput) Validate() error {
  34919. invalidParams := request.ErrInvalidParams{Context: "DescribeSpotFleetRequestHistoryInput"}
  34920. if s.SpotFleetRequestId == nil {
  34921. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
  34922. }
  34923. if s.StartTime == nil {
  34924. invalidParams.Add(request.NewErrParamRequired("StartTime"))
  34925. }
  34926. if invalidParams.Len() > 0 {
  34927. return invalidParams
  34928. }
  34929. return nil
  34930. }
  34931. // SetDryRun sets the DryRun field's value.
  34932. func (s *DescribeSpotFleetRequestHistoryInput) SetDryRun(v bool) *DescribeSpotFleetRequestHistoryInput {
  34933. s.DryRun = &v
  34934. return s
  34935. }
  34936. // SetEventType sets the EventType field's value.
  34937. func (s *DescribeSpotFleetRequestHistoryInput) SetEventType(v string) *DescribeSpotFleetRequestHistoryInput {
  34938. s.EventType = &v
  34939. return s
  34940. }
  34941. // SetMaxResults sets the MaxResults field's value.
  34942. func (s *DescribeSpotFleetRequestHistoryInput) SetMaxResults(v int64) *DescribeSpotFleetRequestHistoryInput {
  34943. s.MaxResults = &v
  34944. return s
  34945. }
  34946. // SetNextToken sets the NextToken field's value.
  34947. func (s *DescribeSpotFleetRequestHistoryInput) SetNextToken(v string) *DescribeSpotFleetRequestHistoryInput {
  34948. s.NextToken = &v
  34949. return s
  34950. }
  34951. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  34952. func (s *DescribeSpotFleetRequestHistoryInput) SetSpotFleetRequestId(v string) *DescribeSpotFleetRequestHistoryInput {
  34953. s.SpotFleetRequestId = &v
  34954. return s
  34955. }
  34956. // SetStartTime sets the StartTime field's value.
  34957. func (s *DescribeSpotFleetRequestHistoryInput) SetStartTime(v time.Time) *DescribeSpotFleetRequestHistoryInput {
  34958. s.StartTime = &v
  34959. return s
  34960. }
  34961. // Contains the output of DescribeSpotFleetRequestHistory.
  34962. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestHistoryResponse
  34963. type DescribeSpotFleetRequestHistoryOutput struct {
  34964. _ struct{} `type:"structure"`
  34965. // Information about the events in the history of the Spot Fleet request.
  34966. //
  34967. // HistoryRecords is a required field
  34968. HistoryRecords []*HistoryRecord `locationName:"historyRecordSet" locationNameList:"item" type:"list" required:"true"`
  34969. // The last date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  34970. // All records up to this time were retrieved.
  34971. //
  34972. // If nextToken indicates that there are more results, this value is not present.
  34973. //
  34974. // LastEvaluatedTime is a required field
  34975. LastEvaluatedTime *time.Time `locationName:"lastEvaluatedTime" type:"timestamp" timestampFormat:"iso8601" required:"true"`
  34976. // The token required to retrieve the next set of results. This value is null
  34977. // when there are no more results to return.
  34978. NextToken *string `locationName:"nextToken" type:"string"`
  34979. // The ID of the Spot Fleet request.
  34980. //
  34981. // SpotFleetRequestId is a required field
  34982. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  34983. // The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  34984. //
  34985. // StartTime is a required field
  34986. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601" required:"true"`
  34987. }
  34988. // String returns the string representation
  34989. func (s DescribeSpotFleetRequestHistoryOutput) String() string {
  34990. return awsutil.Prettify(s)
  34991. }
  34992. // GoString returns the string representation
  34993. func (s DescribeSpotFleetRequestHistoryOutput) GoString() string {
  34994. return s.String()
  34995. }
  34996. // SetHistoryRecords sets the HistoryRecords field's value.
  34997. func (s *DescribeSpotFleetRequestHistoryOutput) SetHistoryRecords(v []*HistoryRecord) *DescribeSpotFleetRequestHistoryOutput {
  34998. s.HistoryRecords = v
  34999. return s
  35000. }
  35001. // SetLastEvaluatedTime sets the LastEvaluatedTime field's value.
  35002. func (s *DescribeSpotFleetRequestHistoryOutput) SetLastEvaluatedTime(v time.Time) *DescribeSpotFleetRequestHistoryOutput {
  35003. s.LastEvaluatedTime = &v
  35004. return s
  35005. }
  35006. // SetNextToken sets the NextToken field's value.
  35007. func (s *DescribeSpotFleetRequestHistoryOutput) SetNextToken(v string) *DescribeSpotFleetRequestHistoryOutput {
  35008. s.NextToken = &v
  35009. return s
  35010. }
  35011. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  35012. func (s *DescribeSpotFleetRequestHistoryOutput) SetSpotFleetRequestId(v string) *DescribeSpotFleetRequestHistoryOutput {
  35013. s.SpotFleetRequestId = &v
  35014. return s
  35015. }
  35016. // SetStartTime sets the StartTime field's value.
  35017. func (s *DescribeSpotFleetRequestHistoryOutput) SetStartTime(v time.Time) *DescribeSpotFleetRequestHistoryOutput {
  35018. s.StartTime = &v
  35019. return s
  35020. }
  35021. // Contains the parameters for DescribeSpotFleetRequests.
  35022. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestsRequest
  35023. type DescribeSpotFleetRequestsInput struct {
  35024. _ struct{} `type:"structure"`
  35025. // Checks whether you have the required permissions for the action, without
  35026. // actually making the request, and provides an error response. If you have
  35027. // the required permissions, the error response is DryRunOperation. Otherwise,
  35028. // it is UnauthorizedOperation.
  35029. DryRun *bool `locationName:"dryRun" type:"boolean"`
  35030. // The maximum number of results to return in a single call. Specify a value
  35031. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  35032. // results, make another call with the returned NextToken value.
  35033. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  35034. // The token for the next set of results.
  35035. NextToken *string `locationName:"nextToken" type:"string"`
  35036. // The IDs of the Spot Fleet requests.
  35037. SpotFleetRequestIds []*string `locationName:"spotFleetRequestId" locationNameList:"item" type:"list"`
  35038. }
  35039. // String returns the string representation
  35040. func (s DescribeSpotFleetRequestsInput) String() string {
  35041. return awsutil.Prettify(s)
  35042. }
  35043. // GoString returns the string representation
  35044. func (s DescribeSpotFleetRequestsInput) GoString() string {
  35045. return s.String()
  35046. }
  35047. // SetDryRun sets the DryRun field's value.
  35048. func (s *DescribeSpotFleetRequestsInput) SetDryRun(v bool) *DescribeSpotFleetRequestsInput {
  35049. s.DryRun = &v
  35050. return s
  35051. }
  35052. // SetMaxResults sets the MaxResults field's value.
  35053. func (s *DescribeSpotFleetRequestsInput) SetMaxResults(v int64) *DescribeSpotFleetRequestsInput {
  35054. s.MaxResults = &v
  35055. return s
  35056. }
  35057. // SetNextToken sets the NextToken field's value.
  35058. func (s *DescribeSpotFleetRequestsInput) SetNextToken(v string) *DescribeSpotFleetRequestsInput {
  35059. s.NextToken = &v
  35060. return s
  35061. }
  35062. // SetSpotFleetRequestIds sets the SpotFleetRequestIds field's value.
  35063. func (s *DescribeSpotFleetRequestsInput) SetSpotFleetRequestIds(v []*string) *DescribeSpotFleetRequestsInput {
  35064. s.SpotFleetRequestIds = v
  35065. return s
  35066. }
  35067. // Contains the output of DescribeSpotFleetRequests.
  35068. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestsResponse
  35069. type DescribeSpotFleetRequestsOutput struct {
  35070. _ struct{} `type:"structure"`
  35071. // The token required to retrieve the next set of results. This value is null
  35072. // when there are no more results to return.
  35073. NextToken *string `locationName:"nextToken" type:"string"`
  35074. // Information about the configuration of your Spot Fleet.
  35075. //
  35076. // SpotFleetRequestConfigs is a required field
  35077. SpotFleetRequestConfigs []*SpotFleetRequestConfig `locationName:"spotFleetRequestConfigSet" locationNameList:"item" type:"list" required:"true"`
  35078. }
  35079. // String returns the string representation
  35080. func (s DescribeSpotFleetRequestsOutput) String() string {
  35081. return awsutil.Prettify(s)
  35082. }
  35083. // GoString returns the string representation
  35084. func (s DescribeSpotFleetRequestsOutput) GoString() string {
  35085. return s.String()
  35086. }
  35087. // SetNextToken sets the NextToken field's value.
  35088. func (s *DescribeSpotFleetRequestsOutput) SetNextToken(v string) *DescribeSpotFleetRequestsOutput {
  35089. s.NextToken = &v
  35090. return s
  35091. }
  35092. // SetSpotFleetRequestConfigs sets the SpotFleetRequestConfigs field's value.
  35093. func (s *DescribeSpotFleetRequestsOutput) SetSpotFleetRequestConfigs(v []*SpotFleetRequestConfig) *DescribeSpotFleetRequestsOutput {
  35094. s.SpotFleetRequestConfigs = v
  35095. return s
  35096. }
  35097. // Contains the parameters for DescribeSpotInstanceRequests.
  35098. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotInstanceRequestsRequest
  35099. type DescribeSpotInstanceRequestsInput struct {
  35100. _ struct{} `type:"structure"`
  35101. // Checks whether you have the required permissions for the action, without
  35102. // actually making the request, and provides an error response. If you have
  35103. // the required permissions, the error response is DryRunOperation. Otherwise,
  35104. // it is UnauthorizedOperation.
  35105. DryRun *bool `locationName:"dryRun" type:"boolean"`
  35106. // One or more filters.
  35107. //
  35108. // * availability-zone-group - The Availability Zone group.
  35109. //
  35110. // * create-time - The time stamp when the Spot Instance request was created.
  35111. //
  35112. // * fault-code - The fault code related to the request.
  35113. //
  35114. // * fault-message - The fault message related to the request.
  35115. //
  35116. // * instance-id - The ID of the instance that fulfilled the request.
  35117. //
  35118. // * launch-group - The Spot Instance launch group.
  35119. //
  35120. // * launch.block-device-mapping.delete-on-termination - Indicates whether
  35121. // the EBS volume is deleted on instance termination.
  35122. //
  35123. // * launch.block-device-mapping.device-name - The device name for the volume
  35124. // in the block device mapping (for example, /dev/sdh or xvdh).
  35125. //
  35126. // * launch.block-device-mapping.snapshot-id - The ID of the snapshot for
  35127. // the EBS volume.
  35128. //
  35129. // * launch.block-device-mapping.volume-size - The size of the EBS volume,
  35130. // in GiB.
  35131. //
  35132. // * launch.block-device-mapping.volume-type - The type of EBS volume: gp2
  35133. // for General Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput
  35134. // Optimized HDD, sc1for Cold HDD, or standard for Magnetic.
  35135. //
  35136. // * launch.group-id - The security group for the instance.
  35137. //
  35138. // * launch.image-id - The ID of the AMI.
  35139. //
  35140. // * launch.instance-type - The type of instance (for example, m3.medium).
  35141. //
  35142. // * launch.kernel-id - The kernel ID.
  35143. //
  35144. // * launch.key-name - The name of the key pair the instance launched with.
  35145. //
  35146. // * launch.monitoring-enabled - Whether detailed monitoring is enabled for
  35147. // the Spot Instance.
  35148. //
  35149. // * launch.ramdisk-id - The RAM disk ID.
  35150. //
  35151. // * launched-availability-zone - The Availability Zone in which the request
  35152. // is launched.
  35153. //
  35154. // * network-interface.addresses.primary - Indicates whether the IP address
  35155. // is the primary private IP address.
  35156. //
  35157. // * network-interface.delete-on-termination - Indicates whether the network
  35158. // interface is deleted when the instance is terminated.
  35159. //
  35160. // * network-interface.description - A description of the network interface.
  35161. //
  35162. // * network-interface.device-index - The index of the device for the network
  35163. // interface attachment on the instance.
  35164. //
  35165. // * network-interface.group-id - The ID of the security group associated
  35166. // with the network interface.
  35167. //
  35168. // * network-interface.network-interface-id - The ID of the network interface.
  35169. //
  35170. // * network-interface.private-ip-address - The primary private IP address
  35171. // of the network interface.
  35172. //
  35173. // * network-interface.subnet-id - The ID of the subnet for the instance.
  35174. //
  35175. // * product-description - The product description associated with the instance
  35176. // (Linux/UNIX | Windows).
  35177. //
  35178. // * spot-instance-request-id - The Spot Instance request ID.
  35179. //
  35180. // * spot-price - The maximum hourly price for any Spot Instance launched
  35181. // to fulfill the request.
  35182. //
  35183. // * state - The state of the Spot Instance request (open | active | closed
  35184. // | cancelled | failed). Spot request status information can help you track
  35185. // your Amazon EC2 Spot Instance requests. For more information, see Spot
  35186. // Request Status (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html)
  35187. // in the Amazon Elastic Compute Cloud User Guide.
  35188. //
  35189. // * status-code - The short code describing the most recent evaluation of
  35190. // your Spot Instance request.
  35191. //
  35192. // * status-message - The message explaining the status of the Spot Instance
  35193. // request.
  35194. //
  35195. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  35196. // Specify the key of the tag in the filter name and the value of the tag
  35197. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  35198. // for the filter name and X for the filter value.
  35199. //
  35200. // * tag-key - The key of a tag assigned to the resource. This filter is
  35201. // independent of the tag-value filter. For example, if you use both the
  35202. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  35203. // assigned both the tag key Purpose (regardless of what the tag's value
  35204. // is), and the tag value X (regardless of what the tag's key is). If you
  35205. // want to list only resources where Purpose is X, see the tag:key=value
  35206. // filter.
  35207. //
  35208. // * tag-value - The value of a tag assigned to the resource. This filter
  35209. // is independent of the tag-key filter.
  35210. //
  35211. // * type - The type of Spot Instance request (one-time | persistent).
  35212. //
  35213. // * valid-from - The start date of the request.
  35214. //
  35215. // * valid-until - The end date of the request.
  35216. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  35217. // One or more Spot Instance request IDs.
  35218. SpotInstanceRequestIds []*string `locationName:"SpotInstanceRequestId" locationNameList:"SpotInstanceRequestId" type:"list"`
  35219. }
  35220. // String returns the string representation
  35221. func (s DescribeSpotInstanceRequestsInput) String() string {
  35222. return awsutil.Prettify(s)
  35223. }
  35224. // GoString returns the string representation
  35225. func (s DescribeSpotInstanceRequestsInput) GoString() string {
  35226. return s.String()
  35227. }
  35228. // SetDryRun sets the DryRun field's value.
  35229. func (s *DescribeSpotInstanceRequestsInput) SetDryRun(v bool) *DescribeSpotInstanceRequestsInput {
  35230. s.DryRun = &v
  35231. return s
  35232. }
  35233. // SetFilters sets the Filters field's value.
  35234. func (s *DescribeSpotInstanceRequestsInput) SetFilters(v []*Filter) *DescribeSpotInstanceRequestsInput {
  35235. s.Filters = v
  35236. return s
  35237. }
  35238. // SetSpotInstanceRequestIds sets the SpotInstanceRequestIds field's value.
  35239. func (s *DescribeSpotInstanceRequestsInput) SetSpotInstanceRequestIds(v []*string) *DescribeSpotInstanceRequestsInput {
  35240. s.SpotInstanceRequestIds = v
  35241. return s
  35242. }
  35243. // Contains the output of DescribeSpotInstanceRequests.
  35244. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotInstanceRequestsResult
  35245. type DescribeSpotInstanceRequestsOutput struct {
  35246. _ struct{} `type:"structure"`
  35247. // One or more Spot Instance requests.
  35248. SpotInstanceRequests []*SpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
  35249. }
  35250. // String returns the string representation
  35251. func (s DescribeSpotInstanceRequestsOutput) String() string {
  35252. return awsutil.Prettify(s)
  35253. }
  35254. // GoString returns the string representation
  35255. func (s DescribeSpotInstanceRequestsOutput) GoString() string {
  35256. return s.String()
  35257. }
  35258. // SetSpotInstanceRequests sets the SpotInstanceRequests field's value.
  35259. func (s *DescribeSpotInstanceRequestsOutput) SetSpotInstanceRequests(v []*SpotInstanceRequest) *DescribeSpotInstanceRequestsOutput {
  35260. s.SpotInstanceRequests = v
  35261. return s
  35262. }
  35263. // Contains the parameters for DescribeSpotPriceHistory.
  35264. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotPriceHistoryRequest
  35265. type DescribeSpotPriceHistoryInput struct {
  35266. _ struct{} `type:"structure"`
  35267. // Filters the results by the specified Availability Zone.
  35268. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  35269. // Checks whether you have the required permissions for the action, without
  35270. // actually making the request, and provides an error response. If you have
  35271. // the required permissions, the error response is DryRunOperation. Otherwise,
  35272. // it is UnauthorizedOperation.
  35273. DryRun *bool `locationName:"dryRun" type:"boolean"`
  35274. // The date and time, up to the current date, from which to stop retrieving
  35275. // the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  35276. EndTime *time.Time `locationName:"endTime" type:"timestamp" timestampFormat:"iso8601"`
  35277. // One or more filters.
  35278. //
  35279. // * availability-zone - The Availability Zone for which prices should be
  35280. // returned.
  35281. //
  35282. // * instance-type - The type of instance (for example, m3.medium).
  35283. //
  35284. // * product-description - The product description for the Spot price (Linux/UNIX
  35285. // | SUSE Linux | Windows | Linux/UNIX (Amazon VPC) | SUSE Linux (Amazon
  35286. // VPC) | Windows (Amazon VPC)).
  35287. //
  35288. // * spot-price - The Spot price. The value must match exactly (or use wildcards;
  35289. // greater than or less than comparison is not supported).
  35290. //
  35291. // * timestamp - The timestamp of the Spot price history, in UTC format (for
  35292. // example, YYYY-MM-DDTHH:MM:SSZ). You can use wildcards (* and ?). Greater
  35293. // than or less than comparison is not supported.
  35294. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  35295. // Filters the results by the specified instance types.
  35296. InstanceTypes []*string `locationName:"InstanceType" type:"list"`
  35297. // The maximum number of results to return in a single call. Specify a value
  35298. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  35299. // results, make another call with the returned NextToken value.
  35300. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  35301. // The token for the next set of results.
  35302. NextToken *string `locationName:"nextToken" type:"string"`
  35303. // Filters the results by the specified basic product descriptions.
  35304. ProductDescriptions []*string `locationName:"ProductDescription" type:"list"`
  35305. // The date and time, up to the past 90 days, from which to start retrieving
  35306. // the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  35307. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
  35308. }
  35309. // String returns the string representation
  35310. func (s DescribeSpotPriceHistoryInput) String() string {
  35311. return awsutil.Prettify(s)
  35312. }
  35313. // GoString returns the string representation
  35314. func (s DescribeSpotPriceHistoryInput) GoString() string {
  35315. return s.String()
  35316. }
  35317. // SetAvailabilityZone sets the AvailabilityZone field's value.
  35318. func (s *DescribeSpotPriceHistoryInput) SetAvailabilityZone(v string) *DescribeSpotPriceHistoryInput {
  35319. s.AvailabilityZone = &v
  35320. return s
  35321. }
  35322. // SetDryRun sets the DryRun field's value.
  35323. func (s *DescribeSpotPriceHistoryInput) SetDryRun(v bool) *DescribeSpotPriceHistoryInput {
  35324. s.DryRun = &v
  35325. return s
  35326. }
  35327. // SetEndTime sets the EndTime field's value.
  35328. func (s *DescribeSpotPriceHistoryInput) SetEndTime(v time.Time) *DescribeSpotPriceHistoryInput {
  35329. s.EndTime = &v
  35330. return s
  35331. }
  35332. // SetFilters sets the Filters field's value.
  35333. func (s *DescribeSpotPriceHistoryInput) SetFilters(v []*Filter) *DescribeSpotPriceHistoryInput {
  35334. s.Filters = v
  35335. return s
  35336. }
  35337. // SetInstanceTypes sets the InstanceTypes field's value.
  35338. func (s *DescribeSpotPriceHistoryInput) SetInstanceTypes(v []*string) *DescribeSpotPriceHistoryInput {
  35339. s.InstanceTypes = v
  35340. return s
  35341. }
  35342. // SetMaxResults sets the MaxResults field's value.
  35343. func (s *DescribeSpotPriceHistoryInput) SetMaxResults(v int64) *DescribeSpotPriceHistoryInput {
  35344. s.MaxResults = &v
  35345. return s
  35346. }
  35347. // SetNextToken sets the NextToken field's value.
  35348. func (s *DescribeSpotPriceHistoryInput) SetNextToken(v string) *DescribeSpotPriceHistoryInput {
  35349. s.NextToken = &v
  35350. return s
  35351. }
  35352. // SetProductDescriptions sets the ProductDescriptions field's value.
  35353. func (s *DescribeSpotPriceHistoryInput) SetProductDescriptions(v []*string) *DescribeSpotPriceHistoryInput {
  35354. s.ProductDescriptions = v
  35355. return s
  35356. }
  35357. // SetStartTime sets the StartTime field's value.
  35358. func (s *DescribeSpotPriceHistoryInput) SetStartTime(v time.Time) *DescribeSpotPriceHistoryInput {
  35359. s.StartTime = &v
  35360. return s
  35361. }
  35362. // Contains the output of DescribeSpotPriceHistory.
  35363. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotPriceHistoryResult
  35364. type DescribeSpotPriceHistoryOutput struct {
  35365. _ struct{} `type:"structure"`
  35366. // The token required to retrieve the next set of results. This value is null
  35367. // when there are no more results to return.
  35368. NextToken *string `locationName:"nextToken" type:"string"`
  35369. // The historical Spot prices.
  35370. SpotPriceHistory []*SpotPrice `locationName:"spotPriceHistorySet" locationNameList:"item" type:"list"`
  35371. }
  35372. // String returns the string representation
  35373. func (s DescribeSpotPriceHistoryOutput) String() string {
  35374. return awsutil.Prettify(s)
  35375. }
  35376. // GoString returns the string representation
  35377. func (s DescribeSpotPriceHistoryOutput) GoString() string {
  35378. return s.String()
  35379. }
  35380. // SetNextToken sets the NextToken field's value.
  35381. func (s *DescribeSpotPriceHistoryOutput) SetNextToken(v string) *DescribeSpotPriceHistoryOutput {
  35382. s.NextToken = &v
  35383. return s
  35384. }
  35385. // SetSpotPriceHistory sets the SpotPriceHistory field's value.
  35386. func (s *DescribeSpotPriceHistoryOutput) SetSpotPriceHistory(v []*SpotPrice) *DescribeSpotPriceHistoryOutput {
  35387. s.SpotPriceHistory = v
  35388. return s
  35389. }
  35390. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStaleSecurityGroupsRequest
  35391. type DescribeStaleSecurityGroupsInput struct {
  35392. _ struct{} `type:"structure"`
  35393. // Checks whether you have the required permissions for the operation, without
  35394. // actually making the request, and provides an error response. If you have
  35395. // the required permissions, the error response is DryRunOperation. Otherwise,
  35396. // it is UnauthorizedOperation.
  35397. DryRun *bool `type:"boolean"`
  35398. // The maximum number of items to return for this request. The request returns
  35399. // a token that you can specify in a subsequent call to get the next set of
  35400. // results.
  35401. MaxResults *int64 `min:"5" type:"integer"`
  35402. // The token for the next set of items to return. (You received this token from
  35403. // a prior call.)
  35404. NextToken *string `min:"1" type:"string"`
  35405. // The ID of the VPC.
  35406. //
  35407. // VpcId is a required field
  35408. VpcId *string `type:"string" required:"true"`
  35409. }
  35410. // String returns the string representation
  35411. func (s DescribeStaleSecurityGroupsInput) String() string {
  35412. return awsutil.Prettify(s)
  35413. }
  35414. // GoString returns the string representation
  35415. func (s DescribeStaleSecurityGroupsInput) GoString() string {
  35416. return s.String()
  35417. }
  35418. // Validate inspects the fields of the type to determine if they are valid.
  35419. func (s *DescribeStaleSecurityGroupsInput) Validate() error {
  35420. invalidParams := request.ErrInvalidParams{Context: "DescribeStaleSecurityGroupsInput"}
  35421. if s.MaxResults != nil && *s.MaxResults < 5 {
  35422. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  35423. }
  35424. if s.NextToken != nil && len(*s.NextToken) < 1 {
  35425. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  35426. }
  35427. if s.VpcId == nil {
  35428. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  35429. }
  35430. if invalidParams.Len() > 0 {
  35431. return invalidParams
  35432. }
  35433. return nil
  35434. }
  35435. // SetDryRun sets the DryRun field's value.
  35436. func (s *DescribeStaleSecurityGroupsInput) SetDryRun(v bool) *DescribeStaleSecurityGroupsInput {
  35437. s.DryRun = &v
  35438. return s
  35439. }
  35440. // SetMaxResults sets the MaxResults field's value.
  35441. func (s *DescribeStaleSecurityGroupsInput) SetMaxResults(v int64) *DescribeStaleSecurityGroupsInput {
  35442. s.MaxResults = &v
  35443. return s
  35444. }
  35445. // SetNextToken sets the NextToken field's value.
  35446. func (s *DescribeStaleSecurityGroupsInput) SetNextToken(v string) *DescribeStaleSecurityGroupsInput {
  35447. s.NextToken = &v
  35448. return s
  35449. }
  35450. // SetVpcId sets the VpcId field's value.
  35451. func (s *DescribeStaleSecurityGroupsInput) SetVpcId(v string) *DescribeStaleSecurityGroupsInput {
  35452. s.VpcId = &v
  35453. return s
  35454. }
  35455. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStaleSecurityGroupsResult
  35456. type DescribeStaleSecurityGroupsOutput struct {
  35457. _ struct{} `type:"structure"`
  35458. // The token to use when requesting the next set of items. If there are no additional
  35459. // items to return, the string is empty.
  35460. NextToken *string `locationName:"nextToken" type:"string"`
  35461. // Information about the stale security groups.
  35462. StaleSecurityGroupSet []*StaleSecurityGroup `locationName:"staleSecurityGroupSet" locationNameList:"item" type:"list"`
  35463. }
  35464. // String returns the string representation
  35465. func (s DescribeStaleSecurityGroupsOutput) String() string {
  35466. return awsutil.Prettify(s)
  35467. }
  35468. // GoString returns the string representation
  35469. func (s DescribeStaleSecurityGroupsOutput) GoString() string {
  35470. return s.String()
  35471. }
  35472. // SetNextToken sets the NextToken field's value.
  35473. func (s *DescribeStaleSecurityGroupsOutput) SetNextToken(v string) *DescribeStaleSecurityGroupsOutput {
  35474. s.NextToken = &v
  35475. return s
  35476. }
  35477. // SetStaleSecurityGroupSet sets the StaleSecurityGroupSet field's value.
  35478. func (s *DescribeStaleSecurityGroupsOutput) SetStaleSecurityGroupSet(v []*StaleSecurityGroup) *DescribeStaleSecurityGroupsOutput {
  35479. s.StaleSecurityGroupSet = v
  35480. return s
  35481. }
  35482. // Contains the parameters for DescribeSubnets.
  35483. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSubnetsRequest
  35484. type DescribeSubnetsInput struct {
  35485. _ struct{} `type:"structure"`
  35486. // Checks whether you have the required permissions for the action, without
  35487. // actually making the request, and provides an error response. If you have
  35488. // the required permissions, the error response is DryRunOperation. Otherwise,
  35489. // it is UnauthorizedOperation.
  35490. DryRun *bool `locationName:"dryRun" type:"boolean"`
  35491. // One or more filters.
  35492. //
  35493. // * availabilityZone - The Availability Zone for the subnet. You can also
  35494. // use availability-zone as the filter name.
  35495. //
  35496. // * available-ip-address-count - The number of IPv4 addresses in the subnet
  35497. // that are available.
  35498. //
  35499. // * cidrBlock - The IPv4 CIDR block of the subnet. The CIDR block you specify
  35500. // must exactly match the subnet's CIDR block for information to be returned
  35501. // for the subnet. You can also use cidr or cidr-block as the filter names.
  35502. //
  35503. // * defaultForAz - Indicates whether this is the default subnet for the
  35504. // Availability Zone. You can also use default-for-az as the filter name.
  35505. //
  35506. // * ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR block associated
  35507. // with the subnet.
  35508. //
  35509. // * ipv6-cidr-block-association.association-id - An association ID for an
  35510. // IPv6 CIDR block associated with the subnet.
  35511. //
  35512. // * ipv6-cidr-block-association.state - The state of an IPv6 CIDR block
  35513. // associated with the subnet.
  35514. //
  35515. // * state - The state of the subnet (pending | available).
  35516. //
  35517. // * subnet-id - The ID of the subnet.
  35518. //
  35519. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  35520. // Specify the key of the tag in the filter name and the value of the tag
  35521. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  35522. // for the filter name and X for the filter value.
  35523. //
  35524. // * tag-key - The key of a tag assigned to the resource. This filter is
  35525. // independent of the tag-value filter. For example, if you use both the
  35526. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  35527. // assigned both the tag key Purpose (regardless of what the tag's value
  35528. // is), and the tag value X (regardless of what the tag's key is). If you
  35529. // want to list only resources where Purpose is X, see the tag:key=value
  35530. // filter.
  35531. //
  35532. // * tag-value - The value of a tag assigned to the resource. This filter
  35533. // is independent of the tag-key filter.
  35534. //
  35535. // * vpc-id - The ID of the VPC for the subnet.
  35536. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  35537. // One or more subnet IDs.
  35538. //
  35539. // Default: Describes all your subnets.
  35540. SubnetIds []*string `locationName:"SubnetId" locationNameList:"SubnetId" type:"list"`
  35541. }
  35542. // String returns the string representation
  35543. func (s DescribeSubnetsInput) String() string {
  35544. return awsutil.Prettify(s)
  35545. }
  35546. // GoString returns the string representation
  35547. func (s DescribeSubnetsInput) GoString() string {
  35548. return s.String()
  35549. }
  35550. // SetDryRun sets the DryRun field's value.
  35551. func (s *DescribeSubnetsInput) SetDryRun(v bool) *DescribeSubnetsInput {
  35552. s.DryRun = &v
  35553. return s
  35554. }
  35555. // SetFilters sets the Filters field's value.
  35556. func (s *DescribeSubnetsInput) SetFilters(v []*Filter) *DescribeSubnetsInput {
  35557. s.Filters = v
  35558. return s
  35559. }
  35560. // SetSubnetIds sets the SubnetIds field's value.
  35561. func (s *DescribeSubnetsInput) SetSubnetIds(v []*string) *DescribeSubnetsInput {
  35562. s.SubnetIds = v
  35563. return s
  35564. }
  35565. // Contains the output of DescribeSubnets.
  35566. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSubnetsResult
  35567. type DescribeSubnetsOutput struct {
  35568. _ struct{} `type:"structure"`
  35569. // Information about one or more subnets.
  35570. Subnets []*Subnet `locationName:"subnetSet" locationNameList:"item" type:"list"`
  35571. }
  35572. // String returns the string representation
  35573. func (s DescribeSubnetsOutput) String() string {
  35574. return awsutil.Prettify(s)
  35575. }
  35576. // GoString returns the string representation
  35577. func (s DescribeSubnetsOutput) GoString() string {
  35578. return s.String()
  35579. }
  35580. // SetSubnets sets the Subnets field's value.
  35581. func (s *DescribeSubnetsOutput) SetSubnets(v []*Subnet) *DescribeSubnetsOutput {
  35582. s.Subnets = v
  35583. return s
  35584. }
  35585. // Contains the parameters for DescribeTags.
  35586. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTagsRequest
  35587. type DescribeTagsInput struct {
  35588. _ struct{} `type:"structure"`
  35589. // Checks whether you have the required permissions for the action, without
  35590. // actually making the request, and provides an error response. If you have
  35591. // the required permissions, the error response is DryRunOperation. Otherwise,
  35592. // it is UnauthorizedOperation.
  35593. DryRun *bool `locationName:"dryRun" type:"boolean"`
  35594. // One or more filters.
  35595. //
  35596. // * key - The tag key.
  35597. //
  35598. // * resource-id - The resource ID.
  35599. //
  35600. // * resource-type - The resource type (customer-gateway | dhcp-options |
  35601. // image | instance | internet-gateway | network-acl | network-interface
  35602. // | reserved-instances | route-table | security-group | snapshot | spot-instances-request
  35603. // | subnet | volume | vpc | vpn-connection | vpn-gateway).
  35604. //
  35605. // * value - The tag value.
  35606. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  35607. // The maximum number of results to return in a single call. This value can
  35608. // be between 5 and 1000. To retrieve the remaining results, make another call
  35609. // with the returned NextToken value.
  35610. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  35611. // The token to retrieve the next page of results.
  35612. NextToken *string `locationName:"nextToken" type:"string"`
  35613. }
  35614. // String returns the string representation
  35615. func (s DescribeTagsInput) String() string {
  35616. return awsutil.Prettify(s)
  35617. }
  35618. // GoString returns the string representation
  35619. func (s DescribeTagsInput) GoString() string {
  35620. return s.String()
  35621. }
  35622. // SetDryRun sets the DryRun field's value.
  35623. func (s *DescribeTagsInput) SetDryRun(v bool) *DescribeTagsInput {
  35624. s.DryRun = &v
  35625. return s
  35626. }
  35627. // SetFilters sets the Filters field's value.
  35628. func (s *DescribeTagsInput) SetFilters(v []*Filter) *DescribeTagsInput {
  35629. s.Filters = v
  35630. return s
  35631. }
  35632. // SetMaxResults sets the MaxResults field's value.
  35633. func (s *DescribeTagsInput) SetMaxResults(v int64) *DescribeTagsInput {
  35634. s.MaxResults = &v
  35635. return s
  35636. }
  35637. // SetNextToken sets the NextToken field's value.
  35638. func (s *DescribeTagsInput) SetNextToken(v string) *DescribeTagsInput {
  35639. s.NextToken = &v
  35640. return s
  35641. }
  35642. // Contains the output of DescribeTags.
  35643. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTagsResult
  35644. type DescribeTagsOutput struct {
  35645. _ struct{} `type:"structure"`
  35646. // The token to use to retrieve the next page of results. This value is null
  35647. // when there are no more results to return..
  35648. NextToken *string `locationName:"nextToken" type:"string"`
  35649. // A list of tags.
  35650. Tags []*TagDescription `locationName:"tagSet" locationNameList:"item" type:"list"`
  35651. }
  35652. // String returns the string representation
  35653. func (s DescribeTagsOutput) String() string {
  35654. return awsutil.Prettify(s)
  35655. }
  35656. // GoString returns the string representation
  35657. func (s DescribeTagsOutput) GoString() string {
  35658. return s.String()
  35659. }
  35660. // SetNextToken sets the NextToken field's value.
  35661. func (s *DescribeTagsOutput) SetNextToken(v string) *DescribeTagsOutput {
  35662. s.NextToken = &v
  35663. return s
  35664. }
  35665. // SetTags sets the Tags field's value.
  35666. func (s *DescribeTagsOutput) SetTags(v []*TagDescription) *DescribeTagsOutput {
  35667. s.Tags = v
  35668. return s
  35669. }
  35670. // Contains the parameters for DescribeVolumeAttribute.
  35671. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeAttributeRequest
  35672. type DescribeVolumeAttributeInput struct {
  35673. _ struct{} `type:"structure"`
  35674. // The attribute of the volume. This parameter is required.
  35675. Attribute *string `type:"string" enum:"VolumeAttributeName"`
  35676. // Checks whether you have the required permissions for the action, without
  35677. // actually making the request, and provides an error response. If you have
  35678. // the required permissions, the error response is DryRunOperation. Otherwise,
  35679. // it is UnauthorizedOperation.
  35680. DryRun *bool `locationName:"dryRun" type:"boolean"`
  35681. // The ID of the volume.
  35682. //
  35683. // VolumeId is a required field
  35684. VolumeId *string `type:"string" required:"true"`
  35685. }
  35686. // String returns the string representation
  35687. func (s DescribeVolumeAttributeInput) String() string {
  35688. return awsutil.Prettify(s)
  35689. }
  35690. // GoString returns the string representation
  35691. func (s DescribeVolumeAttributeInput) GoString() string {
  35692. return s.String()
  35693. }
  35694. // Validate inspects the fields of the type to determine if they are valid.
  35695. func (s *DescribeVolumeAttributeInput) Validate() error {
  35696. invalidParams := request.ErrInvalidParams{Context: "DescribeVolumeAttributeInput"}
  35697. if s.VolumeId == nil {
  35698. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  35699. }
  35700. if invalidParams.Len() > 0 {
  35701. return invalidParams
  35702. }
  35703. return nil
  35704. }
  35705. // SetAttribute sets the Attribute field's value.
  35706. func (s *DescribeVolumeAttributeInput) SetAttribute(v string) *DescribeVolumeAttributeInput {
  35707. s.Attribute = &v
  35708. return s
  35709. }
  35710. // SetDryRun sets the DryRun field's value.
  35711. func (s *DescribeVolumeAttributeInput) SetDryRun(v bool) *DescribeVolumeAttributeInput {
  35712. s.DryRun = &v
  35713. return s
  35714. }
  35715. // SetVolumeId sets the VolumeId field's value.
  35716. func (s *DescribeVolumeAttributeInput) SetVolumeId(v string) *DescribeVolumeAttributeInput {
  35717. s.VolumeId = &v
  35718. return s
  35719. }
  35720. // Contains the output of DescribeVolumeAttribute.
  35721. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeAttributeResult
  35722. type DescribeVolumeAttributeOutput struct {
  35723. _ struct{} `type:"structure"`
  35724. // The state of autoEnableIO attribute.
  35725. AutoEnableIO *AttributeBooleanValue `locationName:"autoEnableIO" type:"structure"`
  35726. // A list of product codes.
  35727. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  35728. // The ID of the volume.
  35729. VolumeId *string `locationName:"volumeId" type:"string"`
  35730. }
  35731. // String returns the string representation
  35732. func (s DescribeVolumeAttributeOutput) String() string {
  35733. return awsutil.Prettify(s)
  35734. }
  35735. // GoString returns the string representation
  35736. func (s DescribeVolumeAttributeOutput) GoString() string {
  35737. return s.String()
  35738. }
  35739. // SetAutoEnableIO sets the AutoEnableIO field's value.
  35740. func (s *DescribeVolumeAttributeOutput) SetAutoEnableIO(v *AttributeBooleanValue) *DescribeVolumeAttributeOutput {
  35741. s.AutoEnableIO = v
  35742. return s
  35743. }
  35744. // SetProductCodes sets the ProductCodes field's value.
  35745. func (s *DescribeVolumeAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeVolumeAttributeOutput {
  35746. s.ProductCodes = v
  35747. return s
  35748. }
  35749. // SetVolumeId sets the VolumeId field's value.
  35750. func (s *DescribeVolumeAttributeOutput) SetVolumeId(v string) *DescribeVolumeAttributeOutput {
  35751. s.VolumeId = &v
  35752. return s
  35753. }
  35754. // Contains the parameters for DescribeVolumeStatus.
  35755. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeStatusRequest
  35756. type DescribeVolumeStatusInput struct {
  35757. _ struct{} `type:"structure"`
  35758. // Checks whether you have the required permissions for the action, without
  35759. // actually making the request, and provides an error response. If you have
  35760. // the required permissions, the error response is DryRunOperation. Otherwise,
  35761. // it is UnauthorizedOperation.
  35762. DryRun *bool `locationName:"dryRun" type:"boolean"`
  35763. // One or more filters.
  35764. //
  35765. // * action.code - The action code for the event (for example, enable-volume-io).
  35766. //
  35767. // * action.description - A description of the action.
  35768. //
  35769. // * action.event-id - The event ID associated with the action.
  35770. //
  35771. // * availability-zone - The Availability Zone of the instance.
  35772. //
  35773. // * event.description - A description of the event.
  35774. //
  35775. // * event.event-id - The event ID.
  35776. //
  35777. // * event.event-type - The event type (for io-enabled: passed | failed;
  35778. // for io-performance: io-performance:degraded | io-performance:severely-degraded
  35779. // | io-performance:stalled).
  35780. //
  35781. // * event.not-after - The latest end time for the event.
  35782. //
  35783. // * event.not-before - The earliest start time for the event.
  35784. //
  35785. // * volume-status.details-name - The cause for volume-status.status (io-enabled
  35786. // | io-performance).
  35787. //
  35788. // * volume-status.details-status - The status of volume-status.details-name
  35789. // (for io-enabled: passed | failed; for io-performance: normal | degraded
  35790. // | severely-degraded | stalled).
  35791. //
  35792. // * volume-status.status - The status of the volume (ok | impaired | warning
  35793. // | insufficient-data).
  35794. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  35795. // The maximum number of volume results returned by DescribeVolumeStatus in
  35796. // paginated output. When this parameter is used, the request only returns MaxResults
  35797. // results in a single page along with a NextToken response element. The remaining
  35798. // results of the initial request can be seen by sending another request with
  35799. // the returned NextToken value. This value can be between 5 and 1000; if MaxResults
  35800. // is given a value larger than 1000, only 1000 results are returned. If this
  35801. // parameter is not used, then DescribeVolumeStatus returns all results. You
  35802. // cannot specify this parameter and the volume IDs parameter in the same request.
  35803. MaxResults *int64 `type:"integer"`
  35804. // The NextToken value to include in a future DescribeVolumeStatus request.
  35805. // When the results of the request exceed MaxResults, this value can be used
  35806. // to retrieve the next page of results. This value is null when there are no
  35807. // more results to return.
  35808. NextToken *string `type:"string"`
  35809. // One or more volume IDs.
  35810. //
  35811. // Default: Describes all your volumes.
  35812. VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
  35813. }
  35814. // String returns the string representation
  35815. func (s DescribeVolumeStatusInput) String() string {
  35816. return awsutil.Prettify(s)
  35817. }
  35818. // GoString returns the string representation
  35819. func (s DescribeVolumeStatusInput) GoString() string {
  35820. return s.String()
  35821. }
  35822. // SetDryRun sets the DryRun field's value.
  35823. func (s *DescribeVolumeStatusInput) SetDryRun(v bool) *DescribeVolumeStatusInput {
  35824. s.DryRun = &v
  35825. return s
  35826. }
  35827. // SetFilters sets the Filters field's value.
  35828. func (s *DescribeVolumeStatusInput) SetFilters(v []*Filter) *DescribeVolumeStatusInput {
  35829. s.Filters = v
  35830. return s
  35831. }
  35832. // SetMaxResults sets the MaxResults field's value.
  35833. func (s *DescribeVolumeStatusInput) SetMaxResults(v int64) *DescribeVolumeStatusInput {
  35834. s.MaxResults = &v
  35835. return s
  35836. }
  35837. // SetNextToken sets the NextToken field's value.
  35838. func (s *DescribeVolumeStatusInput) SetNextToken(v string) *DescribeVolumeStatusInput {
  35839. s.NextToken = &v
  35840. return s
  35841. }
  35842. // SetVolumeIds sets the VolumeIds field's value.
  35843. func (s *DescribeVolumeStatusInput) SetVolumeIds(v []*string) *DescribeVolumeStatusInput {
  35844. s.VolumeIds = v
  35845. return s
  35846. }
  35847. // Contains the output of DescribeVolumeStatus.
  35848. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeStatusResult
  35849. type DescribeVolumeStatusOutput struct {
  35850. _ struct{} `type:"structure"`
  35851. // The token to use to retrieve the next page of results. This value is null
  35852. // when there are no more results to return.
  35853. NextToken *string `locationName:"nextToken" type:"string"`
  35854. // A list of volumes.
  35855. VolumeStatuses []*VolumeStatusItem `locationName:"volumeStatusSet" locationNameList:"item" type:"list"`
  35856. }
  35857. // String returns the string representation
  35858. func (s DescribeVolumeStatusOutput) String() string {
  35859. return awsutil.Prettify(s)
  35860. }
  35861. // GoString returns the string representation
  35862. func (s DescribeVolumeStatusOutput) GoString() string {
  35863. return s.String()
  35864. }
  35865. // SetNextToken sets the NextToken field's value.
  35866. func (s *DescribeVolumeStatusOutput) SetNextToken(v string) *DescribeVolumeStatusOutput {
  35867. s.NextToken = &v
  35868. return s
  35869. }
  35870. // SetVolumeStatuses sets the VolumeStatuses field's value.
  35871. func (s *DescribeVolumeStatusOutput) SetVolumeStatuses(v []*VolumeStatusItem) *DescribeVolumeStatusOutput {
  35872. s.VolumeStatuses = v
  35873. return s
  35874. }
  35875. // Contains the parameters for DescribeVolumes.
  35876. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumesRequest
  35877. type DescribeVolumesInput struct {
  35878. _ struct{} `type:"structure"`
  35879. // Checks whether you have the required permissions for the action, without
  35880. // actually making the request, and provides an error response. If you have
  35881. // the required permissions, the error response is DryRunOperation. Otherwise,
  35882. // it is UnauthorizedOperation.
  35883. DryRun *bool `locationName:"dryRun" type:"boolean"`
  35884. // One or more filters.
  35885. //
  35886. // * attachment.attach-time - The time stamp when the attachment initiated.
  35887. //
  35888. // * attachment.delete-on-termination - Whether the volume is deleted on
  35889. // instance termination.
  35890. //
  35891. // * attachment.device - The device name specified in the block device mapping
  35892. // (for example, /dev/sda1).
  35893. //
  35894. // * attachment.instance-id - The ID of the instance the volume is attached
  35895. // to.
  35896. //
  35897. // * attachment.status - The attachment state (attaching | attached | detaching
  35898. // | detached).
  35899. //
  35900. // * availability-zone - The Availability Zone in which the volume was created.
  35901. //
  35902. // * create-time - The time stamp when the volume was created.
  35903. //
  35904. // * encrypted - The encryption status of the volume.
  35905. //
  35906. // * size - The size of the volume, in GiB.
  35907. //
  35908. // * snapshot-id - The snapshot from which the volume was created.
  35909. //
  35910. // * status - The status of the volume (creating | available | in-use | deleting
  35911. // | deleted | error).
  35912. //
  35913. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  35914. // Specify the key of the tag in the filter name and the value of the tag
  35915. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  35916. // for the filter name and X for the filter value.
  35917. //
  35918. // * tag-key - The key of a tag assigned to the resource. This filter is
  35919. // independent of the tag-value filter. For example, if you use both the
  35920. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  35921. // assigned both the tag key Purpose (regardless of what the tag's value
  35922. // is), and the tag value X (regardless of what the tag's key is). If you
  35923. // want to list only resources where Purpose is X, see the tag:key=value
  35924. // filter.
  35925. //
  35926. // * tag-value - The value of a tag assigned to the resource. This filter
  35927. // is independent of the tag-key filter.
  35928. //
  35929. // * volume-id - The volume ID.
  35930. //
  35931. // * volume-type - The Amazon EBS volume type. This can be gp2 for General
  35932. // Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput Optimized
  35933. // HDD, sc1 for Cold HDD, or standard for Magnetic volumes.
  35934. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  35935. // The maximum number of volume results returned by DescribeVolumes in paginated
  35936. // output. When this parameter is used, DescribeVolumes only returns MaxResults
  35937. // results in a single page along with a NextToken response element. The remaining
  35938. // results of the initial request can be seen by sending another DescribeVolumes
  35939. // request with the returned NextToken value. This value can be between 5 and
  35940. // 500; if MaxResults is given a value larger than 500, only 500 results are
  35941. // returned. If this parameter is not used, then DescribeVolumes returns all
  35942. // results. You cannot specify this parameter and the volume IDs parameter in
  35943. // the same request.
  35944. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  35945. // The NextToken value returned from a previous paginated DescribeVolumes request
  35946. // where MaxResults was used and the results exceeded the value of that parameter.
  35947. // Pagination continues from the end of the previous results that returned the
  35948. // NextToken value. This value is null when there are no more results to return.
  35949. NextToken *string `locationName:"nextToken" type:"string"`
  35950. // One or more volume IDs.
  35951. VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
  35952. }
  35953. // String returns the string representation
  35954. func (s DescribeVolumesInput) String() string {
  35955. return awsutil.Prettify(s)
  35956. }
  35957. // GoString returns the string representation
  35958. func (s DescribeVolumesInput) GoString() string {
  35959. return s.String()
  35960. }
  35961. // SetDryRun sets the DryRun field's value.
  35962. func (s *DescribeVolumesInput) SetDryRun(v bool) *DescribeVolumesInput {
  35963. s.DryRun = &v
  35964. return s
  35965. }
  35966. // SetFilters sets the Filters field's value.
  35967. func (s *DescribeVolumesInput) SetFilters(v []*Filter) *DescribeVolumesInput {
  35968. s.Filters = v
  35969. return s
  35970. }
  35971. // SetMaxResults sets the MaxResults field's value.
  35972. func (s *DescribeVolumesInput) SetMaxResults(v int64) *DescribeVolumesInput {
  35973. s.MaxResults = &v
  35974. return s
  35975. }
  35976. // SetNextToken sets the NextToken field's value.
  35977. func (s *DescribeVolumesInput) SetNextToken(v string) *DescribeVolumesInput {
  35978. s.NextToken = &v
  35979. return s
  35980. }
  35981. // SetVolumeIds sets the VolumeIds field's value.
  35982. func (s *DescribeVolumesInput) SetVolumeIds(v []*string) *DescribeVolumesInput {
  35983. s.VolumeIds = v
  35984. return s
  35985. }
  35986. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumesModificationsRequest
  35987. type DescribeVolumesModificationsInput struct {
  35988. _ struct{} `type:"structure"`
  35989. // Checks whether you have the required permissions for the action, without
  35990. // actually making the request, and provides an error response. If you have
  35991. // the required permissions, the error response is DryRunOperation. Otherwise,
  35992. // it is UnauthorizedOperation.
  35993. DryRun *bool `type:"boolean"`
  35994. // One or more filters. Supported filters: volume-id, modification-state, target-size,
  35995. // target-iops, target-volume-type, original-size, original-iops, original-volume-type,
  35996. // start-time.
  35997. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  35998. // The maximum number of results (up to a limit of 500) to be returned in a
  35999. // paginated request.
  36000. MaxResults *int64 `type:"integer"`
  36001. // The nextToken value returned by a previous paginated request.
  36002. NextToken *string `type:"string"`
  36003. // One or more volume IDs for which in-progress modifications will be described.
  36004. VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
  36005. }
  36006. // String returns the string representation
  36007. func (s DescribeVolumesModificationsInput) String() string {
  36008. return awsutil.Prettify(s)
  36009. }
  36010. // GoString returns the string representation
  36011. func (s DescribeVolumesModificationsInput) GoString() string {
  36012. return s.String()
  36013. }
  36014. // SetDryRun sets the DryRun field's value.
  36015. func (s *DescribeVolumesModificationsInput) SetDryRun(v bool) *DescribeVolumesModificationsInput {
  36016. s.DryRun = &v
  36017. return s
  36018. }
  36019. // SetFilters sets the Filters field's value.
  36020. func (s *DescribeVolumesModificationsInput) SetFilters(v []*Filter) *DescribeVolumesModificationsInput {
  36021. s.Filters = v
  36022. return s
  36023. }
  36024. // SetMaxResults sets the MaxResults field's value.
  36025. func (s *DescribeVolumesModificationsInput) SetMaxResults(v int64) *DescribeVolumesModificationsInput {
  36026. s.MaxResults = &v
  36027. return s
  36028. }
  36029. // SetNextToken sets the NextToken field's value.
  36030. func (s *DescribeVolumesModificationsInput) SetNextToken(v string) *DescribeVolumesModificationsInput {
  36031. s.NextToken = &v
  36032. return s
  36033. }
  36034. // SetVolumeIds sets the VolumeIds field's value.
  36035. func (s *DescribeVolumesModificationsInput) SetVolumeIds(v []*string) *DescribeVolumesModificationsInput {
  36036. s.VolumeIds = v
  36037. return s
  36038. }
  36039. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumesModificationsResult
  36040. type DescribeVolumesModificationsOutput struct {
  36041. _ struct{} `type:"structure"`
  36042. // Token for pagination, null if there are no more results
  36043. NextToken *string `locationName:"nextToken" type:"string"`
  36044. // A list of returned VolumeModification objects.
  36045. VolumesModifications []*VolumeModification `locationName:"volumeModificationSet" locationNameList:"item" type:"list"`
  36046. }
  36047. // String returns the string representation
  36048. func (s DescribeVolumesModificationsOutput) String() string {
  36049. return awsutil.Prettify(s)
  36050. }
  36051. // GoString returns the string representation
  36052. func (s DescribeVolumesModificationsOutput) GoString() string {
  36053. return s.String()
  36054. }
  36055. // SetNextToken sets the NextToken field's value.
  36056. func (s *DescribeVolumesModificationsOutput) SetNextToken(v string) *DescribeVolumesModificationsOutput {
  36057. s.NextToken = &v
  36058. return s
  36059. }
  36060. // SetVolumesModifications sets the VolumesModifications field's value.
  36061. func (s *DescribeVolumesModificationsOutput) SetVolumesModifications(v []*VolumeModification) *DescribeVolumesModificationsOutput {
  36062. s.VolumesModifications = v
  36063. return s
  36064. }
  36065. // Contains the output of DescribeVolumes.
  36066. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumesResult
  36067. type DescribeVolumesOutput struct {
  36068. _ struct{} `type:"structure"`
  36069. // The NextToken value to include in a future DescribeVolumes request. When
  36070. // the results of a DescribeVolumes request exceed MaxResults, this value can
  36071. // be used to retrieve the next page of results. This value is null when there
  36072. // are no more results to return.
  36073. NextToken *string `locationName:"nextToken" type:"string"`
  36074. // Information about the volumes.
  36075. Volumes []*Volume `locationName:"volumeSet" locationNameList:"item" type:"list"`
  36076. }
  36077. // String returns the string representation
  36078. func (s DescribeVolumesOutput) String() string {
  36079. return awsutil.Prettify(s)
  36080. }
  36081. // GoString returns the string representation
  36082. func (s DescribeVolumesOutput) GoString() string {
  36083. return s.String()
  36084. }
  36085. // SetNextToken sets the NextToken field's value.
  36086. func (s *DescribeVolumesOutput) SetNextToken(v string) *DescribeVolumesOutput {
  36087. s.NextToken = &v
  36088. return s
  36089. }
  36090. // SetVolumes sets the Volumes field's value.
  36091. func (s *DescribeVolumesOutput) SetVolumes(v []*Volume) *DescribeVolumesOutput {
  36092. s.Volumes = v
  36093. return s
  36094. }
  36095. // Contains the parameters for DescribeVpcAttribute.
  36096. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcAttributeRequest
  36097. type DescribeVpcAttributeInput struct {
  36098. _ struct{} `type:"structure"`
  36099. // The VPC attribute.
  36100. //
  36101. // Attribute is a required field
  36102. Attribute *string `type:"string" required:"true" enum:"VpcAttributeName"`
  36103. // Checks whether you have the required permissions for the action, without
  36104. // actually making the request, and provides an error response. If you have
  36105. // the required permissions, the error response is DryRunOperation. Otherwise,
  36106. // it is UnauthorizedOperation.
  36107. DryRun *bool `locationName:"dryRun" type:"boolean"`
  36108. // The ID of the VPC.
  36109. //
  36110. // VpcId is a required field
  36111. VpcId *string `type:"string" required:"true"`
  36112. }
  36113. // String returns the string representation
  36114. func (s DescribeVpcAttributeInput) String() string {
  36115. return awsutil.Prettify(s)
  36116. }
  36117. // GoString returns the string representation
  36118. func (s DescribeVpcAttributeInput) GoString() string {
  36119. return s.String()
  36120. }
  36121. // Validate inspects the fields of the type to determine if they are valid.
  36122. func (s *DescribeVpcAttributeInput) Validate() error {
  36123. invalidParams := request.ErrInvalidParams{Context: "DescribeVpcAttributeInput"}
  36124. if s.Attribute == nil {
  36125. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  36126. }
  36127. if s.VpcId == nil {
  36128. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  36129. }
  36130. if invalidParams.Len() > 0 {
  36131. return invalidParams
  36132. }
  36133. return nil
  36134. }
  36135. // SetAttribute sets the Attribute field's value.
  36136. func (s *DescribeVpcAttributeInput) SetAttribute(v string) *DescribeVpcAttributeInput {
  36137. s.Attribute = &v
  36138. return s
  36139. }
  36140. // SetDryRun sets the DryRun field's value.
  36141. func (s *DescribeVpcAttributeInput) SetDryRun(v bool) *DescribeVpcAttributeInput {
  36142. s.DryRun = &v
  36143. return s
  36144. }
  36145. // SetVpcId sets the VpcId field's value.
  36146. func (s *DescribeVpcAttributeInput) SetVpcId(v string) *DescribeVpcAttributeInput {
  36147. s.VpcId = &v
  36148. return s
  36149. }
  36150. // Contains the output of DescribeVpcAttribute.
  36151. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcAttributeResult
  36152. type DescribeVpcAttributeOutput struct {
  36153. _ struct{} `type:"structure"`
  36154. // Indicates whether the instances launched in the VPC get DNS hostnames. If
  36155. // this attribute is true, instances in the VPC get DNS hostnames; otherwise,
  36156. // they do not.
  36157. EnableDnsHostnames *AttributeBooleanValue `locationName:"enableDnsHostnames" type:"structure"`
  36158. // Indicates whether DNS resolution is enabled for the VPC. If this attribute
  36159. // is true, the Amazon DNS server resolves DNS hostnames for your instances
  36160. // to their corresponding IP addresses; otherwise, it does not.
  36161. EnableDnsSupport *AttributeBooleanValue `locationName:"enableDnsSupport" type:"structure"`
  36162. // The ID of the VPC.
  36163. VpcId *string `locationName:"vpcId" type:"string"`
  36164. }
  36165. // String returns the string representation
  36166. func (s DescribeVpcAttributeOutput) String() string {
  36167. return awsutil.Prettify(s)
  36168. }
  36169. // GoString returns the string representation
  36170. func (s DescribeVpcAttributeOutput) GoString() string {
  36171. return s.String()
  36172. }
  36173. // SetEnableDnsHostnames sets the EnableDnsHostnames field's value.
  36174. func (s *DescribeVpcAttributeOutput) SetEnableDnsHostnames(v *AttributeBooleanValue) *DescribeVpcAttributeOutput {
  36175. s.EnableDnsHostnames = v
  36176. return s
  36177. }
  36178. // SetEnableDnsSupport sets the EnableDnsSupport field's value.
  36179. func (s *DescribeVpcAttributeOutput) SetEnableDnsSupport(v *AttributeBooleanValue) *DescribeVpcAttributeOutput {
  36180. s.EnableDnsSupport = v
  36181. return s
  36182. }
  36183. // SetVpcId sets the VpcId field's value.
  36184. func (s *DescribeVpcAttributeOutput) SetVpcId(v string) *DescribeVpcAttributeOutput {
  36185. s.VpcId = &v
  36186. return s
  36187. }
  36188. // Contains the parameters for DescribeVpcClassicLinkDnsSupport.
  36189. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkDnsSupportRequest
  36190. type DescribeVpcClassicLinkDnsSupportInput struct {
  36191. _ struct{} `type:"structure"`
  36192. // The maximum number of items to return for this request. The request returns
  36193. // a token that you can specify in a subsequent call to get the next set of
  36194. // results.
  36195. MaxResults *int64 `locationName:"maxResults" min:"5" type:"integer"`
  36196. // The token for the next set of items to return. (You received this token from
  36197. // a prior call.)
  36198. NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  36199. // One or more VPC IDs.
  36200. VpcIds []*string `locationNameList:"VpcId" type:"list"`
  36201. }
  36202. // String returns the string representation
  36203. func (s DescribeVpcClassicLinkDnsSupportInput) String() string {
  36204. return awsutil.Prettify(s)
  36205. }
  36206. // GoString returns the string representation
  36207. func (s DescribeVpcClassicLinkDnsSupportInput) GoString() string {
  36208. return s.String()
  36209. }
  36210. // Validate inspects the fields of the type to determine if they are valid.
  36211. func (s *DescribeVpcClassicLinkDnsSupportInput) Validate() error {
  36212. invalidParams := request.ErrInvalidParams{Context: "DescribeVpcClassicLinkDnsSupportInput"}
  36213. if s.MaxResults != nil && *s.MaxResults < 5 {
  36214. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  36215. }
  36216. if s.NextToken != nil && len(*s.NextToken) < 1 {
  36217. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  36218. }
  36219. if invalidParams.Len() > 0 {
  36220. return invalidParams
  36221. }
  36222. return nil
  36223. }
  36224. // SetMaxResults sets the MaxResults field's value.
  36225. func (s *DescribeVpcClassicLinkDnsSupportInput) SetMaxResults(v int64) *DescribeVpcClassicLinkDnsSupportInput {
  36226. s.MaxResults = &v
  36227. return s
  36228. }
  36229. // SetNextToken sets the NextToken field's value.
  36230. func (s *DescribeVpcClassicLinkDnsSupportInput) SetNextToken(v string) *DescribeVpcClassicLinkDnsSupportInput {
  36231. s.NextToken = &v
  36232. return s
  36233. }
  36234. // SetVpcIds sets the VpcIds field's value.
  36235. func (s *DescribeVpcClassicLinkDnsSupportInput) SetVpcIds(v []*string) *DescribeVpcClassicLinkDnsSupportInput {
  36236. s.VpcIds = v
  36237. return s
  36238. }
  36239. // Contains the output of DescribeVpcClassicLinkDnsSupport.
  36240. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkDnsSupportResult
  36241. type DescribeVpcClassicLinkDnsSupportOutput struct {
  36242. _ struct{} `type:"structure"`
  36243. // The token to use when requesting the next set of items.
  36244. NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  36245. // Information about the ClassicLink DNS support status of the VPCs.
  36246. Vpcs []*ClassicLinkDnsSupport `locationName:"vpcs" locationNameList:"item" type:"list"`
  36247. }
  36248. // String returns the string representation
  36249. func (s DescribeVpcClassicLinkDnsSupportOutput) String() string {
  36250. return awsutil.Prettify(s)
  36251. }
  36252. // GoString returns the string representation
  36253. func (s DescribeVpcClassicLinkDnsSupportOutput) GoString() string {
  36254. return s.String()
  36255. }
  36256. // SetNextToken sets the NextToken field's value.
  36257. func (s *DescribeVpcClassicLinkDnsSupportOutput) SetNextToken(v string) *DescribeVpcClassicLinkDnsSupportOutput {
  36258. s.NextToken = &v
  36259. return s
  36260. }
  36261. // SetVpcs sets the Vpcs field's value.
  36262. func (s *DescribeVpcClassicLinkDnsSupportOutput) SetVpcs(v []*ClassicLinkDnsSupport) *DescribeVpcClassicLinkDnsSupportOutput {
  36263. s.Vpcs = v
  36264. return s
  36265. }
  36266. // Contains the parameters for DescribeVpcClassicLink.
  36267. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkRequest
  36268. type DescribeVpcClassicLinkInput struct {
  36269. _ struct{} `type:"structure"`
  36270. // Checks whether you have the required permissions for the action, without
  36271. // actually making the request, and provides an error response. If you have
  36272. // the required permissions, the error response is DryRunOperation. Otherwise,
  36273. // it is UnauthorizedOperation.
  36274. DryRun *bool `locationName:"dryRun" type:"boolean"`
  36275. // One or more filters.
  36276. //
  36277. // * is-classic-link-enabled - Whether the VPC is enabled for ClassicLink
  36278. // (true | false).
  36279. //
  36280. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  36281. // Specify the key of the tag in the filter name and the value of the tag
  36282. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  36283. // for the filter name and X for the filter value.
  36284. //
  36285. // * tag-key - The key of a tag assigned to the resource. This filter is
  36286. // independent of the tag-value filter. For example, if you use both the
  36287. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  36288. // assigned both the tag key Purpose (regardless of what the tag's value
  36289. // is), and the tag value X (regardless of what the tag's key is). If you
  36290. // want to list only resources where Purpose is X, see the tag:key=value
  36291. // filter.
  36292. //
  36293. // * tag-value - The value of a tag assigned to the resource. This filter
  36294. // is independent of the tag-key filter.
  36295. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  36296. // One or more VPCs for which you want to describe the ClassicLink status.
  36297. VpcIds []*string `locationName:"VpcId" locationNameList:"VpcId" type:"list"`
  36298. }
  36299. // String returns the string representation
  36300. func (s DescribeVpcClassicLinkInput) String() string {
  36301. return awsutil.Prettify(s)
  36302. }
  36303. // GoString returns the string representation
  36304. func (s DescribeVpcClassicLinkInput) GoString() string {
  36305. return s.String()
  36306. }
  36307. // SetDryRun sets the DryRun field's value.
  36308. func (s *DescribeVpcClassicLinkInput) SetDryRun(v bool) *DescribeVpcClassicLinkInput {
  36309. s.DryRun = &v
  36310. return s
  36311. }
  36312. // SetFilters sets the Filters field's value.
  36313. func (s *DescribeVpcClassicLinkInput) SetFilters(v []*Filter) *DescribeVpcClassicLinkInput {
  36314. s.Filters = v
  36315. return s
  36316. }
  36317. // SetVpcIds sets the VpcIds field's value.
  36318. func (s *DescribeVpcClassicLinkInput) SetVpcIds(v []*string) *DescribeVpcClassicLinkInput {
  36319. s.VpcIds = v
  36320. return s
  36321. }
  36322. // Contains the output of DescribeVpcClassicLink.
  36323. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkResult
  36324. type DescribeVpcClassicLinkOutput struct {
  36325. _ struct{} `type:"structure"`
  36326. // The ClassicLink status of one or more VPCs.
  36327. Vpcs []*VpcClassicLink `locationName:"vpcSet" locationNameList:"item" type:"list"`
  36328. }
  36329. // String returns the string representation
  36330. func (s DescribeVpcClassicLinkOutput) String() string {
  36331. return awsutil.Prettify(s)
  36332. }
  36333. // GoString returns the string representation
  36334. func (s DescribeVpcClassicLinkOutput) GoString() string {
  36335. return s.String()
  36336. }
  36337. // SetVpcs sets the Vpcs field's value.
  36338. func (s *DescribeVpcClassicLinkOutput) SetVpcs(v []*VpcClassicLink) *DescribeVpcClassicLinkOutput {
  36339. s.Vpcs = v
  36340. return s
  36341. }
  36342. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnectionNotificationsRequest
  36343. type DescribeVpcEndpointConnectionNotificationsInput struct {
  36344. _ struct{} `type:"structure"`
  36345. // The ID of the notification.
  36346. ConnectionNotificationId *string `type:"string"`
  36347. // Checks whether you have the required permissions for the action, without
  36348. // actually making the request, and provides an error response. If you have
  36349. // the required permissions, the error response is DryRunOperation. Otherwise,
  36350. // it is UnauthorizedOperation.
  36351. DryRun *bool `type:"boolean"`
  36352. // One or more filters.
  36353. //
  36354. // * connection-notification-arn - The ARN of SNS topic for the notification.
  36355. //
  36356. // * connection-notification-id - The ID of the notification.
  36357. //
  36358. // * connection-notification-state - The state of the notification (Enabled
  36359. // | Disabled).
  36360. //
  36361. // * connection-notification-type - The type of notification (Topic).
  36362. //
  36363. // * service-id - The ID of the endpoint service.
  36364. //
  36365. // * vpc-endpoint-id - The ID of the VPC endpoint.
  36366. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  36367. // The maximum number of results to return in a single call. To retrieve the
  36368. // remaining results, make another request with the returned NextToken value.
  36369. MaxResults *int64 `type:"integer"`
  36370. // The token to request the next page of results.
  36371. NextToken *string `type:"string"`
  36372. }
  36373. // String returns the string representation
  36374. func (s DescribeVpcEndpointConnectionNotificationsInput) String() string {
  36375. return awsutil.Prettify(s)
  36376. }
  36377. // GoString returns the string representation
  36378. func (s DescribeVpcEndpointConnectionNotificationsInput) GoString() string {
  36379. return s.String()
  36380. }
  36381. // SetConnectionNotificationId sets the ConnectionNotificationId field's value.
  36382. func (s *DescribeVpcEndpointConnectionNotificationsInput) SetConnectionNotificationId(v string) *DescribeVpcEndpointConnectionNotificationsInput {
  36383. s.ConnectionNotificationId = &v
  36384. return s
  36385. }
  36386. // SetDryRun sets the DryRun field's value.
  36387. func (s *DescribeVpcEndpointConnectionNotificationsInput) SetDryRun(v bool) *DescribeVpcEndpointConnectionNotificationsInput {
  36388. s.DryRun = &v
  36389. return s
  36390. }
  36391. // SetFilters sets the Filters field's value.
  36392. func (s *DescribeVpcEndpointConnectionNotificationsInput) SetFilters(v []*Filter) *DescribeVpcEndpointConnectionNotificationsInput {
  36393. s.Filters = v
  36394. return s
  36395. }
  36396. // SetMaxResults sets the MaxResults field's value.
  36397. func (s *DescribeVpcEndpointConnectionNotificationsInput) SetMaxResults(v int64) *DescribeVpcEndpointConnectionNotificationsInput {
  36398. s.MaxResults = &v
  36399. return s
  36400. }
  36401. // SetNextToken sets the NextToken field's value.
  36402. func (s *DescribeVpcEndpointConnectionNotificationsInput) SetNextToken(v string) *DescribeVpcEndpointConnectionNotificationsInput {
  36403. s.NextToken = &v
  36404. return s
  36405. }
  36406. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnectionNotificationsResult
  36407. type DescribeVpcEndpointConnectionNotificationsOutput struct {
  36408. _ struct{} `type:"structure"`
  36409. // One or more notifications.
  36410. ConnectionNotificationSet []*ConnectionNotification `locationName:"connectionNotificationSet" locationNameList:"item" type:"list"`
  36411. // The token to use to retrieve the next page of results. This value is null
  36412. // when there are no more results to return.
  36413. NextToken *string `locationName:"nextToken" type:"string"`
  36414. }
  36415. // String returns the string representation
  36416. func (s DescribeVpcEndpointConnectionNotificationsOutput) String() string {
  36417. return awsutil.Prettify(s)
  36418. }
  36419. // GoString returns the string representation
  36420. func (s DescribeVpcEndpointConnectionNotificationsOutput) GoString() string {
  36421. return s.String()
  36422. }
  36423. // SetConnectionNotificationSet sets the ConnectionNotificationSet field's value.
  36424. func (s *DescribeVpcEndpointConnectionNotificationsOutput) SetConnectionNotificationSet(v []*ConnectionNotification) *DescribeVpcEndpointConnectionNotificationsOutput {
  36425. s.ConnectionNotificationSet = v
  36426. return s
  36427. }
  36428. // SetNextToken sets the NextToken field's value.
  36429. func (s *DescribeVpcEndpointConnectionNotificationsOutput) SetNextToken(v string) *DescribeVpcEndpointConnectionNotificationsOutput {
  36430. s.NextToken = &v
  36431. return s
  36432. }
  36433. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnectionsRequest
  36434. type DescribeVpcEndpointConnectionsInput struct {
  36435. _ struct{} `type:"structure"`
  36436. // Checks whether you have the required permissions for the action, without
  36437. // actually making the request, and provides an error response. If you have
  36438. // the required permissions, the error response is DryRunOperation. Otherwise,
  36439. // it is UnauthorizedOperation.
  36440. DryRun *bool `type:"boolean"`
  36441. // One or more filters.
  36442. //
  36443. // * service-id - The ID of the service.
  36444. //
  36445. // * vpc-endpoint-owner - The AWS account number of the owner of the endpoint.
  36446. //
  36447. // * vpc-endpoint-state - The state of the endpoint (pendingAcceptance |
  36448. // pending | available | deleting | deleted | rejected | failed).
  36449. //
  36450. // * vpc-endpoint-id - The ID of the endpoint.
  36451. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  36452. // The maximum number of results to return for the request in a single page.
  36453. // The remaining results of the initial request can be seen by sending another
  36454. // request with the returned NextToken value. This value can be between 5 and
  36455. // 1000; if MaxResults is given a value larger than 1000, only 1000 results
  36456. // are returned.
  36457. MaxResults *int64 `type:"integer"`
  36458. // The token to retrieve the next page of results.
  36459. NextToken *string `type:"string"`
  36460. }
  36461. // String returns the string representation
  36462. func (s DescribeVpcEndpointConnectionsInput) String() string {
  36463. return awsutil.Prettify(s)
  36464. }
  36465. // GoString returns the string representation
  36466. func (s DescribeVpcEndpointConnectionsInput) GoString() string {
  36467. return s.String()
  36468. }
  36469. // SetDryRun sets the DryRun field's value.
  36470. func (s *DescribeVpcEndpointConnectionsInput) SetDryRun(v bool) *DescribeVpcEndpointConnectionsInput {
  36471. s.DryRun = &v
  36472. return s
  36473. }
  36474. // SetFilters sets the Filters field's value.
  36475. func (s *DescribeVpcEndpointConnectionsInput) SetFilters(v []*Filter) *DescribeVpcEndpointConnectionsInput {
  36476. s.Filters = v
  36477. return s
  36478. }
  36479. // SetMaxResults sets the MaxResults field's value.
  36480. func (s *DescribeVpcEndpointConnectionsInput) SetMaxResults(v int64) *DescribeVpcEndpointConnectionsInput {
  36481. s.MaxResults = &v
  36482. return s
  36483. }
  36484. // SetNextToken sets the NextToken field's value.
  36485. func (s *DescribeVpcEndpointConnectionsInput) SetNextToken(v string) *DescribeVpcEndpointConnectionsInput {
  36486. s.NextToken = &v
  36487. return s
  36488. }
  36489. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnectionsResult
  36490. type DescribeVpcEndpointConnectionsOutput struct {
  36491. _ struct{} `type:"structure"`
  36492. // The token to use to retrieve the next page of results. This value is null
  36493. // when there are no more results to return.
  36494. NextToken *string `locationName:"nextToken" type:"string"`
  36495. // Information about one or more VPC endpoint connections.
  36496. VpcEndpointConnections []*VpcEndpointConnection `locationName:"vpcEndpointConnectionSet" locationNameList:"item" type:"list"`
  36497. }
  36498. // String returns the string representation
  36499. func (s DescribeVpcEndpointConnectionsOutput) String() string {
  36500. return awsutil.Prettify(s)
  36501. }
  36502. // GoString returns the string representation
  36503. func (s DescribeVpcEndpointConnectionsOutput) GoString() string {
  36504. return s.String()
  36505. }
  36506. // SetNextToken sets the NextToken field's value.
  36507. func (s *DescribeVpcEndpointConnectionsOutput) SetNextToken(v string) *DescribeVpcEndpointConnectionsOutput {
  36508. s.NextToken = &v
  36509. return s
  36510. }
  36511. // SetVpcEndpointConnections sets the VpcEndpointConnections field's value.
  36512. func (s *DescribeVpcEndpointConnectionsOutput) SetVpcEndpointConnections(v []*VpcEndpointConnection) *DescribeVpcEndpointConnectionsOutput {
  36513. s.VpcEndpointConnections = v
  36514. return s
  36515. }
  36516. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServiceConfigurationsRequest
  36517. type DescribeVpcEndpointServiceConfigurationsInput struct {
  36518. _ struct{} `type:"structure"`
  36519. // Checks whether you have the required permissions for the action, without
  36520. // actually making the request, and provides an error response. If you have
  36521. // the required permissions, the error response is DryRunOperation. Otherwise,
  36522. // it is UnauthorizedOperation.
  36523. DryRun *bool `type:"boolean"`
  36524. // One or more filters.
  36525. //
  36526. // * service-name - The name of the service.
  36527. //
  36528. // * service-id - The ID of the service.
  36529. //
  36530. // * service-state - The state of the service (Pending | Available | Deleting
  36531. // | Deleted | Failed).
  36532. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  36533. // The maximum number of results to return for the request in a single page.
  36534. // The remaining results of the initial request can be seen by sending another
  36535. // request with the returned NextToken value. This value can be between 5 and
  36536. // 1000; if MaxResults is given a value larger than 1000, only 1000 results
  36537. // are returned.
  36538. MaxResults *int64 `type:"integer"`
  36539. // The token to retrieve the next page of results.
  36540. NextToken *string `type:"string"`
  36541. // The IDs of one or more services.
  36542. ServiceIds []*string `locationName:"ServiceId" locationNameList:"item" type:"list"`
  36543. }
  36544. // String returns the string representation
  36545. func (s DescribeVpcEndpointServiceConfigurationsInput) String() string {
  36546. return awsutil.Prettify(s)
  36547. }
  36548. // GoString returns the string representation
  36549. func (s DescribeVpcEndpointServiceConfigurationsInput) GoString() string {
  36550. return s.String()
  36551. }
  36552. // SetDryRun sets the DryRun field's value.
  36553. func (s *DescribeVpcEndpointServiceConfigurationsInput) SetDryRun(v bool) *DescribeVpcEndpointServiceConfigurationsInput {
  36554. s.DryRun = &v
  36555. return s
  36556. }
  36557. // SetFilters sets the Filters field's value.
  36558. func (s *DescribeVpcEndpointServiceConfigurationsInput) SetFilters(v []*Filter) *DescribeVpcEndpointServiceConfigurationsInput {
  36559. s.Filters = v
  36560. return s
  36561. }
  36562. // SetMaxResults sets the MaxResults field's value.
  36563. func (s *DescribeVpcEndpointServiceConfigurationsInput) SetMaxResults(v int64) *DescribeVpcEndpointServiceConfigurationsInput {
  36564. s.MaxResults = &v
  36565. return s
  36566. }
  36567. // SetNextToken sets the NextToken field's value.
  36568. func (s *DescribeVpcEndpointServiceConfigurationsInput) SetNextToken(v string) *DescribeVpcEndpointServiceConfigurationsInput {
  36569. s.NextToken = &v
  36570. return s
  36571. }
  36572. // SetServiceIds sets the ServiceIds field's value.
  36573. func (s *DescribeVpcEndpointServiceConfigurationsInput) SetServiceIds(v []*string) *DescribeVpcEndpointServiceConfigurationsInput {
  36574. s.ServiceIds = v
  36575. return s
  36576. }
  36577. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServiceConfigurationsResult
  36578. type DescribeVpcEndpointServiceConfigurationsOutput struct {
  36579. _ struct{} `type:"structure"`
  36580. // The token to use to retrieve the next page of results. This value is null
  36581. // when there are no more results to return.
  36582. NextToken *string `locationName:"nextToken" type:"string"`
  36583. // Information about one or more services.
  36584. ServiceConfigurations []*ServiceConfiguration `locationName:"serviceConfigurationSet" locationNameList:"item" type:"list"`
  36585. }
  36586. // String returns the string representation
  36587. func (s DescribeVpcEndpointServiceConfigurationsOutput) String() string {
  36588. return awsutil.Prettify(s)
  36589. }
  36590. // GoString returns the string representation
  36591. func (s DescribeVpcEndpointServiceConfigurationsOutput) GoString() string {
  36592. return s.String()
  36593. }
  36594. // SetNextToken sets the NextToken field's value.
  36595. func (s *DescribeVpcEndpointServiceConfigurationsOutput) SetNextToken(v string) *DescribeVpcEndpointServiceConfigurationsOutput {
  36596. s.NextToken = &v
  36597. return s
  36598. }
  36599. // SetServiceConfigurations sets the ServiceConfigurations field's value.
  36600. func (s *DescribeVpcEndpointServiceConfigurationsOutput) SetServiceConfigurations(v []*ServiceConfiguration) *DescribeVpcEndpointServiceConfigurationsOutput {
  36601. s.ServiceConfigurations = v
  36602. return s
  36603. }
  36604. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServicePermissionsRequest
  36605. type DescribeVpcEndpointServicePermissionsInput struct {
  36606. _ struct{} `type:"structure"`
  36607. // Checks whether you have the required permissions for the action, without
  36608. // actually making the request, and provides an error response. If you have
  36609. // the required permissions, the error response is DryRunOperation. Otherwise,
  36610. // it is UnauthorizedOperation.
  36611. DryRun *bool `type:"boolean"`
  36612. // One or more filters.
  36613. //
  36614. // * principal - The ARN of the principal.
  36615. //
  36616. // * principal-type - The principal type (All | Service | OrganizationUnit
  36617. // | Account | User | Role).
  36618. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  36619. // The maximum number of results to return for the request in a single page.
  36620. // The remaining results of the initial request can be seen by sending another
  36621. // request with the returned NextToken value. This value can be between 5 and
  36622. // 1000; if MaxResults is given a value larger than 1000, only 1000 results
  36623. // are returned.
  36624. MaxResults *int64 `type:"integer"`
  36625. // The token to retrieve the next page of results.
  36626. NextToken *string `type:"string"`
  36627. // The ID of the service.
  36628. //
  36629. // ServiceId is a required field
  36630. ServiceId *string `type:"string" required:"true"`
  36631. }
  36632. // String returns the string representation
  36633. func (s DescribeVpcEndpointServicePermissionsInput) String() string {
  36634. return awsutil.Prettify(s)
  36635. }
  36636. // GoString returns the string representation
  36637. func (s DescribeVpcEndpointServicePermissionsInput) GoString() string {
  36638. return s.String()
  36639. }
  36640. // Validate inspects the fields of the type to determine if they are valid.
  36641. func (s *DescribeVpcEndpointServicePermissionsInput) Validate() error {
  36642. invalidParams := request.ErrInvalidParams{Context: "DescribeVpcEndpointServicePermissionsInput"}
  36643. if s.ServiceId == nil {
  36644. invalidParams.Add(request.NewErrParamRequired("ServiceId"))
  36645. }
  36646. if invalidParams.Len() > 0 {
  36647. return invalidParams
  36648. }
  36649. return nil
  36650. }
  36651. // SetDryRun sets the DryRun field's value.
  36652. func (s *DescribeVpcEndpointServicePermissionsInput) SetDryRun(v bool) *DescribeVpcEndpointServicePermissionsInput {
  36653. s.DryRun = &v
  36654. return s
  36655. }
  36656. // SetFilters sets the Filters field's value.
  36657. func (s *DescribeVpcEndpointServicePermissionsInput) SetFilters(v []*Filter) *DescribeVpcEndpointServicePermissionsInput {
  36658. s.Filters = v
  36659. return s
  36660. }
  36661. // SetMaxResults sets the MaxResults field's value.
  36662. func (s *DescribeVpcEndpointServicePermissionsInput) SetMaxResults(v int64) *DescribeVpcEndpointServicePermissionsInput {
  36663. s.MaxResults = &v
  36664. return s
  36665. }
  36666. // SetNextToken sets the NextToken field's value.
  36667. func (s *DescribeVpcEndpointServicePermissionsInput) SetNextToken(v string) *DescribeVpcEndpointServicePermissionsInput {
  36668. s.NextToken = &v
  36669. return s
  36670. }
  36671. // SetServiceId sets the ServiceId field's value.
  36672. func (s *DescribeVpcEndpointServicePermissionsInput) SetServiceId(v string) *DescribeVpcEndpointServicePermissionsInput {
  36673. s.ServiceId = &v
  36674. return s
  36675. }
  36676. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServicePermissionsResult
  36677. type DescribeVpcEndpointServicePermissionsOutput struct {
  36678. _ struct{} `type:"structure"`
  36679. // Information about one or more allowed principals.
  36680. AllowedPrincipals []*AllowedPrincipal `locationName:"allowedPrincipals" locationNameList:"item" type:"list"`
  36681. // The token to use to retrieve the next page of results. This value is null
  36682. // when there are no more results to return.
  36683. NextToken *string `locationName:"nextToken" type:"string"`
  36684. }
  36685. // String returns the string representation
  36686. func (s DescribeVpcEndpointServicePermissionsOutput) String() string {
  36687. return awsutil.Prettify(s)
  36688. }
  36689. // GoString returns the string representation
  36690. func (s DescribeVpcEndpointServicePermissionsOutput) GoString() string {
  36691. return s.String()
  36692. }
  36693. // SetAllowedPrincipals sets the AllowedPrincipals field's value.
  36694. func (s *DescribeVpcEndpointServicePermissionsOutput) SetAllowedPrincipals(v []*AllowedPrincipal) *DescribeVpcEndpointServicePermissionsOutput {
  36695. s.AllowedPrincipals = v
  36696. return s
  36697. }
  36698. // SetNextToken sets the NextToken field's value.
  36699. func (s *DescribeVpcEndpointServicePermissionsOutput) SetNextToken(v string) *DescribeVpcEndpointServicePermissionsOutput {
  36700. s.NextToken = &v
  36701. return s
  36702. }
  36703. // Contains the parameters for DescribeVpcEndpointServices.
  36704. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServicesRequest
  36705. type DescribeVpcEndpointServicesInput struct {
  36706. _ struct{} `type:"structure"`
  36707. // Checks whether you have the required permissions for the action, without
  36708. // actually making the request, and provides an error response. If you have
  36709. // the required permissions, the error response is DryRunOperation. Otherwise,
  36710. // it is UnauthorizedOperation.
  36711. DryRun *bool `type:"boolean"`
  36712. // One or more filters.
  36713. //
  36714. // * service-name: The name of the service.
  36715. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  36716. // The maximum number of items to return for this request. The request returns
  36717. // a token that you can specify in a subsequent call to get the next set of
  36718. // results.
  36719. //
  36720. // Constraint: If the value is greater than 1000, we return only 1000 items.
  36721. MaxResults *int64 `type:"integer"`
  36722. // The token for the next set of items to return. (You received this token from
  36723. // a prior call.)
  36724. NextToken *string `type:"string"`
  36725. // One or more service names.
  36726. ServiceNames []*string `locationName:"ServiceName" locationNameList:"item" type:"list"`
  36727. }
  36728. // String returns the string representation
  36729. func (s DescribeVpcEndpointServicesInput) String() string {
  36730. return awsutil.Prettify(s)
  36731. }
  36732. // GoString returns the string representation
  36733. func (s DescribeVpcEndpointServicesInput) GoString() string {
  36734. return s.String()
  36735. }
  36736. // SetDryRun sets the DryRun field's value.
  36737. func (s *DescribeVpcEndpointServicesInput) SetDryRun(v bool) *DescribeVpcEndpointServicesInput {
  36738. s.DryRun = &v
  36739. return s
  36740. }
  36741. // SetFilters sets the Filters field's value.
  36742. func (s *DescribeVpcEndpointServicesInput) SetFilters(v []*Filter) *DescribeVpcEndpointServicesInput {
  36743. s.Filters = v
  36744. return s
  36745. }
  36746. // SetMaxResults sets the MaxResults field's value.
  36747. func (s *DescribeVpcEndpointServicesInput) SetMaxResults(v int64) *DescribeVpcEndpointServicesInput {
  36748. s.MaxResults = &v
  36749. return s
  36750. }
  36751. // SetNextToken sets the NextToken field's value.
  36752. func (s *DescribeVpcEndpointServicesInput) SetNextToken(v string) *DescribeVpcEndpointServicesInput {
  36753. s.NextToken = &v
  36754. return s
  36755. }
  36756. // SetServiceNames sets the ServiceNames field's value.
  36757. func (s *DescribeVpcEndpointServicesInput) SetServiceNames(v []*string) *DescribeVpcEndpointServicesInput {
  36758. s.ServiceNames = v
  36759. return s
  36760. }
  36761. // Contains the output of DescribeVpcEndpointServices.
  36762. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServicesResult
  36763. type DescribeVpcEndpointServicesOutput struct {
  36764. _ struct{} `type:"structure"`
  36765. // The token to use when requesting the next set of items. If there are no additional
  36766. // items to return, the string is empty.
  36767. NextToken *string `locationName:"nextToken" type:"string"`
  36768. // Information about the service.
  36769. ServiceDetails []*ServiceDetail `locationName:"serviceDetailSet" locationNameList:"item" type:"list"`
  36770. // A list of supported services.
  36771. ServiceNames []*string `locationName:"serviceNameSet" locationNameList:"item" type:"list"`
  36772. }
  36773. // String returns the string representation
  36774. func (s DescribeVpcEndpointServicesOutput) String() string {
  36775. return awsutil.Prettify(s)
  36776. }
  36777. // GoString returns the string representation
  36778. func (s DescribeVpcEndpointServicesOutput) GoString() string {
  36779. return s.String()
  36780. }
  36781. // SetNextToken sets the NextToken field's value.
  36782. func (s *DescribeVpcEndpointServicesOutput) SetNextToken(v string) *DescribeVpcEndpointServicesOutput {
  36783. s.NextToken = &v
  36784. return s
  36785. }
  36786. // SetServiceDetails sets the ServiceDetails field's value.
  36787. func (s *DescribeVpcEndpointServicesOutput) SetServiceDetails(v []*ServiceDetail) *DescribeVpcEndpointServicesOutput {
  36788. s.ServiceDetails = v
  36789. return s
  36790. }
  36791. // SetServiceNames sets the ServiceNames field's value.
  36792. func (s *DescribeVpcEndpointServicesOutput) SetServiceNames(v []*string) *DescribeVpcEndpointServicesOutput {
  36793. s.ServiceNames = v
  36794. return s
  36795. }
  36796. // Contains the parameters for DescribeVpcEndpoints.
  36797. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointsRequest
  36798. type DescribeVpcEndpointsInput struct {
  36799. _ struct{} `type:"structure"`
  36800. // Checks whether you have the required permissions for the action, without
  36801. // actually making the request, and provides an error response. If you have
  36802. // the required permissions, the error response is DryRunOperation. Otherwise,
  36803. // it is UnauthorizedOperation.
  36804. DryRun *bool `type:"boolean"`
  36805. // One or more filters.
  36806. //
  36807. // * service-name: The name of the service.
  36808. //
  36809. // * vpc-id: The ID of the VPC in which the endpoint resides.
  36810. //
  36811. // * vpc-endpoint-id: The ID of the endpoint.
  36812. //
  36813. // * vpc-endpoint-state: The state of the endpoint. (pending | available
  36814. // | deleting | deleted)
  36815. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  36816. // The maximum number of items to return for this request. The request returns
  36817. // a token that you can specify in a subsequent call to get the next set of
  36818. // results.
  36819. //
  36820. // Constraint: If the value is greater than 1000, we return only 1000 items.
  36821. MaxResults *int64 `type:"integer"`
  36822. // The token for the next set of items to return. (You received this token from
  36823. // a prior call.)
  36824. NextToken *string `type:"string"`
  36825. // One or more endpoint IDs.
  36826. VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list"`
  36827. }
  36828. // String returns the string representation
  36829. func (s DescribeVpcEndpointsInput) String() string {
  36830. return awsutil.Prettify(s)
  36831. }
  36832. // GoString returns the string representation
  36833. func (s DescribeVpcEndpointsInput) GoString() string {
  36834. return s.String()
  36835. }
  36836. // SetDryRun sets the DryRun field's value.
  36837. func (s *DescribeVpcEndpointsInput) SetDryRun(v bool) *DescribeVpcEndpointsInput {
  36838. s.DryRun = &v
  36839. return s
  36840. }
  36841. // SetFilters sets the Filters field's value.
  36842. func (s *DescribeVpcEndpointsInput) SetFilters(v []*Filter) *DescribeVpcEndpointsInput {
  36843. s.Filters = v
  36844. return s
  36845. }
  36846. // SetMaxResults sets the MaxResults field's value.
  36847. func (s *DescribeVpcEndpointsInput) SetMaxResults(v int64) *DescribeVpcEndpointsInput {
  36848. s.MaxResults = &v
  36849. return s
  36850. }
  36851. // SetNextToken sets the NextToken field's value.
  36852. func (s *DescribeVpcEndpointsInput) SetNextToken(v string) *DescribeVpcEndpointsInput {
  36853. s.NextToken = &v
  36854. return s
  36855. }
  36856. // SetVpcEndpointIds sets the VpcEndpointIds field's value.
  36857. func (s *DescribeVpcEndpointsInput) SetVpcEndpointIds(v []*string) *DescribeVpcEndpointsInput {
  36858. s.VpcEndpointIds = v
  36859. return s
  36860. }
  36861. // Contains the output of DescribeVpcEndpoints.
  36862. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointsResult
  36863. type DescribeVpcEndpointsOutput struct {
  36864. _ struct{} `type:"structure"`
  36865. // The token to use when requesting the next set of items. If there are no additional
  36866. // items to return, the string is empty.
  36867. NextToken *string `locationName:"nextToken" type:"string"`
  36868. // Information about the endpoints.
  36869. VpcEndpoints []*VpcEndpoint `locationName:"vpcEndpointSet" locationNameList:"item" type:"list"`
  36870. }
  36871. // String returns the string representation
  36872. func (s DescribeVpcEndpointsOutput) String() string {
  36873. return awsutil.Prettify(s)
  36874. }
  36875. // GoString returns the string representation
  36876. func (s DescribeVpcEndpointsOutput) GoString() string {
  36877. return s.String()
  36878. }
  36879. // SetNextToken sets the NextToken field's value.
  36880. func (s *DescribeVpcEndpointsOutput) SetNextToken(v string) *DescribeVpcEndpointsOutput {
  36881. s.NextToken = &v
  36882. return s
  36883. }
  36884. // SetVpcEndpoints sets the VpcEndpoints field's value.
  36885. func (s *DescribeVpcEndpointsOutput) SetVpcEndpoints(v []*VpcEndpoint) *DescribeVpcEndpointsOutput {
  36886. s.VpcEndpoints = v
  36887. return s
  36888. }
  36889. // Contains the parameters for DescribeVpcPeeringConnections.
  36890. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcPeeringConnectionsRequest
  36891. type DescribeVpcPeeringConnectionsInput struct {
  36892. _ struct{} `type:"structure"`
  36893. // Checks whether you have the required permissions for the action, without
  36894. // actually making the request, and provides an error response. If you have
  36895. // the required permissions, the error response is DryRunOperation. Otherwise,
  36896. // it is UnauthorizedOperation.
  36897. DryRun *bool `locationName:"dryRun" type:"boolean"`
  36898. // One or more filters.
  36899. //
  36900. // * accepter-vpc-info.cidr-block - The IPv4 CIDR block of the accepter VPC.
  36901. //
  36902. // * accepter-vpc-info.owner-id - The AWS account ID of the owner of the
  36903. // accepter VPC.
  36904. //
  36905. // * accepter-vpc-info.vpc-id - The ID of the accepter VPC.
  36906. //
  36907. // * expiration-time - The expiration date and time for the VPC peering connection.
  36908. //
  36909. // * requester-vpc-info.cidr-block - The IPv4 CIDR block of the requester's
  36910. // VPC.
  36911. //
  36912. // * requester-vpc-info.owner-id - The AWS account ID of the owner of the
  36913. // requester VPC.
  36914. //
  36915. // * requester-vpc-info.vpc-id - The ID of the requester VPC.
  36916. //
  36917. // * status-code - The status of the VPC peering connection (pending-acceptance
  36918. // | failed | expired | provisioning | active | deleting | deleted | rejected).
  36919. //
  36920. // * status-message - A message that provides more information about the
  36921. // status of the VPC peering connection, if applicable.
  36922. //
  36923. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  36924. // Specify the key of the tag in the filter name and the value of the tag
  36925. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  36926. // for the filter name and X for the filter value.
  36927. //
  36928. // * tag-key - The key of a tag assigned to the resource. This filter is
  36929. // independent of the tag-value filter. For example, if you use both the
  36930. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  36931. // assigned both the tag key Purpose (regardless of what the tag's value
  36932. // is), and the tag value X (regardless of what the tag's key is). If you
  36933. // want to list only resources where Purpose is X, see the tag:key=value
  36934. // filter.
  36935. //
  36936. // * tag-value - The value of a tag assigned to the resource. This filter
  36937. // is independent of the tag-key filter.
  36938. //
  36939. // * vpc-peering-connection-id - The ID of the VPC peering connection.
  36940. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  36941. // One or more VPC peering connection IDs.
  36942. //
  36943. // Default: Describes all your VPC peering connections.
  36944. VpcPeeringConnectionIds []*string `locationName:"VpcPeeringConnectionId" locationNameList:"item" type:"list"`
  36945. }
  36946. // String returns the string representation
  36947. func (s DescribeVpcPeeringConnectionsInput) String() string {
  36948. return awsutil.Prettify(s)
  36949. }
  36950. // GoString returns the string representation
  36951. func (s DescribeVpcPeeringConnectionsInput) GoString() string {
  36952. return s.String()
  36953. }
  36954. // SetDryRun sets the DryRun field's value.
  36955. func (s *DescribeVpcPeeringConnectionsInput) SetDryRun(v bool) *DescribeVpcPeeringConnectionsInput {
  36956. s.DryRun = &v
  36957. return s
  36958. }
  36959. // SetFilters sets the Filters field's value.
  36960. func (s *DescribeVpcPeeringConnectionsInput) SetFilters(v []*Filter) *DescribeVpcPeeringConnectionsInput {
  36961. s.Filters = v
  36962. return s
  36963. }
  36964. // SetVpcPeeringConnectionIds sets the VpcPeeringConnectionIds field's value.
  36965. func (s *DescribeVpcPeeringConnectionsInput) SetVpcPeeringConnectionIds(v []*string) *DescribeVpcPeeringConnectionsInput {
  36966. s.VpcPeeringConnectionIds = v
  36967. return s
  36968. }
  36969. // Contains the output of DescribeVpcPeeringConnections.
  36970. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcPeeringConnectionsResult
  36971. type DescribeVpcPeeringConnectionsOutput struct {
  36972. _ struct{} `type:"structure"`
  36973. // Information about the VPC peering connections.
  36974. VpcPeeringConnections []*VpcPeeringConnection `locationName:"vpcPeeringConnectionSet" locationNameList:"item" type:"list"`
  36975. }
  36976. // String returns the string representation
  36977. func (s DescribeVpcPeeringConnectionsOutput) String() string {
  36978. return awsutil.Prettify(s)
  36979. }
  36980. // GoString returns the string representation
  36981. func (s DescribeVpcPeeringConnectionsOutput) GoString() string {
  36982. return s.String()
  36983. }
  36984. // SetVpcPeeringConnections sets the VpcPeeringConnections field's value.
  36985. func (s *DescribeVpcPeeringConnectionsOutput) SetVpcPeeringConnections(v []*VpcPeeringConnection) *DescribeVpcPeeringConnectionsOutput {
  36986. s.VpcPeeringConnections = v
  36987. return s
  36988. }
  36989. // Contains the parameters for DescribeVpcs.
  36990. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcsRequest
  36991. type DescribeVpcsInput struct {
  36992. _ struct{} `type:"structure"`
  36993. // Checks whether you have the required permissions for the action, without
  36994. // actually making the request, and provides an error response. If you have
  36995. // the required permissions, the error response is DryRunOperation. Otherwise,
  36996. // it is UnauthorizedOperation.
  36997. DryRun *bool `locationName:"dryRun" type:"boolean"`
  36998. // One or more filters.
  36999. //
  37000. // * cidr - The primary IPv4 CIDR block of the VPC. The CIDR block you specify
  37001. // must exactly match the VPC's CIDR block for information to be returned
  37002. // for the VPC. Must contain the slash followed by one or two digits (for
  37003. // example, /28).
  37004. //
  37005. // * cidr-block-association.cidr-block - An IPv4 CIDR block associated with
  37006. // the VPC.
  37007. //
  37008. // * cidr-block-association.association-id - The association ID for an IPv4
  37009. // CIDR block associated with the VPC.
  37010. //
  37011. // * cidr-block-association.state - The state of an IPv4 CIDR block associated
  37012. // with the VPC.
  37013. //
  37014. // * dhcp-options-id - The ID of a set of DHCP options.
  37015. //
  37016. // * ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR block associated
  37017. // with the VPC.
  37018. //
  37019. // * ipv6-cidr-block-association.association-id - The association ID for
  37020. // an IPv6 CIDR block associated with the VPC.
  37021. //
  37022. // * ipv6-cidr-block-association.state - The state of an IPv6 CIDR block
  37023. // associated with the VPC.
  37024. //
  37025. // * isDefault - Indicates whether the VPC is the default VPC.
  37026. //
  37027. // * state - The state of the VPC (pending | available).
  37028. //
  37029. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  37030. // Specify the key of the tag in the filter name and the value of the tag
  37031. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  37032. // for the filter name and X for the filter value.
  37033. //
  37034. // * tag-key - The key of a tag assigned to the resource. This filter is
  37035. // independent of the tag-value filter. For example, if you use both the
  37036. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  37037. // assigned both the tag key Purpose (regardless of what the tag's value
  37038. // is), and the tag value X (regardless of what the tag's key is). If you
  37039. // want to list only resources where Purpose is X, see the tag:key=value
  37040. // filter.
  37041. //
  37042. // * tag-value - The value of a tag assigned to the resource. This filter
  37043. // is independent of the tag-key filter.
  37044. //
  37045. // * vpc-id - The ID of the VPC.
  37046. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  37047. // One or more VPC IDs.
  37048. //
  37049. // Default: Describes all your VPCs.
  37050. VpcIds []*string `locationName:"VpcId" locationNameList:"VpcId" type:"list"`
  37051. }
  37052. // String returns the string representation
  37053. func (s DescribeVpcsInput) String() string {
  37054. return awsutil.Prettify(s)
  37055. }
  37056. // GoString returns the string representation
  37057. func (s DescribeVpcsInput) GoString() string {
  37058. return s.String()
  37059. }
  37060. // SetDryRun sets the DryRun field's value.
  37061. func (s *DescribeVpcsInput) SetDryRun(v bool) *DescribeVpcsInput {
  37062. s.DryRun = &v
  37063. return s
  37064. }
  37065. // SetFilters sets the Filters field's value.
  37066. func (s *DescribeVpcsInput) SetFilters(v []*Filter) *DescribeVpcsInput {
  37067. s.Filters = v
  37068. return s
  37069. }
  37070. // SetVpcIds sets the VpcIds field's value.
  37071. func (s *DescribeVpcsInput) SetVpcIds(v []*string) *DescribeVpcsInput {
  37072. s.VpcIds = v
  37073. return s
  37074. }
  37075. // Contains the output of DescribeVpcs.
  37076. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcsResult
  37077. type DescribeVpcsOutput struct {
  37078. _ struct{} `type:"structure"`
  37079. // Information about one or more VPCs.
  37080. Vpcs []*Vpc `locationName:"vpcSet" locationNameList:"item" type:"list"`
  37081. }
  37082. // String returns the string representation
  37083. func (s DescribeVpcsOutput) String() string {
  37084. return awsutil.Prettify(s)
  37085. }
  37086. // GoString returns the string representation
  37087. func (s DescribeVpcsOutput) GoString() string {
  37088. return s.String()
  37089. }
  37090. // SetVpcs sets the Vpcs field's value.
  37091. func (s *DescribeVpcsOutput) SetVpcs(v []*Vpc) *DescribeVpcsOutput {
  37092. s.Vpcs = v
  37093. return s
  37094. }
  37095. // Contains the parameters for DescribeVpnConnections.
  37096. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnConnectionsRequest
  37097. type DescribeVpnConnectionsInput struct {
  37098. _ struct{} `type:"structure"`
  37099. // Checks whether you have the required permissions for the action, without
  37100. // actually making the request, and provides an error response. If you have
  37101. // the required permissions, the error response is DryRunOperation. Otherwise,
  37102. // it is UnauthorizedOperation.
  37103. DryRun *bool `locationName:"dryRun" type:"boolean"`
  37104. // One or more filters.
  37105. //
  37106. // * customer-gateway-configuration - The configuration information for the
  37107. // customer gateway.
  37108. //
  37109. // * customer-gateway-id - The ID of a customer gateway associated with the
  37110. // VPN connection.
  37111. //
  37112. // * state - The state of the VPN connection (pending | available | deleting
  37113. // | deleted).
  37114. //
  37115. // * option.static-routes-only - Indicates whether the connection has static
  37116. // routes only. Used for devices that do not support Border Gateway Protocol
  37117. // (BGP).
  37118. //
  37119. // * route.destination-cidr-block - The destination CIDR block. This corresponds
  37120. // to the subnet used in a customer data center.
  37121. //
  37122. // * bgp-asn - The BGP Autonomous System Number (ASN) associated with a BGP
  37123. // device.
  37124. //
  37125. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  37126. // Specify the key of the tag in the filter name and the value of the tag
  37127. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  37128. // for the filter name and X for the filter value.
  37129. //
  37130. // * tag-key - The key of a tag assigned to the resource. This filter is
  37131. // independent of the tag-value filter. For example, if you use both the
  37132. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  37133. // assigned both the tag key Purpose (regardless of what the tag's value
  37134. // is), and the tag value X (regardless of what the tag's key is). If you
  37135. // want to list only resources where Purpose is X, see the tag:key=value
  37136. // filter.
  37137. //
  37138. // * tag-value - The value of a tag assigned to the resource. This filter
  37139. // is independent of the tag-key filter.
  37140. //
  37141. // * type - The type of VPN connection. Currently the only supported type
  37142. // is ipsec.1.
  37143. //
  37144. // * vpn-connection-id - The ID of the VPN connection.
  37145. //
  37146. // * vpn-gateway-id - The ID of a virtual private gateway associated with
  37147. // the VPN connection.
  37148. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  37149. // One or more VPN connection IDs.
  37150. //
  37151. // Default: Describes your VPN connections.
  37152. VpnConnectionIds []*string `locationName:"VpnConnectionId" locationNameList:"VpnConnectionId" type:"list"`
  37153. }
  37154. // String returns the string representation
  37155. func (s DescribeVpnConnectionsInput) String() string {
  37156. return awsutil.Prettify(s)
  37157. }
  37158. // GoString returns the string representation
  37159. func (s DescribeVpnConnectionsInput) GoString() string {
  37160. return s.String()
  37161. }
  37162. // SetDryRun sets the DryRun field's value.
  37163. func (s *DescribeVpnConnectionsInput) SetDryRun(v bool) *DescribeVpnConnectionsInput {
  37164. s.DryRun = &v
  37165. return s
  37166. }
  37167. // SetFilters sets the Filters field's value.
  37168. func (s *DescribeVpnConnectionsInput) SetFilters(v []*Filter) *DescribeVpnConnectionsInput {
  37169. s.Filters = v
  37170. return s
  37171. }
  37172. // SetVpnConnectionIds sets the VpnConnectionIds field's value.
  37173. func (s *DescribeVpnConnectionsInput) SetVpnConnectionIds(v []*string) *DescribeVpnConnectionsInput {
  37174. s.VpnConnectionIds = v
  37175. return s
  37176. }
  37177. // Contains the output of DescribeVpnConnections.
  37178. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnConnectionsResult
  37179. type DescribeVpnConnectionsOutput struct {
  37180. _ struct{} `type:"structure"`
  37181. // Information about one or more VPN connections.
  37182. VpnConnections []*VpnConnection `locationName:"vpnConnectionSet" locationNameList:"item" type:"list"`
  37183. }
  37184. // String returns the string representation
  37185. func (s DescribeVpnConnectionsOutput) String() string {
  37186. return awsutil.Prettify(s)
  37187. }
  37188. // GoString returns the string representation
  37189. func (s DescribeVpnConnectionsOutput) GoString() string {
  37190. return s.String()
  37191. }
  37192. // SetVpnConnections sets the VpnConnections field's value.
  37193. func (s *DescribeVpnConnectionsOutput) SetVpnConnections(v []*VpnConnection) *DescribeVpnConnectionsOutput {
  37194. s.VpnConnections = v
  37195. return s
  37196. }
  37197. // Contains the parameters for DescribeVpnGateways.
  37198. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnGatewaysRequest
  37199. type DescribeVpnGatewaysInput 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 `locationName:"dryRun" type:"boolean"`
  37206. // One or more filters.
  37207. //
  37208. // * amazon-side-asn - The Autonomous System Number (ASN) for the Amazon
  37209. // side of the gateway.
  37210. //
  37211. // * attachment.state - The current state of the attachment between the gateway
  37212. // and the VPC (attaching | attached | detaching | detached).
  37213. //
  37214. // * attachment.vpc-id - The ID of an attached VPC.
  37215. //
  37216. // * availability-zone - The Availability Zone for the virtual private gateway
  37217. // (if applicable).
  37218. //
  37219. // * state - The state of the virtual private gateway (pending | available
  37220. // | deleting | deleted).
  37221. //
  37222. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  37223. // Specify the key of the tag in the filter name and the value of the tag
  37224. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  37225. // for the filter name and X for the filter value.
  37226. //
  37227. // * tag-key - The key of a tag assigned to the resource. This filter is
  37228. // independent of the tag-value filter. For example, if you use both the
  37229. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  37230. // assigned both the tag key Purpose (regardless of what the tag's value
  37231. // is), and the tag value X (regardless of what the tag's key is). If you
  37232. // want to list only resources where Purpose is X, see the tag:key=value
  37233. // filter.
  37234. //
  37235. // * tag-value - The value of a tag assigned to the resource. This filter
  37236. // is independent of the tag-key filter.
  37237. //
  37238. // * type - The type of virtual private gateway. Currently the only supported
  37239. // type is ipsec.1.
  37240. //
  37241. // * vpn-gateway-id - The ID of the virtual private gateway.
  37242. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  37243. // One or more virtual private gateway IDs.
  37244. //
  37245. // Default: Describes all your virtual private gateways.
  37246. VpnGatewayIds []*string `locationName:"VpnGatewayId" locationNameList:"VpnGatewayId" type:"list"`
  37247. }
  37248. // String returns the string representation
  37249. func (s DescribeVpnGatewaysInput) String() string {
  37250. return awsutil.Prettify(s)
  37251. }
  37252. // GoString returns the string representation
  37253. func (s DescribeVpnGatewaysInput) GoString() string {
  37254. return s.String()
  37255. }
  37256. // SetDryRun sets the DryRun field's value.
  37257. func (s *DescribeVpnGatewaysInput) SetDryRun(v bool) *DescribeVpnGatewaysInput {
  37258. s.DryRun = &v
  37259. return s
  37260. }
  37261. // SetFilters sets the Filters field's value.
  37262. func (s *DescribeVpnGatewaysInput) SetFilters(v []*Filter) *DescribeVpnGatewaysInput {
  37263. s.Filters = v
  37264. return s
  37265. }
  37266. // SetVpnGatewayIds sets the VpnGatewayIds field's value.
  37267. func (s *DescribeVpnGatewaysInput) SetVpnGatewayIds(v []*string) *DescribeVpnGatewaysInput {
  37268. s.VpnGatewayIds = v
  37269. return s
  37270. }
  37271. // Contains the output of DescribeVpnGateways.
  37272. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnGatewaysResult
  37273. type DescribeVpnGatewaysOutput struct {
  37274. _ struct{} `type:"structure"`
  37275. // Information about one or more virtual private gateways.
  37276. VpnGateways []*VpnGateway `locationName:"vpnGatewaySet" locationNameList:"item" type:"list"`
  37277. }
  37278. // String returns the string representation
  37279. func (s DescribeVpnGatewaysOutput) String() string {
  37280. return awsutil.Prettify(s)
  37281. }
  37282. // GoString returns the string representation
  37283. func (s DescribeVpnGatewaysOutput) GoString() string {
  37284. return s.String()
  37285. }
  37286. // SetVpnGateways sets the VpnGateways field's value.
  37287. func (s *DescribeVpnGatewaysOutput) SetVpnGateways(v []*VpnGateway) *DescribeVpnGatewaysOutput {
  37288. s.VpnGateways = v
  37289. return s
  37290. }
  37291. // Contains the parameters for DetachClassicLinkVpc.
  37292. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachClassicLinkVpcRequest
  37293. type DetachClassicLinkVpcInput struct {
  37294. _ struct{} `type:"structure"`
  37295. // Checks whether you have the required permissions for the action, without
  37296. // actually making the request, and provides an error response. If you have
  37297. // the required permissions, the error response is DryRunOperation. Otherwise,
  37298. // it is UnauthorizedOperation.
  37299. DryRun *bool `locationName:"dryRun" type:"boolean"`
  37300. // The ID of the instance to unlink from the VPC.
  37301. //
  37302. // InstanceId is a required field
  37303. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  37304. // The ID of the VPC to which the instance is linked.
  37305. //
  37306. // VpcId is a required field
  37307. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  37308. }
  37309. // String returns the string representation
  37310. func (s DetachClassicLinkVpcInput) String() string {
  37311. return awsutil.Prettify(s)
  37312. }
  37313. // GoString returns the string representation
  37314. func (s DetachClassicLinkVpcInput) GoString() string {
  37315. return s.String()
  37316. }
  37317. // Validate inspects the fields of the type to determine if they are valid.
  37318. func (s *DetachClassicLinkVpcInput) Validate() error {
  37319. invalidParams := request.ErrInvalidParams{Context: "DetachClassicLinkVpcInput"}
  37320. if s.InstanceId == nil {
  37321. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  37322. }
  37323. if s.VpcId == nil {
  37324. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  37325. }
  37326. if invalidParams.Len() > 0 {
  37327. return invalidParams
  37328. }
  37329. return nil
  37330. }
  37331. // SetDryRun sets the DryRun field's value.
  37332. func (s *DetachClassicLinkVpcInput) SetDryRun(v bool) *DetachClassicLinkVpcInput {
  37333. s.DryRun = &v
  37334. return s
  37335. }
  37336. // SetInstanceId sets the InstanceId field's value.
  37337. func (s *DetachClassicLinkVpcInput) SetInstanceId(v string) *DetachClassicLinkVpcInput {
  37338. s.InstanceId = &v
  37339. return s
  37340. }
  37341. // SetVpcId sets the VpcId field's value.
  37342. func (s *DetachClassicLinkVpcInput) SetVpcId(v string) *DetachClassicLinkVpcInput {
  37343. s.VpcId = &v
  37344. return s
  37345. }
  37346. // Contains the output of DetachClassicLinkVpc.
  37347. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachClassicLinkVpcResult
  37348. type DetachClassicLinkVpcOutput struct {
  37349. _ struct{} `type:"structure"`
  37350. // Returns true if the request succeeds; otherwise, it returns an error.
  37351. Return *bool `locationName:"return" type:"boolean"`
  37352. }
  37353. // String returns the string representation
  37354. func (s DetachClassicLinkVpcOutput) String() string {
  37355. return awsutil.Prettify(s)
  37356. }
  37357. // GoString returns the string representation
  37358. func (s DetachClassicLinkVpcOutput) GoString() string {
  37359. return s.String()
  37360. }
  37361. // SetReturn sets the Return field's value.
  37362. func (s *DetachClassicLinkVpcOutput) SetReturn(v bool) *DetachClassicLinkVpcOutput {
  37363. s.Return = &v
  37364. return s
  37365. }
  37366. // Contains the parameters for DetachInternetGateway.
  37367. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachInternetGatewayRequest
  37368. type DetachInternetGatewayInput struct {
  37369. _ struct{} `type:"structure"`
  37370. // Checks whether you have the required permissions for the action, without
  37371. // actually making the request, and provides an error response. If you have
  37372. // the required permissions, the error response is DryRunOperation. Otherwise,
  37373. // it is UnauthorizedOperation.
  37374. DryRun *bool `locationName:"dryRun" type:"boolean"`
  37375. // The ID of the Internet gateway.
  37376. //
  37377. // InternetGatewayId is a required field
  37378. InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
  37379. // The ID of the VPC.
  37380. //
  37381. // VpcId is a required field
  37382. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  37383. }
  37384. // String returns the string representation
  37385. func (s DetachInternetGatewayInput) String() string {
  37386. return awsutil.Prettify(s)
  37387. }
  37388. // GoString returns the string representation
  37389. func (s DetachInternetGatewayInput) GoString() string {
  37390. return s.String()
  37391. }
  37392. // Validate inspects the fields of the type to determine if they are valid.
  37393. func (s *DetachInternetGatewayInput) Validate() error {
  37394. invalidParams := request.ErrInvalidParams{Context: "DetachInternetGatewayInput"}
  37395. if s.InternetGatewayId == nil {
  37396. invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
  37397. }
  37398. if s.VpcId == nil {
  37399. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  37400. }
  37401. if invalidParams.Len() > 0 {
  37402. return invalidParams
  37403. }
  37404. return nil
  37405. }
  37406. // SetDryRun sets the DryRun field's value.
  37407. func (s *DetachInternetGatewayInput) SetDryRun(v bool) *DetachInternetGatewayInput {
  37408. s.DryRun = &v
  37409. return s
  37410. }
  37411. // SetInternetGatewayId sets the InternetGatewayId field's value.
  37412. func (s *DetachInternetGatewayInput) SetInternetGatewayId(v string) *DetachInternetGatewayInput {
  37413. s.InternetGatewayId = &v
  37414. return s
  37415. }
  37416. // SetVpcId sets the VpcId field's value.
  37417. func (s *DetachInternetGatewayInput) SetVpcId(v string) *DetachInternetGatewayInput {
  37418. s.VpcId = &v
  37419. return s
  37420. }
  37421. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachInternetGatewayOutput
  37422. type DetachInternetGatewayOutput struct {
  37423. _ struct{} `type:"structure"`
  37424. }
  37425. // String returns the string representation
  37426. func (s DetachInternetGatewayOutput) String() string {
  37427. return awsutil.Prettify(s)
  37428. }
  37429. // GoString returns the string representation
  37430. func (s DetachInternetGatewayOutput) GoString() string {
  37431. return s.String()
  37432. }
  37433. // Contains the parameters for DetachNetworkInterface.
  37434. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachNetworkInterfaceRequest
  37435. type DetachNetworkInterfaceInput struct {
  37436. _ struct{} `type:"structure"`
  37437. // The ID of the attachment.
  37438. //
  37439. // AttachmentId is a required field
  37440. AttachmentId *string `locationName:"attachmentId" type:"string" required:"true"`
  37441. // Checks whether you have the required permissions for the action, without
  37442. // actually making the request, and provides an error response. If you have
  37443. // the required permissions, the error response is DryRunOperation. Otherwise,
  37444. // it is UnauthorizedOperation.
  37445. DryRun *bool `locationName:"dryRun" type:"boolean"`
  37446. // Specifies whether to force a detachment.
  37447. Force *bool `locationName:"force" type:"boolean"`
  37448. }
  37449. // String returns the string representation
  37450. func (s DetachNetworkInterfaceInput) String() string {
  37451. return awsutil.Prettify(s)
  37452. }
  37453. // GoString returns the string representation
  37454. func (s DetachNetworkInterfaceInput) GoString() string {
  37455. return s.String()
  37456. }
  37457. // Validate inspects the fields of the type to determine if they are valid.
  37458. func (s *DetachNetworkInterfaceInput) Validate() error {
  37459. invalidParams := request.ErrInvalidParams{Context: "DetachNetworkInterfaceInput"}
  37460. if s.AttachmentId == nil {
  37461. invalidParams.Add(request.NewErrParamRequired("AttachmentId"))
  37462. }
  37463. if invalidParams.Len() > 0 {
  37464. return invalidParams
  37465. }
  37466. return nil
  37467. }
  37468. // SetAttachmentId sets the AttachmentId field's value.
  37469. func (s *DetachNetworkInterfaceInput) SetAttachmentId(v string) *DetachNetworkInterfaceInput {
  37470. s.AttachmentId = &v
  37471. return s
  37472. }
  37473. // SetDryRun sets the DryRun field's value.
  37474. func (s *DetachNetworkInterfaceInput) SetDryRun(v bool) *DetachNetworkInterfaceInput {
  37475. s.DryRun = &v
  37476. return s
  37477. }
  37478. // SetForce sets the Force field's value.
  37479. func (s *DetachNetworkInterfaceInput) SetForce(v bool) *DetachNetworkInterfaceInput {
  37480. s.Force = &v
  37481. return s
  37482. }
  37483. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachNetworkInterfaceOutput
  37484. type DetachNetworkInterfaceOutput struct {
  37485. _ struct{} `type:"structure"`
  37486. }
  37487. // String returns the string representation
  37488. func (s DetachNetworkInterfaceOutput) String() string {
  37489. return awsutil.Prettify(s)
  37490. }
  37491. // GoString returns the string representation
  37492. func (s DetachNetworkInterfaceOutput) GoString() string {
  37493. return s.String()
  37494. }
  37495. // Contains the parameters for DetachVolume.
  37496. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVolumeRequest
  37497. type DetachVolumeInput struct {
  37498. _ struct{} `type:"structure"`
  37499. // The device name.
  37500. Device *string `type:"string"`
  37501. // Checks whether you have the required permissions for the action, without
  37502. // actually making the request, and provides an error response. If you have
  37503. // the required permissions, the error response is DryRunOperation. Otherwise,
  37504. // it is UnauthorizedOperation.
  37505. DryRun *bool `locationName:"dryRun" type:"boolean"`
  37506. // Forces detachment if the previous detachment attempt did not occur cleanly
  37507. // (for example, logging into an instance, unmounting the volume, and detaching
  37508. // normally). This option can lead to data loss or a corrupted file system.
  37509. // Use this option only as a last resort to detach a volume from a failed instance.
  37510. // The instance won't have an opportunity to flush file system caches or file
  37511. // system metadata. If you use this option, you must perform file system check
  37512. // and repair procedures.
  37513. Force *bool `type:"boolean"`
  37514. // The ID of the instance.
  37515. InstanceId *string `type:"string"`
  37516. // The ID of the volume.
  37517. //
  37518. // VolumeId is a required field
  37519. VolumeId *string `type:"string" required:"true"`
  37520. }
  37521. // String returns the string representation
  37522. func (s DetachVolumeInput) String() string {
  37523. return awsutil.Prettify(s)
  37524. }
  37525. // GoString returns the string representation
  37526. func (s DetachVolumeInput) GoString() string {
  37527. return s.String()
  37528. }
  37529. // Validate inspects the fields of the type to determine if they are valid.
  37530. func (s *DetachVolumeInput) Validate() error {
  37531. invalidParams := request.ErrInvalidParams{Context: "DetachVolumeInput"}
  37532. if s.VolumeId == nil {
  37533. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  37534. }
  37535. if invalidParams.Len() > 0 {
  37536. return invalidParams
  37537. }
  37538. return nil
  37539. }
  37540. // SetDevice sets the Device field's value.
  37541. func (s *DetachVolumeInput) SetDevice(v string) *DetachVolumeInput {
  37542. s.Device = &v
  37543. return s
  37544. }
  37545. // SetDryRun sets the DryRun field's value.
  37546. func (s *DetachVolumeInput) SetDryRun(v bool) *DetachVolumeInput {
  37547. s.DryRun = &v
  37548. return s
  37549. }
  37550. // SetForce sets the Force field's value.
  37551. func (s *DetachVolumeInput) SetForce(v bool) *DetachVolumeInput {
  37552. s.Force = &v
  37553. return s
  37554. }
  37555. // SetInstanceId sets the InstanceId field's value.
  37556. func (s *DetachVolumeInput) SetInstanceId(v string) *DetachVolumeInput {
  37557. s.InstanceId = &v
  37558. return s
  37559. }
  37560. // SetVolumeId sets the VolumeId field's value.
  37561. func (s *DetachVolumeInput) SetVolumeId(v string) *DetachVolumeInput {
  37562. s.VolumeId = &v
  37563. return s
  37564. }
  37565. // Contains the parameters for DetachVpnGateway.
  37566. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVpnGatewayRequest
  37567. type DetachVpnGatewayInput struct {
  37568. _ struct{} `type:"structure"`
  37569. // Checks whether you have the required permissions for the action, without
  37570. // actually making the request, and provides an error response. If you have
  37571. // the required permissions, the error response is DryRunOperation. Otherwise,
  37572. // it is UnauthorizedOperation.
  37573. DryRun *bool `locationName:"dryRun" type:"boolean"`
  37574. // The ID of the VPC.
  37575. //
  37576. // VpcId is a required field
  37577. VpcId *string `type:"string" required:"true"`
  37578. // The ID of the virtual private gateway.
  37579. //
  37580. // VpnGatewayId is a required field
  37581. VpnGatewayId *string `type:"string" required:"true"`
  37582. }
  37583. // String returns the string representation
  37584. func (s DetachVpnGatewayInput) String() string {
  37585. return awsutil.Prettify(s)
  37586. }
  37587. // GoString returns the string representation
  37588. func (s DetachVpnGatewayInput) GoString() string {
  37589. return s.String()
  37590. }
  37591. // Validate inspects the fields of the type to determine if they are valid.
  37592. func (s *DetachVpnGatewayInput) Validate() error {
  37593. invalidParams := request.ErrInvalidParams{Context: "DetachVpnGatewayInput"}
  37594. if s.VpcId == nil {
  37595. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  37596. }
  37597. if s.VpnGatewayId == nil {
  37598. invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
  37599. }
  37600. if invalidParams.Len() > 0 {
  37601. return invalidParams
  37602. }
  37603. return nil
  37604. }
  37605. // SetDryRun sets the DryRun field's value.
  37606. func (s *DetachVpnGatewayInput) SetDryRun(v bool) *DetachVpnGatewayInput {
  37607. s.DryRun = &v
  37608. return s
  37609. }
  37610. // SetVpcId sets the VpcId field's value.
  37611. func (s *DetachVpnGatewayInput) SetVpcId(v string) *DetachVpnGatewayInput {
  37612. s.VpcId = &v
  37613. return s
  37614. }
  37615. // SetVpnGatewayId sets the VpnGatewayId field's value.
  37616. func (s *DetachVpnGatewayInput) SetVpnGatewayId(v string) *DetachVpnGatewayInput {
  37617. s.VpnGatewayId = &v
  37618. return s
  37619. }
  37620. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVpnGatewayOutput
  37621. type DetachVpnGatewayOutput struct {
  37622. _ struct{} `type:"structure"`
  37623. }
  37624. // String returns the string representation
  37625. func (s DetachVpnGatewayOutput) String() string {
  37626. return awsutil.Prettify(s)
  37627. }
  37628. // GoString returns the string representation
  37629. func (s DetachVpnGatewayOutput) GoString() string {
  37630. return s.String()
  37631. }
  37632. // Describes a DHCP configuration option.
  37633. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DhcpConfiguration
  37634. type DhcpConfiguration struct {
  37635. _ struct{} `type:"structure"`
  37636. // The name of a DHCP option.
  37637. Key *string `locationName:"key" type:"string"`
  37638. // One or more values for the DHCP option.
  37639. Values []*AttributeValue `locationName:"valueSet" locationNameList:"item" type:"list"`
  37640. }
  37641. // String returns the string representation
  37642. func (s DhcpConfiguration) String() string {
  37643. return awsutil.Prettify(s)
  37644. }
  37645. // GoString returns the string representation
  37646. func (s DhcpConfiguration) GoString() string {
  37647. return s.String()
  37648. }
  37649. // SetKey sets the Key field's value.
  37650. func (s *DhcpConfiguration) SetKey(v string) *DhcpConfiguration {
  37651. s.Key = &v
  37652. return s
  37653. }
  37654. // SetValues sets the Values field's value.
  37655. func (s *DhcpConfiguration) SetValues(v []*AttributeValue) *DhcpConfiguration {
  37656. s.Values = v
  37657. return s
  37658. }
  37659. // Describes a set of DHCP options.
  37660. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DhcpOptions
  37661. type DhcpOptions struct {
  37662. _ struct{} `type:"structure"`
  37663. // One or more DHCP options in the set.
  37664. DhcpConfigurations []*DhcpConfiguration `locationName:"dhcpConfigurationSet" locationNameList:"item" type:"list"`
  37665. // The ID of the set of DHCP options.
  37666. DhcpOptionsId *string `locationName:"dhcpOptionsId" type:"string"`
  37667. // Any tags assigned to the DHCP options set.
  37668. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  37669. }
  37670. // String returns the string representation
  37671. func (s DhcpOptions) String() string {
  37672. return awsutil.Prettify(s)
  37673. }
  37674. // GoString returns the string representation
  37675. func (s DhcpOptions) GoString() string {
  37676. return s.String()
  37677. }
  37678. // SetDhcpConfigurations sets the DhcpConfigurations field's value.
  37679. func (s *DhcpOptions) SetDhcpConfigurations(v []*DhcpConfiguration) *DhcpOptions {
  37680. s.DhcpConfigurations = v
  37681. return s
  37682. }
  37683. // SetDhcpOptionsId sets the DhcpOptionsId field's value.
  37684. func (s *DhcpOptions) SetDhcpOptionsId(v string) *DhcpOptions {
  37685. s.DhcpOptionsId = &v
  37686. return s
  37687. }
  37688. // SetTags sets the Tags field's value.
  37689. func (s *DhcpOptions) SetTags(v []*Tag) *DhcpOptions {
  37690. s.Tags = v
  37691. return s
  37692. }
  37693. // Contains the parameters for DisableVgwRoutePropagation.
  37694. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVgwRoutePropagationRequest
  37695. type DisableVgwRoutePropagationInput struct {
  37696. _ struct{} `type:"structure"`
  37697. // The ID of the virtual private gateway.
  37698. //
  37699. // GatewayId is a required field
  37700. GatewayId *string `type:"string" required:"true"`
  37701. // The ID of the route table.
  37702. //
  37703. // RouteTableId is a required field
  37704. RouteTableId *string `type:"string" required:"true"`
  37705. }
  37706. // String returns the string representation
  37707. func (s DisableVgwRoutePropagationInput) String() string {
  37708. return awsutil.Prettify(s)
  37709. }
  37710. // GoString returns the string representation
  37711. func (s DisableVgwRoutePropagationInput) GoString() string {
  37712. return s.String()
  37713. }
  37714. // Validate inspects the fields of the type to determine if they are valid.
  37715. func (s *DisableVgwRoutePropagationInput) Validate() error {
  37716. invalidParams := request.ErrInvalidParams{Context: "DisableVgwRoutePropagationInput"}
  37717. if s.GatewayId == nil {
  37718. invalidParams.Add(request.NewErrParamRequired("GatewayId"))
  37719. }
  37720. if s.RouteTableId == nil {
  37721. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  37722. }
  37723. if invalidParams.Len() > 0 {
  37724. return invalidParams
  37725. }
  37726. return nil
  37727. }
  37728. // SetGatewayId sets the GatewayId field's value.
  37729. func (s *DisableVgwRoutePropagationInput) SetGatewayId(v string) *DisableVgwRoutePropagationInput {
  37730. s.GatewayId = &v
  37731. return s
  37732. }
  37733. // SetRouteTableId sets the RouteTableId field's value.
  37734. func (s *DisableVgwRoutePropagationInput) SetRouteTableId(v string) *DisableVgwRoutePropagationInput {
  37735. s.RouteTableId = &v
  37736. return s
  37737. }
  37738. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVgwRoutePropagationOutput
  37739. type DisableVgwRoutePropagationOutput struct {
  37740. _ struct{} `type:"structure"`
  37741. }
  37742. // String returns the string representation
  37743. func (s DisableVgwRoutePropagationOutput) String() string {
  37744. return awsutil.Prettify(s)
  37745. }
  37746. // GoString returns the string representation
  37747. func (s DisableVgwRoutePropagationOutput) GoString() string {
  37748. return s.String()
  37749. }
  37750. // Contains the parameters for DisableVpcClassicLinkDnsSupport.
  37751. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkDnsSupportRequest
  37752. type DisableVpcClassicLinkDnsSupportInput struct {
  37753. _ struct{} `type:"structure"`
  37754. // The ID of the VPC.
  37755. VpcId *string `type:"string"`
  37756. }
  37757. // String returns the string representation
  37758. func (s DisableVpcClassicLinkDnsSupportInput) String() string {
  37759. return awsutil.Prettify(s)
  37760. }
  37761. // GoString returns the string representation
  37762. func (s DisableVpcClassicLinkDnsSupportInput) GoString() string {
  37763. return s.String()
  37764. }
  37765. // SetVpcId sets the VpcId field's value.
  37766. func (s *DisableVpcClassicLinkDnsSupportInput) SetVpcId(v string) *DisableVpcClassicLinkDnsSupportInput {
  37767. s.VpcId = &v
  37768. return s
  37769. }
  37770. // Contains the output of DisableVpcClassicLinkDnsSupport.
  37771. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkDnsSupportResult
  37772. type DisableVpcClassicLinkDnsSupportOutput struct {
  37773. _ struct{} `type:"structure"`
  37774. // Returns true if the request succeeds; otherwise, it returns an error.
  37775. Return *bool `locationName:"return" type:"boolean"`
  37776. }
  37777. // String returns the string representation
  37778. func (s DisableVpcClassicLinkDnsSupportOutput) String() string {
  37779. return awsutil.Prettify(s)
  37780. }
  37781. // GoString returns the string representation
  37782. func (s DisableVpcClassicLinkDnsSupportOutput) GoString() string {
  37783. return s.String()
  37784. }
  37785. // SetReturn sets the Return field's value.
  37786. func (s *DisableVpcClassicLinkDnsSupportOutput) SetReturn(v bool) *DisableVpcClassicLinkDnsSupportOutput {
  37787. s.Return = &v
  37788. return s
  37789. }
  37790. // Contains the parameters for DisableVpcClassicLink.
  37791. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkRequest
  37792. type DisableVpcClassicLinkInput struct {
  37793. _ struct{} `type:"structure"`
  37794. // Checks whether you have the required permissions for the action, without
  37795. // actually making the request, and provides an error response. If you have
  37796. // the required permissions, the error response is DryRunOperation. Otherwise,
  37797. // it is UnauthorizedOperation.
  37798. DryRun *bool `locationName:"dryRun" type:"boolean"`
  37799. // The ID of the VPC.
  37800. //
  37801. // VpcId is a required field
  37802. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  37803. }
  37804. // String returns the string representation
  37805. func (s DisableVpcClassicLinkInput) String() string {
  37806. return awsutil.Prettify(s)
  37807. }
  37808. // GoString returns the string representation
  37809. func (s DisableVpcClassicLinkInput) GoString() string {
  37810. return s.String()
  37811. }
  37812. // Validate inspects the fields of the type to determine if they are valid.
  37813. func (s *DisableVpcClassicLinkInput) Validate() error {
  37814. invalidParams := request.ErrInvalidParams{Context: "DisableVpcClassicLinkInput"}
  37815. if s.VpcId == nil {
  37816. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  37817. }
  37818. if invalidParams.Len() > 0 {
  37819. return invalidParams
  37820. }
  37821. return nil
  37822. }
  37823. // SetDryRun sets the DryRun field's value.
  37824. func (s *DisableVpcClassicLinkInput) SetDryRun(v bool) *DisableVpcClassicLinkInput {
  37825. s.DryRun = &v
  37826. return s
  37827. }
  37828. // SetVpcId sets the VpcId field's value.
  37829. func (s *DisableVpcClassicLinkInput) SetVpcId(v string) *DisableVpcClassicLinkInput {
  37830. s.VpcId = &v
  37831. return s
  37832. }
  37833. // Contains the output of DisableVpcClassicLink.
  37834. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkResult
  37835. type DisableVpcClassicLinkOutput struct {
  37836. _ struct{} `type:"structure"`
  37837. // Returns true if the request succeeds; otherwise, it returns an error.
  37838. Return *bool `locationName:"return" type:"boolean"`
  37839. }
  37840. // String returns the string representation
  37841. func (s DisableVpcClassicLinkOutput) String() string {
  37842. return awsutil.Prettify(s)
  37843. }
  37844. // GoString returns the string representation
  37845. func (s DisableVpcClassicLinkOutput) GoString() string {
  37846. return s.String()
  37847. }
  37848. // SetReturn sets the Return field's value.
  37849. func (s *DisableVpcClassicLinkOutput) SetReturn(v bool) *DisableVpcClassicLinkOutput {
  37850. s.Return = &v
  37851. return s
  37852. }
  37853. // Contains the parameters for DisassociateAddress.
  37854. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateAddressRequest
  37855. type DisassociateAddressInput struct {
  37856. _ struct{} `type:"structure"`
  37857. // [EC2-VPC] The association ID. Required for EC2-VPC.
  37858. AssociationId *string `type:"string"`
  37859. // Checks whether you have the required permissions for the action, without
  37860. // actually making the request, and provides an error response. If you have
  37861. // the required permissions, the error response is DryRunOperation. Otherwise,
  37862. // it is UnauthorizedOperation.
  37863. DryRun *bool `locationName:"dryRun" type:"boolean"`
  37864. // [EC2-Classic] The Elastic IP address. Required for EC2-Classic.
  37865. PublicIp *string `type:"string"`
  37866. }
  37867. // String returns the string representation
  37868. func (s DisassociateAddressInput) String() string {
  37869. return awsutil.Prettify(s)
  37870. }
  37871. // GoString returns the string representation
  37872. func (s DisassociateAddressInput) GoString() string {
  37873. return s.String()
  37874. }
  37875. // SetAssociationId sets the AssociationId field's value.
  37876. func (s *DisassociateAddressInput) SetAssociationId(v string) *DisassociateAddressInput {
  37877. s.AssociationId = &v
  37878. return s
  37879. }
  37880. // SetDryRun sets the DryRun field's value.
  37881. func (s *DisassociateAddressInput) SetDryRun(v bool) *DisassociateAddressInput {
  37882. s.DryRun = &v
  37883. return s
  37884. }
  37885. // SetPublicIp sets the PublicIp field's value.
  37886. func (s *DisassociateAddressInput) SetPublicIp(v string) *DisassociateAddressInput {
  37887. s.PublicIp = &v
  37888. return s
  37889. }
  37890. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateAddressOutput
  37891. type DisassociateAddressOutput struct {
  37892. _ struct{} `type:"structure"`
  37893. }
  37894. // String returns the string representation
  37895. func (s DisassociateAddressOutput) String() string {
  37896. return awsutil.Prettify(s)
  37897. }
  37898. // GoString returns the string representation
  37899. func (s DisassociateAddressOutput) GoString() string {
  37900. return s.String()
  37901. }
  37902. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateIamInstanceProfileRequest
  37903. type DisassociateIamInstanceProfileInput struct {
  37904. _ struct{} `type:"structure"`
  37905. // The ID of the IAM instance profile association.
  37906. //
  37907. // AssociationId is a required field
  37908. AssociationId *string `type:"string" required:"true"`
  37909. }
  37910. // String returns the string representation
  37911. func (s DisassociateIamInstanceProfileInput) String() string {
  37912. return awsutil.Prettify(s)
  37913. }
  37914. // GoString returns the string representation
  37915. func (s DisassociateIamInstanceProfileInput) GoString() string {
  37916. return s.String()
  37917. }
  37918. // Validate inspects the fields of the type to determine if they are valid.
  37919. func (s *DisassociateIamInstanceProfileInput) Validate() error {
  37920. invalidParams := request.ErrInvalidParams{Context: "DisassociateIamInstanceProfileInput"}
  37921. if s.AssociationId == nil {
  37922. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  37923. }
  37924. if invalidParams.Len() > 0 {
  37925. return invalidParams
  37926. }
  37927. return nil
  37928. }
  37929. // SetAssociationId sets the AssociationId field's value.
  37930. func (s *DisassociateIamInstanceProfileInput) SetAssociationId(v string) *DisassociateIamInstanceProfileInput {
  37931. s.AssociationId = &v
  37932. return s
  37933. }
  37934. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateIamInstanceProfileResult
  37935. type DisassociateIamInstanceProfileOutput struct {
  37936. _ struct{} `type:"structure"`
  37937. // Information about the IAM instance profile association.
  37938. IamInstanceProfileAssociation *IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociation" type:"structure"`
  37939. }
  37940. // String returns the string representation
  37941. func (s DisassociateIamInstanceProfileOutput) String() string {
  37942. return awsutil.Prettify(s)
  37943. }
  37944. // GoString returns the string representation
  37945. func (s DisassociateIamInstanceProfileOutput) GoString() string {
  37946. return s.String()
  37947. }
  37948. // SetIamInstanceProfileAssociation sets the IamInstanceProfileAssociation field's value.
  37949. func (s *DisassociateIamInstanceProfileOutput) SetIamInstanceProfileAssociation(v *IamInstanceProfileAssociation) *DisassociateIamInstanceProfileOutput {
  37950. s.IamInstanceProfileAssociation = v
  37951. return s
  37952. }
  37953. // Contains the parameters for DisassociateRouteTable.
  37954. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateRouteTableRequest
  37955. type DisassociateRouteTableInput struct {
  37956. _ struct{} `type:"structure"`
  37957. // The association ID representing the current association between the route
  37958. // table and subnet.
  37959. //
  37960. // AssociationId is a required field
  37961. AssociationId *string `locationName:"associationId" type:"string" required:"true"`
  37962. // Checks whether you have the required permissions for the action, without
  37963. // actually making the request, and provides an error response. If you have
  37964. // the required permissions, the error response is DryRunOperation. Otherwise,
  37965. // it is UnauthorizedOperation.
  37966. DryRun *bool `locationName:"dryRun" type:"boolean"`
  37967. }
  37968. // String returns the string representation
  37969. func (s DisassociateRouteTableInput) String() string {
  37970. return awsutil.Prettify(s)
  37971. }
  37972. // GoString returns the string representation
  37973. func (s DisassociateRouteTableInput) GoString() string {
  37974. return s.String()
  37975. }
  37976. // Validate inspects the fields of the type to determine if they are valid.
  37977. func (s *DisassociateRouteTableInput) Validate() error {
  37978. invalidParams := request.ErrInvalidParams{Context: "DisassociateRouteTableInput"}
  37979. if s.AssociationId == nil {
  37980. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  37981. }
  37982. if invalidParams.Len() > 0 {
  37983. return invalidParams
  37984. }
  37985. return nil
  37986. }
  37987. // SetAssociationId sets the AssociationId field's value.
  37988. func (s *DisassociateRouteTableInput) SetAssociationId(v string) *DisassociateRouteTableInput {
  37989. s.AssociationId = &v
  37990. return s
  37991. }
  37992. // SetDryRun sets the DryRun field's value.
  37993. func (s *DisassociateRouteTableInput) SetDryRun(v bool) *DisassociateRouteTableInput {
  37994. s.DryRun = &v
  37995. return s
  37996. }
  37997. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateRouteTableOutput
  37998. type DisassociateRouteTableOutput struct {
  37999. _ struct{} `type:"structure"`
  38000. }
  38001. // String returns the string representation
  38002. func (s DisassociateRouteTableOutput) String() string {
  38003. return awsutil.Prettify(s)
  38004. }
  38005. // GoString returns the string representation
  38006. func (s DisassociateRouteTableOutput) GoString() string {
  38007. return s.String()
  38008. }
  38009. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateSubnetCidrBlockRequest
  38010. type DisassociateSubnetCidrBlockInput struct {
  38011. _ struct{} `type:"structure"`
  38012. // The association ID for the CIDR block.
  38013. //
  38014. // AssociationId is a required field
  38015. AssociationId *string `locationName:"associationId" type:"string" required:"true"`
  38016. }
  38017. // String returns the string representation
  38018. func (s DisassociateSubnetCidrBlockInput) String() string {
  38019. return awsutil.Prettify(s)
  38020. }
  38021. // GoString returns the string representation
  38022. func (s DisassociateSubnetCidrBlockInput) GoString() string {
  38023. return s.String()
  38024. }
  38025. // Validate inspects the fields of the type to determine if they are valid.
  38026. func (s *DisassociateSubnetCidrBlockInput) Validate() error {
  38027. invalidParams := request.ErrInvalidParams{Context: "DisassociateSubnetCidrBlockInput"}
  38028. if s.AssociationId == nil {
  38029. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  38030. }
  38031. if invalidParams.Len() > 0 {
  38032. return invalidParams
  38033. }
  38034. return nil
  38035. }
  38036. // SetAssociationId sets the AssociationId field's value.
  38037. func (s *DisassociateSubnetCidrBlockInput) SetAssociationId(v string) *DisassociateSubnetCidrBlockInput {
  38038. s.AssociationId = &v
  38039. return s
  38040. }
  38041. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateSubnetCidrBlockResult
  38042. type DisassociateSubnetCidrBlockOutput struct {
  38043. _ struct{} `type:"structure"`
  38044. // Information about the IPv6 CIDR block association.
  38045. Ipv6CidrBlockAssociation *SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
  38046. // The ID of the subnet.
  38047. SubnetId *string `locationName:"subnetId" type:"string"`
  38048. }
  38049. // String returns the string representation
  38050. func (s DisassociateSubnetCidrBlockOutput) String() string {
  38051. return awsutil.Prettify(s)
  38052. }
  38053. // GoString returns the string representation
  38054. func (s DisassociateSubnetCidrBlockOutput) GoString() string {
  38055. return s.String()
  38056. }
  38057. // SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
  38058. func (s *DisassociateSubnetCidrBlockOutput) SetIpv6CidrBlockAssociation(v *SubnetIpv6CidrBlockAssociation) *DisassociateSubnetCidrBlockOutput {
  38059. s.Ipv6CidrBlockAssociation = v
  38060. return s
  38061. }
  38062. // SetSubnetId sets the SubnetId field's value.
  38063. func (s *DisassociateSubnetCidrBlockOutput) SetSubnetId(v string) *DisassociateSubnetCidrBlockOutput {
  38064. s.SubnetId = &v
  38065. return s
  38066. }
  38067. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateVpcCidrBlockRequest
  38068. type DisassociateVpcCidrBlockInput struct {
  38069. _ struct{} `type:"structure"`
  38070. // The association ID for the CIDR block.
  38071. //
  38072. // AssociationId is a required field
  38073. AssociationId *string `locationName:"associationId" type:"string" required:"true"`
  38074. }
  38075. // String returns the string representation
  38076. func (s DisassociateVpcCidrBlockInput) String() string {
  38077. return awsutil.Prettify(s)
  38078. }
  38079. // GoString returns the string representation
  38080. func (s DisassociateVpcCidrBlockInput) GoString() string {
  38081. return s.String()
  38082. }
  38083. // Validate inspects the fields of the type to determine if they are valid.
  38084. func (s *DisassociateVpcCidrBlockInput) Validate() error {
  38085. invalidParams := request.ErrInvalidParams{Context: "DisassociateVpcCidrBlockInput"}
  38086. if s.AssociationId == nil {
  38087. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  38088. }
  38089. if invalidParams.Len() > 0 {
  38090. return invalidParams
  38091. }
  38092. return nil
  38093. }
  38094. // SetAssociationId sets the AssociationId field's value.
  38095. func (s *DisassociateVpcCidrBlockInput) SetAssociationId(v string) *DisassociateVpcCidrBlockInput {
  38096. s.AssociationId = &v
  38097. return s
  38098. }
  38099. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateVpcCidrBlockResult
  38100. type DisassociateVpcCidrBlockOutput struct {
  38101. _ struct{} `type:"structure"`
  38102. // Information about the IPv4 CIDR block association.
  38103. CidrBlockAssociation *VpcCidrBlockAssociation `locationName:"cidrBlockAssociation" type:"structure"`
  38104. // Information about the IPv6 CIDR block association.
  38105. Ipv6CidrBlockAssociation *VpcIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
  38106. // The ID of the VPC.
  38107. VpcId *string `locationName:"vpcId" type:"string"`
  38108. }
  38109. // String returns the string representation
  38110. func (s DisassociateVpcCidrBlockOutput) String() string {
  38111. return awsutil.Prettify(s)
  38112. }
  38113. // GoString returns the string representation
  38114. func (s DisassociateVpcCidrBlockOutput) GoString() string {
  38115. return s.String()
  38116. }
  38117. // SetCidrBlockAssociation sets the CidrBlockAssociation field's value.
  38118. func (s *DisassociateVpcCidrBlockOutput) SetCidrBlockAssociation(v *VpcCidrBlockAssociation) *DisassociateVpcCidrBlockOutput {
  38119. s.CidrBlockAssociation = v
  38120. return s
  38121. }
  38122. // SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
  38123. func (s *DisassociateVpcCidrBlockOutput) SetIpv6CidrBlockAssociation(v *VpcIpv6CidrBlockAssociation) *DisassociateVpcCidrBlockOutput {
  38124. s.Ipv6CidrBlockAssociation = v
  38125. return s
  38126. }
  38127. // SetVpcId sets the VpcId field's value.
  38128. func (s *DisassociateVpcCidrBlockOutput) SetVpcId(v string) *DisassociateVpcCidrBlockOutput {
  38129. s.VpcId = &v
  38130. return s
  38131. }
  38132. // Describes a disk image.
  38133. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DiskImage
  38134. type DiskImage struct {
  38135. _ struct{} `type:"structure"`
  38136. // A description of the disk image.
  38137. Description *string `type:"string"`
  38138. // Information about the disk image.
  38139. Image *DiskImageDetail `type:"structure"`
  38140. // Information about the volume.
  38141. Volume *VolumeDetail `type:"structure"`
  38142. }
  38143. // String returns the string representation
  38144. func (s DiskImage) String() string {
  38145. return awsutil.Prettify(s)
  38146. }
  38147. // GoString returns the string representation
  38148. func (s DiskImage) GoString() string {
  38149. return s.String()
  38150. }
  38151. // Validate inspects the fields of the type to determine if they are valid.
  38152. func (s *DiskImage) Validate() error {
  38153. invalidParams := request.ErrInvalidParams{Context: "DiskImage"}
  38154. if s.Image != nil {
  38155. if err := s.Image.Validate(); err != nil {
  38156. invalidParams.AddNested("Image", err.(request.ErrInvalidParams))
  38157. }
  38158. }
  38159. if s.Volume != nil {
  38160. if err := s.Volume.Validate(); err != nil {
  38161. invalidParams.AddNested("Volume", err.(request.ErrInvalidParams))
  38162. }
  38163. }
  38164. if invalidParams.Len() > 0 {
  38165. return invalidParams
  38166. }
  38167. return nil
  38168. }
  38169. // SetDescription sets the Description field's value.
  38170. func (s *DiskImage) SetDescription(v string) *DiskImage {
  38171. s.Description = &v
  38172. return s
  38173. }
  38174. // SetImage sets the Image field's value.
  38175. func (s *DiskImage) SetImage(v *DiskImageDetail) *DiskImage {
  38176. s.Image = v
  38177. return s
  38178. }
  38179. // SetVolume sets the Volume field's value.
  38180. func (s *DiskImage) SetVolume(v *VolumeDetail) *DiskImage {
  38181. s.Volume = v
  38182. return s
  38183. }
  38184. // Describes a disk image.
  38185. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DiskImageDescription
  38186. type DiskImageDescription struct {
  38187. _ struct{} `type:"structure"`
  38188. // The checksum computed for the disk image.
  38189. Checksum *string `locationName:"checksum" type:"string"`
  38190. // The disk image format.
  38191. //
  38192. // Format is a required field
  38193. Format *string `locationName:"format" type:"string" required:"true" enum:"DiskImageFormat"`
  38194. // A presigned URL for the import manifest stored in Amazon S3. For information
  38195. // about creating a presigned URL for an Amazon S3 object, read the "Query String
  38196. // Request Authentication Alternative" section of the Authenticating REST Requests
  38197. // (http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html)
  38198. // topic in the Amazon Simple Storage Service Developer Guide.
  38199. //
  38200. // For information about the import manifest referenced by this API action,
  38201. // see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  38202. //
  38203. // ImportManifestUrl is a required field
  38204. ImportManifestUrl *string `locationName:"importManifestUrl" type:"string" required:"true"`
  38205. // The size of the disk image, in GiB.
  38206. //
  38207. // Size is a required field
  38208. Size *int64 `locationName:"size" type:"long" required:"true"`
  38209. }
  38210. // String returns the string representation
  38211. func (s DiskImageDescription) String() string {
  38212. return awsutil.Prettify(s)
  38213. }
  38214. // GoString returns the string representation
  38215. func (s DiskImageDescription) GoString() string {
  38216. return s.String()
  38217. }
  38218. // SetChecksum sets the Checksum field's value.
  38219. func (s *DiskImageDescription) SetChecksum(v string) *DiskImageDescription {
  38220. s.Checksum = &v
  38221. return s
  38222. }
  38223. // SetFormat sets the Format field's value.
  38224. func (s *DiskImageDescription) SetFormat(v string) *DiskImageDescription {
  38225. s.Format = &v
  38226. return s
  38227. }
  38228. // SetImportManifestUrl sets the ImportManifestUrl field's value.
  38229. func (s *DiskImageDescription) SetImportManifestUrl(v string) *DiskImageDescription {
  38230. s.ImportManifestUrl = &v
  38231. return s
  38232. }
  38233. // SetSize sets the Size field's value.
  38234. func (s *DiskImageDescription) SetSize(v int64) *DiskImageDescription {
  38235. s.Size = &v
  38236. return s
  38237. }
  38238. // Describes a disk image.
  38239. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DiskImageDetail
  38240. type DiskImageDetail struct {
  38241. _ struct{} `type:"structure"`
  38242. // The size of the disk image, in GiB.
  38243. //
  38244. // Bytes is a required field
  38245. Bytes *int64 `locationName:"bytes" type:"long" required:"true"`
  38246. // The disk image format.
  38247. //
  38248. // Format is a required field
  38249. Format *string `locationName:"format" type:"string" required:"true" enum:"DiskImageFormat"`
  38250. // A presigned URL for the import manifest stored in Amazon S3 and presented
  38251. // here as an Amazon S3 presigned URL. For information about creating a presigned
  38252. // URL for an Amazon S3 object, read the "Query String Request Authentication
  38253. // Alternative" section of the Authenticating REST Requests (http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html)
  38254. // topic in the Amazon Simple Storage Service Developer Guide.
  38255. //
  38256. // For information about the import manifest referenced by this API action,
  38257. // see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  38258. //
  38259. // ImportManifestUrl is a required field
  38260. ImportManifestUrl *string `locationName:"importManifestUrl" type:"string" required:"true"`
  38261. }
  38262. // String returns the string representation
  38263. func (s DiskImageDetail) String() string {
  38264. return awsutil.Prettify(s)
  38265. }
  38266. // GoString returns the string representation
  38267. func (s DiskImageDetail) GoString() string {
  38268. return s.String()
  38269. }
  38270. // Validate inspects the fields of the type to determine if they are valid.
  38271. func (s *DiskImageDetail) Validate() error {
  38272. invalidParams := request.ErrInvalidParams{Context: "DiskImageDetail"}
  38273. if s.Bytes == nil {
  38274. invalidParams.Add(request.NewErrParamRequired("Bytes"))
  38275. }
  38276. if s.Format == nil {
  38277. invalidParams.Add(request.NewErrParamRequired("Format"))
  38278. }
  38279. if s.ImportManifestUrl == nil {
  38280. invalidParams.Add(request.NewErrParamRequired("ImportManifestUrl"))
  38281. }
  38282. if invalidParams.Len() > 0 {
  38283. return invalidParams
  38284. }
  38285. return nil
  38286. }
  38287. // SetBytes sets the Bytes field's value.
  38288. func (s *DiskImageDetail) SetBytes(v int64) *DiskImageDetail {
  38289. s.Bytes = &v
  38290. return s
  38291. }
  38292. // SetFormat sets the Format field's value.
  38293. func (s *DiskImageDetail) SetFormat(v string) *DiskImageDetail {
  38294. s.Format = &v
  38295. return s
  38296. }
  38297. // SetImportManifestUrl sets the ImportManifestUrl field's value.
  38298. func (s *DiskImageDetail) SetImportManifestUrl(v string) *DiskImageDetail {
  38299. s.ImportManifestUrl = &v
  38300. return s
  38301. }
  38302. // Describes a disk image volume.
  38303. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DiskImageVolumeDescription
  38304. type DiskImageVolumeDescription struct {
  38305. _ struct{} `type:"structure"`
  38306. // The volume identifier.
  38307. //
  38308. // Id is a required field
  38309. Id *string `locationName:"id" type:"string" required:"true"`
  38310. // The size of the volume, in GiB.
  38311. Size *int64 `locationName:"size" type:"long"`
  38312. }
  38313. // String returns the string representation
  38314. func (s DiskImageVolumeDescription) String() string {
  38315. return awsutil.Prettify(s)
  38316. }
  38317. // GoString returns the string representation
  38318. func (s DiskImageVolumeDescription) GoString() string {
  38319. return s.String()
  38320. }
  38321. // SetId sets the Id field's value.
  38322. func (s *DiskImageVolumeDescription) SetId(v string) *DiskImageVolumeDescription {
  38323. s.Id = &v
  38324. return s
  38325. }
  38326. // SetSize sets the Size field's value.
  38327. func (s *DiskImageVolumeDescription) SetSize(v int64) *DiskImageVolumeDescription {
  38328. s.Size = &v
  38329. return s
  38330. }
  38331. // Describes a DNS entry.
  38332. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DnsEntry
  38333. type DnsEntry struct {
  38334. _ struct{} `type:"structure"`
  38335. // The DNS name.
  38336. DnsName *string `locationName:"dnsName" type:"string"`
  38337. // The ID of the private hosted zone.
  38338. HostedZoneId *string `locationName:"hostedZoneId" type:"string"`
  38339. }
  38340. // String returns the string representation
  38341. func (s DnsEntry) String() string {
  38342. return awsutil.Prettify(s)
  38343. }
  38344. // GoString returns the string representation
  38345. func (s DnsEntry) GoString() string {
  38346. return s.String()
  38347. }
  38348. // SetDnsName sets the DnsName field's value.
  38349. func (s *DnsEntry) SetDnsName(v string) *DnsEntry {
  38350. s.DnsName = &v
  38351. return s
  38352. }
  38353. // SetHostedZoneId sets the HostedZoneId field's value.
  38354. func (s *DnsEntry) SetHostedZoneId(v string) *DnsEntry {
  38355. s.HostedZoneId = &v
  38356. return s
  38357. }
  38358. // Describes a block device for an EBS volume.
  38359. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EbsBlockDevice
  38360. type EbsBlockDevice struct {
  38361. _ struct{} `type:"structure"`
  38362. // Indicates whether the EBS volume is deleted on instance termination.
  38363. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  38364. // Indicates whether the EBS volume is encrypted. Encrypted volumes can only
  38365. // be attached to instances that support Amazon EBS encryption. If you are creating
  38366. // a volume from a snapshot, you can't specify an encryption value. This is
  38367. // because only blank volumes can be encrypted on creation.
  38368. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  38369. // The number of I/O operations per second (IOPS) that the volume supports.
  38370. // For io1, this represents the number of IOPS that are provisioned for the
  38371. // volume. For gp2, this represents the baseline performance of the volume and
  38372. // the rate at which the volume accumulates I/O credits for bursting. For more
  38373. // information about General Purpose SSD baseline performance, I/O credits,
  38374. // and bursting, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
  38375. // in the Amazon Elastic Compute Cloud User Guide.
  38376. //
  38377. // Constraint: Range is 100-20000 IOPS for io1 volumes and 100-10000 IOPS for
  38378. // gp2 volumes.
  38379. //
  38380. // Condition: This parameter is required for requests to create io1 volumes;
  38381. // it is not used in requests to create gp2, st1, sc1, or standard volumes.
  38382. Iops *int64 `locationName:"iops" type:"integer"`
  38383. // ID for a user-managed CMK under which the EBS volume is encrypted.
  38384. //
  38385. // Note: This parameter is only supported on BlockDeviceMapping objects called
  38386. // by RunInstances (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html),
  38387. // RequestSpotFleet (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html),
  38388. // and RequestSpotInstances (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html).
  38389. KmsKeyId *string `type:"string"`
  38390. // The ID of the snapshot.
  38391. SnapshotId *string `locationName:"snapshotId" type:"string"`
  38392. // The size of the volume, in GiB.
  38393. //
  38394. // Constraints: 1-16384 for General Purpose SSD (gp2), 4-16384 for Provisioned
  38395. // IOPS SSD (io1), 500-16384 for Throughput Optimized HDD (st1), 500-16384 for
  38396. // Cold HDD (sc1), and 1-1024 for Magnetic (standard) volumes. If you specify
  38397. // a snapshot, the volume size must be equal to or larger than the snapshot
  38398. // size.
  38399. //
  38400. // Default: If you're creating the volume from a snapshot and don't specify
  38401. // a volume size, the default is the snapshot size.
  38402. VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
  38403. // The volume type: gp2, io1, st1, sc1, or standard.
  38404. //
  38405. // Default: standard
  38406. VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"`
  38407. }
  38408. // String returns the string representation
  38409. func (s EbsBlockDevice) String() string {
  38410. return awsutil.Prettify(s)
  38411. }
  38412. // GoString returns the string representation
  38413. func (s EbsBlockDevice) GoString() string {
  38414. return s.String()
  38415. }
  38416. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  38417. func (s *EbsBlockDevice) SetDeleteOnTermination(v bool) *EbsBlockDevice {
  38418. s.DeleteOnTermination = &v
  38419. return s
  38420. }
  38421. // SetEncrypted sets the Encrypted field's value.
  38422. func (s *EbsBlockDevice) SetEncrypted(v bool) *EbsBlockDevice {
  38423. s.Encrypted = &v
  38424. return s
  38425. }
  38426. // SetIops sets the Iops field's value.
  38427. func (s *EbsBlockDevice) SetIops(v int64) *EbsBlockDevice {
  38428. s.Iops = &v
  38429. return s
  38430. }
  38431. // SetKmsKeyId sets the KmsKeyId field's value.
  38432. func (s *EbsBlockDevice) SetKmsKeyId(v string) *EbsBlockDevice {
  38433. s.KmsKeyId = &v
  38434. return s
  38435. }
  38436. // SetSnapshotId sets the SnapshotId field's value.
  38437. func (s *EbsBlockDevice) SetSnapshotId(v string) *EbsBlockDevice {
  38438. s.SnapshotId = &v
  38439. return s
  38440. }
  38441. // SetVolumeSize sets the VolumeSize field's value.
  38442. func (s *EbsBlockDevice) SetVolumeSize(v int64) *EbsBlockDevice {
  38443. s.VolumeSize = &v
  38444. return s
  38445. }
  38446. // SetVolumeType sets the VolumeType field's value.
  38447. func (s *EbsBlockDevice) SetVolumeType(v string) *EbsBlockDevice {
  38448. s.VolumeType = &v
  38449. return s
  38450. }
  38451. // Describes a parameter used to set up an EBS volume in a block device mapping.
  38452. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EbsInstanceBlockDevice
  38453. type EbsInstanceBlockDevice struct {
  38454. _ struct{} `type:"structure"`
  38455. // The time stamp when the attachment initiated.
  38456. AttachTime *time.Time `locationName:"attachTime" type:"timestamp" timestampFormat:"iso8601"`
  38457. // Indicates whether the volume is deleted on instance termination.
  38458. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  38459. // The attachment state.
  38460. Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
  38461. // The ID of the EBS volume.
  38462. VolumeId *string `locationName:"volumeId" type:"string"`
  38463. }
  38464. // String returns the string representation
  38465. func (s EbsInstanceBlockDevice) String() string {
  38466. return awsutil.Prettify(s)
  38467. }
  38468. // GoString returns the string representation
  38469. func (s EbsInstanceBlockDevice) GoString() string {
  38470. return s.String()
  38471. }
  38472. // SetAttachTime sets the AttachTime field's value.
  38473. func (s *EbsInstanceBlockDevice) SetAttachTime(v time.Time) *EbsInstanceBlockDevice {
  38474. s.AttachTime = &v
  38475. return s
  38476. }
  38477. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  38478. func (s *EbsInstanceBlockDevice) SetDeleteOnTermination(v bool) *EbsInstanceBlockDevice {
  38479. s.DeleteOnTermination = &v
  38480. return s
  38481. }
  38482. // SetStatus sets the Status field's value.
  38483. func (s *EbsInstanceBlockDevice) SetStatus(v string) *EbsInstanceBlockDevice {
  38484. s.Status = &v
  38485. return s
  38486. }
  38487. // SetVolumeId sets the VolumeId field's value.
  38488. func (s *EbsInstanceBlockDevice) SetVolumeId(v string) *EbsInstanceBlockDevice {
  38489. s.VolumeId = &v
  38490. return s
  38491. }
  38492. // Describes information used to set up an EBS volume specified in a block device
  38493. // mapping.
  38494. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EbsInstanceBlockDeviceSpecification
  38495. type EbsInstanceBlockDeviceSpecification struct {
  38496. _ struct{} `type:"structure"`
  38497. // Indicates whether the volume is deleted on instance termination.
  38498. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  38499. // The ID of the EBS volume.
  38500. VolumeId *string `locationName:"volumeId" type:"string"`
  38501. }
  38502. // String returns the string representation
  38503. func (s EbsInstanceBlockDeviceSpecification) String() string {
  38504. return awsutil.Prettify(s)
  38505. }
  38506. // GoString returns the string representation
  38507. func (s EbsInstanceBlockDeviceSpecification) GoString() string {
  38508. return s.String()
  38509. }
  38510. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  38511. func (s *EbsInstanceBlockDeviceSpecification) SetDeleteOnTermination(v bool) *EbsInstanceBlockDeviceSpecification {
  38512. s.DeleteOnTermination = &v
  38513. return s
  38514. }
  38515. // SetVolumeId sets the VolumeId field's value.
  38516. func (s *EbsInstanceBlockDeviceSpecification) SetVolumeId(v string) *EbsInstanceBlockDeviceSpecification {
  38517. s.VolumeId = &v
  38518. return s
  38519. }
  38520. // Describes an egress-only Internet gateway.
  38521. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EgressOnlyInternetGateway
  38522. type EgressOnlyInternetGateway struct {
  38523. _ struct{} `type:"structure"`
  38524. // Information about the attachment of the egress-only Internet gateway.
  38525. Attachments []*InternetGatewayAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
  38526. // The ID of the egress-only Internet gateway.
  38527. EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
  38528. }
  38529. // String returns the string representation
  38530. func (s EgressOnlyInternetGateway) String() string {
  38531. return awsutil.Prettify(s)
  38532. }
  38533. // GoString returns the string representation
  38534. func (s EgressOnlyInternetGateway) GoString() string {
  38535. return s.String()
  38536. }
  38537. // SetAttachments sets the Attachments field's value.
  38538. func (s *EgressOnlyInternetGateway) SetAttachments(v []*InternetGatewayAttachment) *EgressOnlyInternetGateway {
  38539. s.Attachments = v
  38540. return s
  38541. }
  38542. // SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
  38543. func (s *EgressOnlyInternetGateway) SetEgressOnlyInternetGatewayId(v string) *EgressOnlyInternetGateway {
  38544. s.EgressOnlyInternetGatewayId = &v
  38545. return s
  38546. }
  38547. // Describes the association between an instance and an Elastic GPU.
  38548. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ElasticGpuAssociation
  38549. type ElasticGpuAssociation struct {
  38550. _ struct{} `type:"structure"`
  38551. // The ID of the association.
  38552. ElasticGpuAssociationId *string `locationName:"elasticGpuAssociationId" type:"string"`
  38553. // The state of the association between the instance and the Elastic GPU.
  38554. ElasticGpuAssociationState *string `locationName:"elasticGpuAssociationState" type:"string"`
  38555. // The time the Elastic GPU was associated with the instance.
  38556. ElasticGpuAssociationTime *string `locationName:"elasticGpuAssociationTime" type:"string"`
  38557. // The ID of the Elastic GPU.
  38558. ElasticGpuId *string `locationName:"elasticGpuId" type:"string"`
  38559. }
  38560. // String returns the string representation
  38561. func (s ElasticGpuAssociation) String() string {
  38562. return awsutil.Prettify(s)
  38563. }
  38564. // GoString returns the string representation
  38565. func (s ElasticGpuAssociation) GoString() string {
  38566. return s.String()
  38567. }
  38568. // SetElasticGpuAssociationId sets the ElasticGpuAssociationId field's value.
  38569. func (s *ElasticGpuAssociation) SetElasticGpuAssociationId(v string) *ElasticGpuAssociation {
  38570. s.ElasticGpuAssociationId = &v
  38571. return s
  38572. }
  38573. // SetElasticGpuAssociationState sets the ElasticGpuAssociationState field's value.
  38574. func (s *ElasticGpuAssociation) SetElasticGpuAssociationState(v string) *ElasticGpuAssociation {
  38575. s.ElasticGpuAssociationState = &v
  38576. return s
  38577. }
  38578. // SetElasticGpuAssociationTime sets the ElasticGpuAssociationTime field's value.
  38579. func (s *ElasticGpuAssociation) SetElasticGpuAssociationTime(v string) *ElasticGpuAssociation {
  38580. s.ElasticGpuAssociationTime = &v
  38581. return s
  38582. }
  38583. // SetElasticGpuId sets the ElasticGpuId field's value.
  38584. func (s *ElasticGpuAssociation) SetElasticGpuId(v string) *ElasticGpuAssociation {
  38585. s.ElasticGpuId = &v
  38586. return s
  38587. }
  38588. // Describes the status of an Elastic GPU.
  38589. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ElasticGpuHealth
  38590. type ElasticGpuHealth struct {
  38591. _ struct{} `type:"structure"`
  38592. // The health status.
  38593. Status *string `locationName:"status" type:"string" enum:"ElasticGpuStatus"`
  38594. }
  38595. // String returns the string representation
  38596. func (s ElasticGpuHealth) String() string {
  38597. return awsutil.Prettify(s)
  38598. }
  38599. // GoString returns the string representation
  38600. func (s ElasticGpuHealth) GoString() string {
  38601. return s.String()
  38602. }
  38603. // SetStatus sets the Status field's value.
  38604. func (s *ElasticGpuHealth) SetStatus(v string) *ElasticGpuHealth {
  38605. s.Status = &v
  38606. return s
  38607. }
  38608. // A specification for an Elastic GPU.
  38609. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ElasticGpuSpecification
  38610. type ElasticGpuSpecification struct {
  38611. _ struct{} `type:"structure"`
  38612. // The type of Elastic GPU.
  38613. //
  38614. // Type is a required field
  38615. Type *string `type:"string" required:"true"`
  38616. }
  38617. // String returns the string representation
  38618. func (s ElasticGpuSpecification) String() string {
  38619. return awsutil.Prettify(s)
  38620. }
  38621. // GoString returns the string representation
  38622. func (s ElasticGpuSpecification) GoString() string {
  38623. return s.String()
  38624. }
  38625. // Validate inspects the fields of the type to determine if they are valid.
  38626. func (s *ElasticGpuSpecification) Validate() error {
  38627. invalidParams := request.ErrInvalidParams{Context: "ElasticGpuSpecification"}
  38628. if s.Type == nil {
  38629. invalidParams.Add(request.NewErrParamRequired("Type"))
  38630. }
  38631. if invalidParams.Len() > 0 {
  38632. return invalidParams
  38633. }
  38634. return nil
  38635. }
  38636. // SetType sets the Type field's value.
  38637. func (s *ElasticGpuSpecification) SetType(v string) *ElasticGpuSpecification {
  38638. s.Type = &v
  38639. return s
  38640. }
  38641. // Describes an elastic GPU.
  38642. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ElasticGpuSpecificationResponse
  38643. type ElasticGpuSpecificationResponse struct {
  38644. _ struct{} `type:"structure"`
  38645. // The elastic GPU type.
  38646. Type *string `locationName:"type" type:"string"`
  38647. }
  38648. // String returns the string representation
  38649. func (s ElasticGpuSpecificationResponse) String() string {
  38650. return awsutil.Prettify(s)
  38651. }
  38652. // GoString returns the string representation
  38653. func (s ElasticGpuSpecificationResponse) GoString() string {
  38654. return s.String()
  38655. }
  38656. // SetType sets the Type field's value.
  38657. func (s *ElasticGpuSpecificationResponse) SetType(v string) *ElasticGpuSpecificationResponse {
  38658. s.Type = &v
  38659. return s
  38660. }
  38661. // Describes an Elastic GPU.
  38662. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ElasticGpus
  38663. type ElasticGpus struct {
  38664. _ struct{} `type:"structure"`
  38665. // The Availability Zone in the which the Elastic GPU resides.
  38666. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  38667. // The status of the Elastic GPU.
  38668. ElasticGpuHealth *ElasticGpuHealth `locationName:"elasticGpuHealth" type:"structure"`
  38669. // The ID of the Elastic GPU.
  38670. ElasticGpuId *string `locationName:"elasticGpuId" type:"string"`
  38671. // The state of the Elastic GPU.
  38672. ElasticGpuState *string `locationName:"elasticGpuState" type:"string" enum:"ElasticGpuState"`
  38673. // The type of Elastic GPU.
  38674. ElasticGpuType *string `locationName:"elasticGpuType" type:"string"`
  38675. // The ID of the instance to which the Elastic GPU is attached.
  38676. InstanceId *string `locationName:"instanceId" type:"string"`
  38677. }
  38678. // String returns the string representation
  38679. func (s ElasticGpus) String() string {
  38680. return awsutil.Prettify(s)
  38681. }
  38682. // GoString returns the string representation
  38683. func (s ElasticGpus) GoString() string {
  38684. return s.String()
  38685. }
  38686. // SetAvailabilityZone sets the AvailabilityZone field's value.
  38687. func (s *ElasticGpus) SetAvailabilityZone(v string) *ElasticGpus {
  38688. s.AvailabilityZone = &v
  38689. return s
  38690. }
  38691. // SetElasticGpuHealth sets the ElasticGpuHealth field's value.
  38692. func (s *ElasticGpus) SetElasticGpuHealth(v *ElasticGpuHealth) *ElasticGpus {
  38693. s.ElasticGpuHealth = v
  38694. return s
  38695. }
  38696. // SetElasticGpuId sets the ElasticGpuId field's value.
  38697. func (s *ElasticGpus) SetElasticGpuId(v string) *ElasticGpus {
  38698. s.ElasticGpuId = &v
  38699. return s
  38700. }
  38701. // SetElasticGpuState sets the ElasticGpuState field's value.
  38702. func (s *ElasticGpus) SetElasticGpuState(v string) *ElasticGpus {
  38703. s.ElasticGpuState = &v
  38704. return s
  38705. }
  38706. // SetElasticGpuType sets the ElasticGpuType field's value.
  38707. func (s *ElasticGpus) SetElasticGpuType(v string) *ElasticGpus {
  38708. s.ElasticGpuType = &v
  38709. return s
  38710. }
  38711. // SetInstanceId sets the InstanceId field's value.
  38712. func (s *ElasticGpus) SetInstanceId(v string) *ElasticGpus {
  38713. s.InstanceId = &v
  38714. return s
  38715. }
  38716. // Contains the parameters for EnableVgwRoutePropagation.
  38717. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVgwRoutePropagationRequest
  38718. type EnableVgwRoutePropagationInput struct {
  38719. _ struct{} `type:"structure"`
  38720. // The ID of the virtual private gateway.
  38721. //
  38722. // GatewayId is a required field
  38723. GatewayId *string `type:"string" required:"true"`
  38724. // The ID of the route table.
  38725. //
  38726. // RouteTableId is a required field
  38727. RouteTableId *string `type:"string" required:"true"`
  38728. }
  38729. // String returns the string representation
  38730. func (s EnableVgwRoutePropagationInput) String() string {
  38731. return awsutil.Prettify(s)
  38732. }
  38733. // GoString returns the string representation
  38734. func (s EnableVgwRoutePropagationInput) GoString() string {
  38735. return s.String()
  38736. }
  38737. // Validate inspects the fields of the type to determine if they are valid.
  38738. func (s *EnableVgwRoutePropagationInput) Validate() error {
  38739. invalidParams := request.ErrInvalidParams{Context: "EnableVgwRoutePropagationInput"}
  38740. if s.GatewayId == nil {
  38741. invalidParams.Add(request.NewErrParamRequired("GatewayId"))
  38742. }
  38743. if s.RouteTableId == nil {
  38744. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  38745. }
  38746. if invalidParams.Len() > 0 {
  38747. return invalidParams
  38748. }
  38749. return nil
  38750. }
  38751. // SetGatewayId sets the GatewayId field's value.
  38752. func (s *EnableVgwRoutePropagationInput) SetGatewayId(v string) *EnableVgwRoutePropagationInput {
  38753. s.GatewayId = &v
  38754. return s
  38755. }
  38756. // SetRouteTableId sets the RouteTableId field's value.
  38757. func (s *EnableVgwRoutePropagationInput) SetRouteTableId(v string) *EnableVgwRoutePropagationInput {
  38758. s.RouteTableId = &v
  38759. return s
  38760. }
  38761. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVgwRoutePropagationOutput
  38762. type EnableVgwRoutePropagationOutput struct {
  38763. _ struct{} `type:"structure"`
  38764. }
  38765. // String returns the string representation
  38766. func (s EnableVgwRoutePropagationOutput) String() string {
  38767. return awsutil.Prettify(s)
  38768. }
  38769. // GoString returns the string representation
  38770. func (s EnableVgwRoutePropagationOutput) GoString() string {
  38771. return s.String()
  38772. }
  38773. // Contains the parameters for EnableVolumeIO.
  38774. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVolumeIORequest
  38775. type EnableVolumeIOInput struct {
  38776. _ struct{} `type:"structure"`
  38777. // Checks whether you have the required permissions for the action, without
  38778. // actually making the request, and provides an error response. If you have
  38779. // the required permissions, the error response is DryRunOperation. Otherwise,
  38780. // it is UnauthorizedOperation.
  38781. DryRun *bool `locationName:"dryRun" type:"boolean"`
  38782. // The ID of the volume.
  38783. //
  38784. // VolumeId is a required field
  38785. VolumeId *string `locationName:"volumeId" type:"string" required:"true"`
  38786. }
  38787. // String returns the string representation
  38788. func (s EnableVolumeIOInput) String() string {
  38789. return awsutil.Prettify(s)
  38790. }
  38791. // GoString returns the string representation
  38792. func (s EnableVolumeIOInput) GoString() string {
  38793. return s.String()
  38794. }
  38795. // Validate inspects the fields of the type to determine if they are valid.
  38796. func (s *EnableVolumeIOInput) Validate() error {
  38797. invalidParams := request.ErrInvalidParams{Context: "EnableVolumeIOInput"}
  38798. if s.VolumeId == nil {
  38799. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  38800. }
  38801. if invalidParams.Len() > 0 {
  38802. return invalidParams
  38803. }
  38804. return nil
  38805. }
  38806. // SetDryRun sets the DryRun field's value.
  38807. func (s *EnableVolumeIOInput) SetDryRun(v bool) *EnableVolumeIOInput {
  38808. s.DryRun = &v
  38809. return s
  38810. }
  38811. // SetVolumeId sets the VolumeId field's value.
  38812. func (s *EnableVolumeIOInput) SetVolumeId(v string) *EnableVolumeIOInput {
  38813. s.VolumeId = &v
  38814. return s
  38815. }
  38816. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVolumeIOOutput
  38817. type EnableVolumeIOOutput struct {
  38818. _ struct{} `type:"structure"`
  38819. }
  38820. // String returns the string representation
  38821. func (s EnableVolumeIOOutput) String() string {
  38822. return awsutil.Prettify(s)
  38823. }
  38824. // GoString returns the string representation
  38825. func (s EnableVolumeIOOutput) GoString() string {
  38826. return s.String()
  38827. }
  38828. // Contains the parameters for EnableVpcClassicLinkDnsSupport.
  38829. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLinkDnsSupportRequest
  38830. type EnableVpcClassicLinkDnsSupportInput struct {
  38831. _ struct{} `type:"structure"`
  38832. // The ID of the VPC.
  38833. VpcId *string `type:"string"`
  38834. }
  38835. // String returns the string representation
  38836. func (s EnableVpcClassicLinkDnsSupportInput) String() string {
  38837. return awsutil.Prettify(s)
  38838. }
  38839. // GoString returns the string representation
  38840. func (s EnableVpcClassicLinkDnsSupportInput) GoString() string {
  38841. return s.String()
  38842. }
  38843. // SetVpcId sets the VpcId field's value.
  38844. func (s *EnableVpcClassicLinkDnsSupportInput) SetVpcId(v string) *EnableVpcClassicLinkDnsSupportInput {
  38845. s.VpcId = &v
  38846. return s
  38847. }
  38848. // Contains the output of EnableVpcClassicLinkDnsSupport.
  38849. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLinkDnsSupportResult
  38850. type EnableVpcClassicLinkDnsSupportOutput struct {
  38851. _ struct{} `type:"structure"`
  38852. // Returns true if the request succeeds; otherwise, it returns an error.
  38853. Return *bool `locationName:"return" type:"boolean"`
  38854. }
  38855. // String returns the string representation
  38856. func (s EnableVpcClassicLinkDnsSupportOutput) String() string {
  38857. return awsutil.Prettify(s)
  38858. }
  38859. // GoString returns the string representation
  38860. func (s EnableVpcClassicLinkDnsSupportOutput) GoString() string {
  38861. return s.String()
  38862. }
  38863. // SetReturn sets the Return field's value.
  38864. func (s *EnableVpcClassicLinkDnsSupportOutput) SetReturn(v bool) *EnableVpcClassicLinkDnsSupportOutput {
  38865. s.Return = &v
  38866. return s
  38867. }
  38868. // Contains the parameters for EnableVpcClassicLink.
  38869. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLinkRequest
  38870. type EnableVpcClassicLinkInput struct {
  38871. _ struct{} `type:"structure"`
  38872. // Checks whether you have the required permissions for the action, without
  38873. // actually making the request, and provides an error response. If you have
  38874. // the required permissions, the error response is DryRunOperation. Otherwise,
  38875. // it is UnauthorizedOperation.
  38876. DryRun *bool `locationName:"dryRun" type:"boolean"`
  38877. // The ID of the VPC.
  38878. //
  38879. // VpcId is a required field
  38880. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  38881. }
  38882. // String returns the string representation
  38883. func (s EnableVpcClassicLinkInput) String() string {
  38884. return awsutil.Prettify(s)
  38885. }
  38886. // GoString returns the string representation
  38887. func (s EnableVpcClassicLinkInput) GoString() string {
  38888. return s.String()
  38889. }
  38890. // Validate inspects the fields of the type to determine if they are valid.
  38891. func (s *EnableVpcClassicLinkInput) Validate() error {
  38892. invalidParams := request.ErrInvalidParams{Context: "EnableVpcClassicLinkInput"}
  38893. if s.VpcId == nil {
  38894. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  38895. }
  38896. if invalidParams.Len() > 0 {
  38897. return invalidParams
  38898. }
  38899. return nil
  38900. }
  38901. // SetDryRun sets the DryRun field's value.
  38902. func (s *EnableVpcClassicLinkInput) SetDryRun(v bool) *EnableVpcClassicLinkInput {
  38903. s.DryRun = &v
  38904. return s
  38905. }
  38906. // SetVpcId sets the VpcId field's value.
  38907. func (s *EnableVpcClassicLinkInput) SetVpcId(v string) *EnableVpcClassicLinkInput {
  38908. s.VpcId = &v
  38909. return s
  38910. }
  38911. // Contains the output of EnableVpcClassicLink.
  38912. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLinkResult
  38913. type EnableVpcClassicLinkOutput struct {
  38914. _ struct{} `type:"structure"`
  38915. // Returns true if the request succeeds; otherwise, it returns an error.
  38916. Return *bool `locationName:"return" type:"boolean"`
  38917. }
  38918. // String returns the string representation
  38919. func (s EnableVpcClassicLinkOutput) String() string {
  38920. return awsutil.Prettify(s)
  38921. }
  38922. // GoString returns the string representation
  38923. func (s EnableVpcClassicLinkOutput) GoString() string {
  38924. return s.String()
  38925. }
  38926. // SetReturn sets the Return field's value.
  38927. func (s *EnableVpcClassicLinkOutput) SetReturn(v bool) *EnableVpcClassicLinkOutput {
  38928. s.Return = &v
  38929. return s
  38930. }
  38931. // Describes a Spot Fleet event.
  38932. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EventInformation
  38933. type EventInformation struct {
  38934. _ struct{} `type:"structure"`
  38935. // The description of the event.
  38936. EventDescription *string `locationName:"eventDescription" type:"string"`
  38937. // The event.
  38938. //
  38939. // The following are the error events:
  38940. //
  38941. // * iamFleetRoleInvalid - The Spot Fleet did not have the required permissions
  38942. // either to launch or terminate an instance.
  38943. //
  38944. // * launchSpecTemporarilyBlacklisted - The configuration is not valid and
  38945. // several attempts to launch instances have failed. For more information,
  38946. // see the description of the event.
  38947. //
  38948. // * spotFleetRequestConfigurationInvalid - The configuration is not valid.
  38949. // For more information, see the description of the event.
  38950. //
  38951. // * spotInstanceCountLimitExceeded - You've reached the limit on the number
  38952. // of Spot Instances that you can launch.
  38953. //
  38954. // The following are the fleetRequestChange events:
  38955. //
  38956. // * active - The Spot Fleet has been validated and Amazon EC2 is attempting
  38957. // to maintain the target number of running Spot Instances.
  38958. //
  38959. // * cancelled - The Spot Fleet is canceled and has no running Spot Instances.
  38960. // The Spot Fleet will be deleted two days after its instances were terminated.
  38961. //
  38962. // * cancelled_running - The Spot Fleet is canceled and will not launch additional
  38963. // Spot Instances, but its existing Spot Instances continue to run until
  38964. // they are interrupted or terminated.
  38965. //
  38966. // * cancelled_terminating - The Spot Fleet is canceled and its Spot Instances
  38967. // are terminating.
  38968. //
  38969. // * expired - The Spot Fleet request has expired. A subsequent event indicates
  38970. // that the instances were terminated, if the request was created with TerminateInstancesWithExpiration
  38971. // set.
  38972. //
  38973. // * modify_in_progress - A request to modify the Spot Fleet request was
  38974. // accepted and is in progress.
  38975. //
  38976. // * modify_successful - The Spot Fleet request was modified.
  38977. //
  38978. // * price_update - The price for a launch configuration was adjusted because
  38979. // it was too high. This change is permanent.
  38980. //
  38981. // * submitted - The Spot Fleet request is being evaluated and Amazon EC2
  38982. // is preparing to launch the target number of Spot Instances.
  38983. //
  38984. // The following are the instanceChange events:
  38985. //
  38986. // * launched - A request was fulfilled and a new instance was launched.
  38987. //
  38988. // * terminated - An instance was terminated by the user.
  38989. //
  38990. // The following are the Information events:
  38991. //
  38992. // * launchSpecUnusable - The price in a launch specification is not valid
  38993. // because it is below the Spot price or the Spot price is above the On-Demand
  38994. // price.
  38995. //
  38996. // * fleetProgressHalted - The price in every launch specification is not
  38997. // valid. A launch specification might become valid if the Spot price changes.
  38998. EventSubType *string `locationName:"eventSubType" type:"string"`
  38999. // The ID of the instance. This information is available only for instanceChange
  39000. // events.
  39001. InstanceId *string `locationName:"instanceId" type:"string"`
  39002. }
  39003. // String returns the string representation
  39004. func (s EventInformation) String() string {
  39005. return awsutil.Prettify(s)
  39006. }
  39007. // GoString returns the string representation
  39008. func (s EventInformation) GoString() string {
  39009. return s.String()
  39010. }
  39011. // SetEventDescription sets the EventDescription field's value.
  39012. func (s *EventInformation) SetEventDescription(v string) *EventInformation {
  39013. s.EventDescription = &v
  39014. return s
  39015. }
  39016. // SetEventSubType sets the EventSubType field's value.
  39017. func (s *EventInformation) SetEventSubType(v string) *EventInformation {
  39018. s.EventSubType = &v
  39019. return s
  39020. }
  39021. // SetInstanceId sets the InstanceId field's value.
  39022. func (s *EventInformation) SetInstanceId(v string) *EventInformation {
  39023. s.InstanceId = &v
  39024. return s
  39025. }
  39026. // Describes an instance export task.
  39027. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportTask
  39028. type ExportTask struct {
  39029. _ struct{} `type:"structure"`
  39030. // A description of the resource being exported.
  39031. Description *string `locationName:"description" type:"string"`
  39032. // The ID of the export task.
  39033. ExportTaskId *string `locationName:"exportTaskId" type:"string"`
  39034. // Information about the export task.
  39035. ExportToS3Task *ExportToS3Task `locationName:"exportToS3" type:"structure"`
  39036. // Information about the instance to export.
  39037. InstanceExportDetails *InstanceExportDetails `locationName:"instanceExport" type:"structure"`
  39038. // The state of the export task.
  39039. State *string `locationName:"state" type:"string" enum:"ExportTaskState"`
  39040. // The status message related to the export task.
  39041. StatusMessage *string `locationName:"statusMessage" type:"string"`
  39042. }
  39043. // String returns the string representation
  39044. func (s ExportTask) String() string {
  39045. return awsutil.Prettify(s)
  39046. }
  39047. // GoString returns the string representation
  39048. func (s ExportTask) GoString() string {
  39049. return s.String()
  39050. }
  39051. // SetDescription sets the Description field's value.
  39052. func (s *ExportTask) SetDescription(v string) *ExportTask {
  39053. s.Description = &v
  39054. return s
  39055. }
  39056. // SetExportTaskId sets the ExportTaskId field's value.
  39057. func (s *ExportTask) SetExportTaskId(v string) *ExportTask {
  39058. s.ExportTaskId = &v
  39059. return s
  39060. }
  39061. // SetExportToS3Task sets the ExportToS3Task field's value.
  39062. func (s *ExportTask) SetExportToS3Task(v *ExportToS3Task) *ExportTask {
  39063. s.ExportToS3Task = v
  39064. return s
  39065. }
  39066. // SetInstanceExportDetails sets the InstanceExportDetails field's value.
  39067. func (s *ExportTask) SetInstanceExportDetails(v *InstanceExportDetails) *ExportTask {
  39068. s.InstanceExportDetails = v
  39069. return s
  39070. }
  39071. // SetState sets the State field's value.
  39072. func (s *ExportTask) SetState(v string) *ExportTask {
  39073. s.State = &v
  39074. return s
  39075. }
  39076. // SetStatusMessage sets the StatusMessage field's value.
  39077. func (s *ExportTask) SetStatusMessage(v string) *ExportTask {
  39078. s.StatusMessage = &v
  39079. return s
  39080. }
  39081. // Describes the format and location for an instance export task.
  39082. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportToS3Task
  39083. type ExportToS3Task struct {
  39084. _ struct{} `type:"structure"`
  39085. // The container format used to combine disk images with metadata (such as OVF).
  39086. // If absent, only the disk image is exported.
  39087. ContainerFormat *string `locationName:"containerFormat" type:"string" enum:"ContainerFormat"`
  39088. // The format for the exported image.
  39089. DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"`
  39090. // The S3 bucket for the destination image. The destination bucket must exist
  39091. // and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.
  39092. S3Bucket *string `locationName:"s3Bucket" type:"string"`
  39093. // The encryption key for your S3 bucket.
  39094. S3Key *string `locationName:"s3Key" type:"string"`
  39095. }
  39096. // String returns the string representation
  39097. func (s ExportToS3Task) String() string {
  39098. return awsutil.Prettify(s)
  39099. }
  39100. // GoString returns the string representation
  39101. func (s ExportToS3Task) GoString() string {
  39102. return s.String()
  39103. }
  39104. // SetContainerFormat sets the ContainerFormat field's value.
  39105. func (s *ExportToS3Task) SetContainerFormat(v string) *ExportToS3Task {
  39106. s.ContainerFormat = &v
  39107. return s
  39108. }
  39109. // SetDiskImageFormat sets the DiskImageFormat field's value.
  39110. func (s *ExportToS3Task) SetDiskImageFormat(v string) *ExportToS3Task {
  39111. s.DiskImageFormat = &v
  39112. return s
  39113. }
  39114. // SetS3Bucket sets the S3Bucket field's value.
  39115. func (s *ExportToS3Task) SetS3Bucket(v string) *ExportToS3Task {
  39116. s.S3Bucket = &v
  39117. return s
  39118. }
  39119. // SetS3Key sets the S3Key field's value.
  39120. func (s *ExportToS3Task) SetS3Key(v string) *ExportToS3Task {
  39121. s.S3Key = &v
  39122. return s
  39123. }
  39124. // Describes an instance export task.
  39125. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportToS3TaskSpecification
  39126. type ExportToS3TaskSpecification struct {
  39127. _ struct{} `type:"structure"`
  39128. // The container format used to combine disk images with metadata (such as OVF).
  39129. // If absent, only the disk image is exported.
  39130. ContainerFormat *string `locationName:"containerFormat" type:"string" enum:"ContainerFormat"`
  39131. // The format for the exported image.
  39132. DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"`
  39133. // The S3 bucket for the destination image. The destination bucket must exist
  39134. // and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.
  39135. S3Bucket *string `locationName:"s3Bucket" type:"string"`
  39136. // The image is written to a single object in the S3 bucket at the S3 key s3prefix
  39137. // + exportTaskId + '.' + diskImageFormat.
  39138. S3Prefix *string `locationName:"s3Prefix" type:"string"`
  39139. }
  39140. // String returns the string representation
  39141. func (s ExportToS3TaskSpecification) String() string {
  39142. return awsutil.Prettify(s)
  39143. }
  39144. // GoString returns the string representation
  39145. func (s ExportToS3TaskSpecification) GoString() string {
  39146. return s.String()
  39147. }
  39148. // SetContainerFormat sets the ContainerFormat field's value.
  39149. func (s *ExportToS3TaskSpecification) SetContainerFormat(v string) *ExportToS3TaskSpecification {
  39150. s.ContainerFormat = &v
  39151. return s
  39152. }
  39153. // SetDiskImageFormat sets the DiskImageFormat field's value.
  39154. func (s *ExportToS3TaskSpecification) SetDiskImageFormat(v string) *ExportToS3TaskSpecification {
  39155. s.DiskImageFormat = &v
  39156. return s
  39157. }
  39158. // SetS3Bucket sets the S3Bucket field's value.
  39159. func (s *ExportToS3TaskSpecification) SetS3Bucket(v string) *ExportToS3TaskSpecification {
  39160. s.S3Bucket = &v
  39161. return s
  39162. }
  39163. // SetS3Prefix sets the S3Prefix field's value.
  39164. func (s *ExportToS3TaskSpecification) SetS3Prefix(v string) *ExportToS3TaskSpecification {
  39165. s.S3Prefix = &v
  39166. return s
  39167. }
  39168. // A filter name and value pair that is used to return a more specific list
  39169. // of results. Filters can be used to match a set of resources by various criteria,
  39170. // such as tags, attributes, or IDs.
  39171. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Filter
  39172. type Filter struct {
  39173. _ struct{} `type:"structure"`
  39174. // The name of the filter. Filter names are case-sensitive.
  39175. Name *string `type:"string"`
  39176. // One or more filter values. Filter values are case-sensitive.
  39177. Values []*string `locationName:"Value" locationNameList:"item" type:"list"`
  39178. }
  39179. // String returns the string representation
  39180. func (s Filter) String() string {
  39181. return awsutil.Prettify(s)
  39182. }
  39183. // GoString returns the string representation
  39184. func (s Filter) GoString() string {
  39185. return s.String()
  39186. }
  39187. // SetName sets the Name field's value.
  39188. func (s *Filter) SetName(v string) *Filter {
  39189. s.Name = &v
  39190. return s
  39191. }
  39192. // SetValues sets the Values field's value.
  39193. func (s *Filter) SetValues(v []*string) *Filter {
  39194. s.Values = v
  39195. return s
  39196. }
  39197. // Describes a launch template.
  39198. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/FleetLaunchTemplateSpecification
  39199. type FleetLaunchTemplateSpecification struct {
  39200. _ struct{} `type:"structure"`
  39201. // The ID of the launch template. You must specify either a template ID or a
  39202. // template name.
  39203. LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
  39204. // The name of the launch template. You must specify either a template name
  39205. // or a template ID.
  39206. LaunchTemplateName *string `locationName:"launchTemplateName" min:"3" type:"string"`
  39207. // The version number. By default, the default version of the launch template
  39208. // is used.
  39209. Version *string `locationName:"version" type:"string"`
  39210. }
  39211. // String returns the string representation
  39212. func (s FleetLaunchTemplateSpecification) String() string {
  39213. return awsutil.Prettify(s)
  39214. }
  39215. // GoString returns the string representation
  39216. func (s FleetLaunchTemplateSpecification) GoString() string {
  39217. return s.String()
  39218. }
  39219. // Validate inspects the fields of the type to determine if they are valid.
  39220. func (s *FleetLaunchTemplateSpecification) Validate() error {
  39221. invalidParams := request.ErrInvalidParams{Context: "FleetLaunchTemplateSpecification"}
  39222. if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
  39223. invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
  39224. }
  39225. if invalidParams.Len() > 0 {
  39226. return invalidParams
  39227. }
  39228. return nil
  39229. }
  39230. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  39231. func (s *FleetLaunchTemplateSpecification) SetLaunchTemplateId(v string) *FleetLaunchTemplateSpecification {
  39232. s.LaunchTemplateId = &v
  39233. return s
  39234. }
  39235. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  39236. func (s *FleetLaunchTemplateSpecification) SetLaunchTemplateName(v string) *FleetLaunchTemplateSpecification {
  39237. s.LaunchTemplateName = &v
  39238. return s
  39239. }
  39240. // SetVersion sets the Version field's value.
  39241. func (s *FleetLaunchTemplateSpecification) SetVersion(v string) *FleetLaunchTemplateSpecification {
  39242. s.Version = &v
  39243. return s
  39244. }
  39245. // Describes a flow log.
  39246. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/FlowLog
  39247. type FlowLog struct {
  39248. _ struct{} `type:"structure"`
  39249. // The date and time the flow log was created.
  39250. CreationTime *time.Time `locationName:"creationTime" type:"timestamp" timestampFormat:"iso8601"`
  39251. // Information about the error that occurred. Rate limited indicates that CloudWatch
  39252. // logs throttling has been applied for one or more network interfaces, or that
  39253. // you've reached the limit on the number of CloudWatch Logs log groups that
  39254. // you can create. Access error indicates that the IAM role associated with
  39255. // the flow log does not have sufficient permissions to publish to CloudWatch
  39256. // Logs. Unknown error indicates an internal error.
  39257. DeliverLogsErrorMessage *string `locationName:"deliverLogsErrorMessage" type:"string"`
  39258. // The ARN of the IAM role that posts logs to CloudWatch Logs.
  39259. DeliverLogsPermissionArn *string `locationName:"deliverLogsPermissionArn" type:"string"`
  39260. // The status of the logs delivery (SUCCESS | FAILED).
  39261. DeliverLogsStatus *string `locationName:"deliverLogsStatus" type:"string"`
  39262. // The flow log ID.
  39263. FlowLogId *string `locationName:"flowLogId" type:"string"`
  39264. // The status of the flow log (ACTIVE).
  39265. FlowLogStatus *string `locationName:"flowLogStatus" type:"string"`
  39266. // The name of the flow log group.
  39267. LogGroupName *string `locationName:"logGroupName" type:"string"`
  39268. // The ID of the resource on which the flow log was created.
  39269. ResourceId *string `locationName:"resourceId" type:"string"`
  39270. // The type of traffic captured for the flow log.
  39271. TrafficType *string `locationName:"trafficType" type:"string" enum:"TrafficType"`
  39272. }
  39273. // String returns the string representation
  39274. func (s FlowLog) String() string {
  39275. return awsutil.Prettify(s)
  39276. }
  39277. // GoString returns the string representation
  39278. func (s FlowLog) GoString() string {
  39279. return s.String()
  39280. }
  39281. // SetCreationTime sets the CreationTime field's value.
  39282. func (s *FlowLog) SetCreationTime(v time.Time) *FlowLog {
  39283. s.CreationTime = &v
  39284. return s
  39285. }
  39286. // SetDeliverLogsErrorMessage sets the DeliverLogsErrorMessage field's value.
  39287. func (s *FlowLog) SetDeliverLogsErrorMessage(v string) *FlowLog {
  39288. s.DeliverLogsErrorMessage = &v
  39289. return s
  39290. }
  39291. // SetDeliverLogsPermissionArn sets the DeliverLogsPermissionArn field's value.
  39292. func (s *FlowLog) SetDeliverLogsPermissionArn(v string) *FlowLog {
  39293. s.DeliverLogsPermissionArn = &v
  39294. return s
  39295. }
  39296. // SetDeliverLogsStatus sets the DeliverLogsStatus field's value.
  39297. func (s *FlowLog) SetDeliverLogsStatus(v string) *FlowLog {
  39298. s.DeliverLogsStatus = &v
  39299. return s
  39300. }
  39301. // SetFlowLogId sets the FlowLogId field's value.
  39302. func (s *FlowLog) SetFlowLogId(v string) *FlowLog {
  39303. s.FlowLogId = &v
  39304. return s
  39305. }
  39306. // SetFlowLogStatus sets the FlowLogStatus field's value.
  39307. func (s *FlowLog) SetFlowLogStatus(v string) *FlowLog {
  39308. s.FlowLogStatus = &v
  39309. return s
  39310. }
  39311. // SetLogGroupName sets the LogGroupName field's value.
  39312. func (s *FlowLog) SetLogGroupName(v string) *FlowLog {
  39313. s.LogGroupName = &v
  39314. return s
  39315. }
  39316. // SetResourceId sets the ResourceId field's value.
  39317. func (s *FlowLog) SetResourceId(v string) *FlowLog {
  39318. s.ResourceId = &v
  39319. return s
  39320. }
  39321. // SetTrafficType sets the TrafficType field's value.
  39322. func (s *FlowLog) SetTrafficType(v string) *FlowLog {
  39323. s.TrafficType = &v
  39324. return s
  39325. }
  39326. // Describes an Amazon FPGA image (AFI).
  39327. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/FpgaImage
  39328. type FpgaImage struct {
  39329. _ struct{} `type:"structure"`
  39330. // The date and time the AFI was created.
  39331. CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"`
  39332. // The description of the AFI.
  39333. Description *string `locationName:"description" type:"string"`
  39334. // The global FPGA image identifier (AGFI ID).
  39335. FpgaImageGlobalId *string `locationName:"fpgaImageGlobalId" type:"string"`
  39336. // The FPGA image identifier (AFI ID).
  39337. FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
  39338. // The name of the AFI.
  39339. Name *string `locationName:"name" type:"string"`
  39340. // The alias of the AFI owner. Possible values include self, amazon, and aws-marketplace.
  39341. OwnerAlias *string `locationName:"ownerAlias" type:"string"`
  39342. // The AWS account ID of the AFI owner.
  39343. OwnerId *string `locationName:"ownerId" type:"string"`
  39344. // Information about the PCI bus.
  39345. PciId *PciId `locationName:"pciId" type:"structure"`
  39346. // The product codes for the AFI.
  39347. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  39348. // Indicates whether the AFI is public.
  39349. Public *bool `locationName:"public" type:"boolean"`
  39350. // The version of the AWS Shell that was used to create the bitstream.
  39351. ShellVersion *string `locationName:"shellVersion" type:"string"`
  39352. // Information about the state of the AFI.
  39353. State *FpgaImageState `locationName:"state" type:"structure"`
  39354. // Any tags assigned to the AFI.
  39355. Tags []*Tag `locationName:"tags" locationNameList:"item" type:"list"`
  39356. // The time of the most recent update to the AFI.
  39357. UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" timestampFormat:"iso8601"`
  39358. }
  39359. // String returns the string representation
  39360. func (s FpgaImage) String() string {
  39361. return awsutil.Prettify(s)
  39362. }
  39363. // GoString returns the string representation
  39364. func (s FpgaImage) GoString() string {
  39365. return s.String()
  39366. }
  39367. // SetCreateTime sets the CreateTime field's value.
  39368. func (s *FpgaImage) SetCreateTime(v time.Time) *FpgaImage {
  39369. s.CreateTime = &v
  39370. return s
  39371. }
  39372. // SetDescription sets the Description field's value.
  39373. func (s *FpgaImage) SetDescription(v string) *FpgaImage {
  39374. s.Description = &v
  39375. return s
  39376. }
  39377. // SetFpgaImageGlobalId sets the FpgaImageGlobalId field's value.
  39378. func (s *FpgaImage) SetFpgaImageGlobalId(v string) *FpgaImage {
  39379. s.FpgaImageGlobalId = &v
  39380. return s
  39381. }
  39382. // SetFpgaImageId sets the FpgaImageId field's value.
  39383. func (s *FpgaImage) SetFpgaImageId(v string) *FpgaImage {
  39384. s.FpgaImageId = &v
  39385. return s
  39386. }
  39387. // SetName sets the Name field's value.
  39388. func (s *FpgaImage) SetName(v string) *FpgaImage {
  39389. s.Name = &v
  39390. return s
  39391. }
  39392. // SetOwnerAlias sets the OwnerAlias field's value.
  39393. func (s *FpgaImage) SetOwnerAlias(v string) *FpgaImage {
  39394. s.OwnerAlias = &v
  39395. return s
  39396. }
  39397. // SetOwnerId sets the OwnerId field's value.
  39398. func (s *FpgaImage) SetOwnerId(v string) *FpgaImage {
  39399. s.OwnerId = &v
  39400. return s
  39401. }
  39402. // SetPciId sets the PciId field's value.
  39403. func (s *FpgaImage) SetPciId(v *PciId) *FpgaImage {
  39404. s.PciId = v
  39405. return s
  39406. }
  39407. // SetProductCodes sets the ProductCodes field's value.
  39408. func (s *FpgaImage) SetProductCodes(v []*ProductCode) *FpgaImage {
  39409. s.ProductCodes = v
  39410. return s
  39411. }
  39412. // SetPublic sets the Public field's value.
  39413. func (s *FpgaImage) SetPublic(v bool) *FpgaImage {
  39414. s.Public = &v
  39415. return s
  39416. }
  39417. // SetShellVersion sets the ShellVersion field's value.
  39418. func (s *FpgaImage) SetShellVersion(v string) *FpgaImage {
  39419. s.ShellVersion = &v
  39420. return s
  39421. }
  39422. // SetState sets the State field's value.
  39423. func (s *FpgaImage) SetState(v *FpgaImageState) *FpgaImage {
  39424. s.State = v
  39425. return s
  39426. }
  39427. // SetTags sets the Tags field's value.
  39428. func (s *FpgaImage) SetTags(v []*Tag) *FpgaImage {
  39429. s.Tags = v
  39430. return s
  39431. }
  39432. // SetUpdateTime sets the UpdateTime field's value.
  39433. func (s *FpgaImage) SetUpdateTime(v time.Time) *FpgaImage {
  39434. s.UpdateTime = &v
  39435. return s
  39436. }
  39437. // Describes an Amazon FPGA image (AFI) attribute.
  39438. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/FpgaImageAttribute
  39439. type FpgaImageAttribute struct {
  39440. _ struct{} `type:"structure"`
  39441. // The description of the AFI.
  39442. Description *string `locationName:"description" type:"string"`
  39443. // The ID of the AFI.
  39444. FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
  39445. // One or more load permissions.
  39446. LoadPermissions []*LoadPermission `locationName:"loadPermissions" locationNameList:"item" type:"list"`
  39447. // The name of the AFI.
  39448. Name *string `locationName:"name" type:"string"`
  39449. // One or more product codes.
  39450. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  39451. }
  39452. // String returns the string representation
  39453. func (s FpgaImageAttribute) String() string {
  39454. return awsutil.Prettify(s)
  39455. }
  39456. // GoString returns the string representation
  39457. func (s FpgaImageAttribute) GoString() string {
  39458. return s.String()
  39459. }
  39460. // SetDescription sets the Description field's value.
  39461. func (s *FpgaImageAttribute) SetDescription(v string) *FpgaImageAttribute {
  39462. s.Description = &v
  39463. return s
  39464. }
  39465. // SetFpgaImageId sets the FpgaImageId field's value.
  39466. func (s *FpgaImageAttribute) SetFpgaImageId(v string) *FpgaImageAttribute {
  39467. s.FpgaImageId = &v
  39468. return s
  39469. }
  39470. // SetLoadPermissions sets the LoadPermissions field's value.
  39471. func (s *FpgaImageAttribute) SetLoadPermissions(v []*LoadPermission) *FpgaImageAttribute {
  39472. s.LoadPermissions = v
  39473. return s
  39474. }
  39475. // SetName sets the Name field's value.
  39476. func (s *FpgaImageAttribute) SetName(v string) *FpgaImageAttribute {
  39477. s.Name = &v
  39478. return s
  39479. }
  39480. // SetProductCodes sets the ProductCodes field's value.
  39481. func (s *FpgaImageAttribute) SetProductCodes(v []*ProductCode) *FpgaImageAttribute {
  39482. s.ProductCodes = v
  39483. return s
  39484. }
  39485. // Describes the state of the bitstream generation process for an Amazon FPGA
  39486. // image (AFI).
  39487. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/FpgaImageState
  39488. type FpgaImageState struct {
  39489. _ struct{} `type:"structure"`
  39490. // The state. The following are the possible values:
  39491. //
  39492. // * pending - AFI bitstream generation is in progress.
  39493. //
  39494. // * available - The AFI is available for use.
  39495. //
  39496. // * failed - AFI bitstream generation failed.
  39497. //
  39498. // * unavailable - The AFI is no longer available for use.
  39499. Code *string `locationName:"code" type:"string" enum:"FpgaImageStateCode"`
  39500. // If the state is failed, this is the error message.
  39501. Message *string `locationName:"message" type:"string"`
  39502. }
  39503. // String returns the string representation
  39504. func (s FpgaImageState) String() string {
  39505. return awsutil.Prettify(s)
  39506. }
  39507. // GoString returns the string representation
  39508. func (s FpgaImageState) GoString() string {
  39509. return s.String()
  39510. }
  39511. // SetCode sets the Code field's value.
  39512. func (s *FpgaImageState) SetCode(v string) *FpgaImageState {
  39513. s.Code = &v
  39514. return s
  39515. }
  39516. // SetMessage sets the Message field's value.
  39517. func (s *FpgaImageState) SetMessage(v string) *FpgaImageState {
  39518. s.Message = &v
  39519. return s
  39520. }
  39521. // Contains the parameters for GetConsoleOutput.
  39522. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleOutputRequest
  39523. type GetConsoleOutputInput struct {
  39524. _ struct{} `type:"structure"`
  39525. // Checks whether you have the required permissions for the action, without
  39526. // actually making the request, and provides an error response. If you have
  39527. // the required permissions, the error response is DryRunOperation. Otherwise,
  39528. // it is UnauthorizedOperation.
  39529. DryRun *bool `locationName:"dryRun" type:"boolean"`
  39530. // The ID of the instance.
  39531. //
  39532. // InstanceId is a required field
  39533. InstanceId *string `type:"string" required:"true"`
  39534. }
  39535. // String returns the string representation
  39536. func (s GetConsoleOutputInput) String() string {
  39537. return awsutil.Prettify(s)
  39538. }
  39539. // GoString returns the string representation
  39540. func (s GetConsoleOutputInput) GoString() string {
  39541. return s.String()
  39542. }
  39543. // Validate inspects the fields of the type to determine if they are valid.
  39544. func (s *GetConsoleOutputInput) Validate() error {
  39545. invalidParams := request.ErrInvalidParams{Context: "GetConsoleOutputInput"}
  39546. if s.InstanceId == nil {
  39547. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  39548. }
  39549. if invalidParams.Len() > 0 {
  39550. return invalidParams
  39551. }
  39552. return nil
  39553. }
  39554. // SetDryRun sets the DryRun field's value.
  39555. func (s *GetConsoleOutputInput) SetDryRun(v bool) *GetConsoleOutputInput {
  39556. s.DryRun = &v
  39557. return s
  39558. }
  39559. // SetInstanceId sets the InstanceId field's value.
  39560. func (s *GetConsoleOutputInput) SetInstanceId(v string) *GetConsoleOutputInput {
  39561. s.InstanceId = &v
  39562. return s
  39563. }
  39564. // Contains the output of GetConsoleOutput.
  39565. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleOutputResult
  39566. type GetConsoleOutputOutput struct {
  39567. _ struct{} `type:"structure"`
  39568. // The ID of the instance.
  39569. InstanceId *string `locationName:"instanceId" type:"string"`
  39570. // The console output, Base64-encoded. If using a command line tool, the tool
  39571. // decodes the output for you.
  39572. Output *string `locationName:"output" type:"string"`
  39573. // The time the output was last updated.
  39574. Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601"`
  39575. }
  39576. // String returns the string representation
  39577. func (s GetConsoleOutputOutput) String() string {
  39578. return awsutil.Prettify(s)
  39579. }
  39580. // GoString returns the string representation
  39581. func (s GetConsoleOutputOutput) GoString() string {
  39582. return s.String()
  39583. }
  39584. // SetInstanceId sets the InstanceId field's value.
  39585. func (s *GetConsoleOutputOutput) SetInstanceId(v string) *GetConsoleOutputOutput {
  39586. s.InstanceId = &v
  39587. return s
  39588. }
  39589. // SetOutput sets the Output field's value.
  39590. func (s *GetConsoleOutputOutput) SetOutput(v string) *GetConsoleOutputOutput {
  39591. s.Output = &v
  39592. return s
  39593. }
  39594. // SetTimestamp sets the Timestamp field's value.
  39595. func (s *GetConsoleOutputOutput) SetTimestamp(v time.Time) *GetConsoleOutputOutput {
  39596. s.Timestamp = &v
  39597. return s
  39598. }
  39599. // Contains the parameters for the request.
  39600. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleScreenshotRequest
  39601. type GetConsoleScreenshotInput struct {
  39602. _ struct{} `type:"structure"`
  39603. // Checks whether you have the required permissions for the action, without
  39604. // actually making the request, and provides an error response. If you have
  39605. // the required permissions, the error response is DryRunOperation. Otherwise,
  39606. // it is UnauthorizedOperation.
  39607. DryRun *bool `type:"boolean"`
  39608. // The ID of the instance.
  39609. //
  39610. // InstanceId is a required field
  39611. InstanceId *string `type:"string" required:"true"`
  39612. // When set to true, acts as keystroke input and wakes up an instance that's
  39613. // in standby or "sleep" mode.
  39614. WakeUp *bool `type:"boolean"`
  39615. }
  39616. // String returns the string representation
  39617. func (s GetConsoleScreenshotInput) String() string {
  39618. return awsutil.Prettify(s)
  39619. }
  39620. // GoString returns the string representation
  39621. func (s GetConsoleScreenshotInput) GoString() string {
  39622. return s.String()
  39623. }
  39624. // Validate inspects the fields of the type to determine if they are valid.
  39625. func (s *GetConsoleScreenshotInput) Validate() error {
  39626. invalidParams := request.ErrInvalidParams{Context: "GetConsoleScreenshotInput"}
  39627. if s.InstanceId == nil {
  39628. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  39629. }
  39630. if invalidParams.Len() > 0 {
  39631. return invalidParams
  39632. }
  39633. return nil
  39634. }
  39635. // SetDryRun sets the DryRun field's value.
  39636. func (s *GetConsoleScreenshotInput) SetDryRun(v bool) *GetConsoleScreenshotInput {
  39637. s.DryRun = &v
  39638. return s
  39639. }
  39640. // SetInstanceId sets the InstanceId field's value.
  39641. func (s *GetConsoleScreenshotInput) SetInstanceId(v string) *GetConsoleScreenshotInput {
  39642. s.InstanceId = &v
  39643. return s
  39644. }
  39645. // SetWakeUp sets the WakeUp field's value.
  39646. func (s *GetConsoleScreenshotInput) SetWakeUp(v bool) *GetConsoleScreenshotInput {
  39647. s.WakeUp = &v
  39648. return s
  39649. }
  39650. // Contains the output of the request.
  39651. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleScreenshotResult
  39652. type GetConsoleScreenshotOutput struct {
  39653. _ struct{} `type:"structure"`
  39654. // The data that comprises the image.
  39655. ImageData *string `locationName:"imageData" type:"string"`
  39656. // The ID of the instance.
  39657. InstanceId *string `locationName:"instanceId" type:"string"`
  39658. }
  39659. // String returns the string representation
  39660. func (s GetConsoleScreenshotOutput) String() string {
  39661. return awsutil.Prettify(s)
  39662. }
  39663. // GoString returns the string representation
  39664. func (s GetConsoleScreenshotOutput) GoString() string {
  39665. return s.String()
  39666. }
  39667. // SetImageData sets the ImageData field's value.
  39668. func (s *GetConsoleScreenshotOutput) SetImageData(v string) *GetConsoleScreenshotOutput {
  39669. s.ImageData = &v
  39670. return s
  39671. }
  39672. // SetInstanceId sets the InstanceId field's value.
  39673. func (s *GetConsoleScreenshotOutput) SetInstanceId(v string) *GetConsoleScreenshotOutput {
  39674. s.InstanceId = &v
  39675. return s
  39676. }
  39677. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetHostReservationPurchasePreviewRequest
  39678. type GetHostReservationPurchasePreviewInput struct {
  39679. _ struct{} `type:"structure"`
  39680. // The ID/s of the Dedicated Host/s that the reservation will be associated
  39681. // with.
  39682. //
  39683. // HostIdSet is a required field
  39684. HostIdSet []*string `locationNameList:"item" type:"list" required:"true"`
  39685. // The offering ID of the reservation.
  39686. //
  39687. // OfferingId is a required field
  39688. OfferingId *string `type:"string" required:"true"`
  39689. }
  39690. // String returns the string representation
  39691. func (s GetHostReservationPurchasePreviewInput) String() string {
  39692. return awsutil.Prettify(s)
  39693. }
  39694. // GoString returns the string representation
  39695. func (s GetHostReservationPurchasePreviewInput) GoString() string {
  39696. return s.String()
  39697. }
  39698. // Validate inspects the fields of the type to determine if they are valid.
  39699. func (s *GetHostReservationPurchasePreviewInput) Validate() error {
  39700. invalidParams := request.ErrInvalidParams{Context: "GetHostReservationPurchasePreviewInput"}
  39701. if s.HostIdSet == nil {
  39702. invalidParams.Add(request.NewErrParamRequired("HostIdSet"))
  39703. }
  39704. if s.OfferingId == nil {
  39705. invalidParams.Add(request.NewErrParamRequired("OfferingId"))
  39706. }
  39707. if invalidParams.Len() > 0 {
  39708. return invalidParams
  39709. }
  39710. return nil
  39711. }
  39712. // SetHostIdSet sets the HostIdSet field's value.
  39713. func (s *GetHostReservationPurchasePreviewInput) SetHostIdSet(v []*string) *GetHostReservationPurchasePreviewInput {
  39714. s.HostIdSet = v
  39715. return s
  39716. }
  39717. // SetOfferingId sets the OfferingId field's value.
  39718. func (s *GetHostReservationPurchasePreviewInput) SetOfferingId(v string) *GetHostReservationPurchasePreviewInput {
  39719. s.OfferingId = &v
  39720. return s
  39721. }
  39722. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetHostReservationPurchasePreviewResult
  39723. type GetHostReservationPurchasePreviewOutput struct {
  39724. _ struct{} `type:"structure"`
  39725. // The currency in which the totalUpfrontPrice and totalHourlyPrice amounts
  39726. // are specified. At this time, the only supported currency is USD.
  39727. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  39728. // The purchase information of the Dedicated Host Reservation and the Dedicated
  39729. // Hosts associated with it.
  39730. Purchase []*Purchase `locationName:"purchase" locationNameList:"item" type:"list"`
  39731. // The potential total hourly price of the reservation per hour.
  39732. TotalHourlyPrice *string `locationName:"totalHourlyPrice" type:"string"`
  39733. // The potential total upfront price. This is billed immediately.
  39734. TotalUpfrontPrice *string `locationName:"totalUpfrontPrice" type:"string"`
  39735. }
  39736. // String returns the string representation
  39737. func (s GetHostReservationPurchasePreviewOutput) String() string {
  39738. return awsutil.Prettify(s)
  39739. }
  39740. // GoString returns the string representation
  39741. func (s GetHostReservationPurchasePreviewOutput) GoString() string {
  39742. return s.String()
  39743. }
  39744. // SetCurrencyCode sets the CurrencyCode field's value.
  39745. func (s *GetHostReservationPurchasePreviewOutput) SetCurrencyCode(v string) *GetHostReservationPurchasePreviewOutput {
  39746. s.CurrencyCode = &v
  39747. return s
  39748. }
  39749. // SetPurchase sets the Purchase field's value.
  39750. func (s *GetHostReservationPurchasePreviewOutput) SetPurchase(v []*Purchase) *GetHostReservationPurchasePreviewOutput {
  39751. s.Purchase = v
  39752. return s
  39753. }
  39754. // SetTotalHourlyPrice sets the TotalHourlyPrice field's value.
  39755. func (s *GetHostReservationPurchasePreviewOutput) SetTotalHourlyPrice(v string) *GetHostReservationPurchasePreviewOutput {
  39756. s.TotalHourlyPrice = &v
  39757. return s
  39758. }
  39759. // SetTotalUpfrontPrice sets the TotalUpfrontPrice field's value.
  39760. func (s *GetHostReservationPurchasePreviewOutput) SetTotalUpfrontPrice(v string) *GetHostReservationPurchasePreviewOutput {
  39761. s.TotalUpfrontPrice = &v
  39762. return s
  39763. }
  39764. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetLaunchTemplateDataRequest
  39765. type GetLaunchTemplateDataInput struct {
  39766. _ struct{} `type:"structure"`
  39767. // Checks whether you have the required permissions for the action, without
  39768. // actually making the request, and provides an error response. If you have
  39769. // the required permissions, the error response is DryRunOperation. Otherwise,
  39770. // it is UnauthorizedOperation.
  39771. DryRun *bool `type:"boolean"`
  39772. // The ID of the instance.
  39773. //
  39774. // InstanceId is a required field
  39775. InstanceId *string `type:"string" required:"true"`
  39776. }
  39777. // String returns the string representation
  39778. func (s GetLaunchTemplateDataInput) String() string {
  39779. return awsutil.Prettify(s)
  39780. }
  39781. // GoString returns the string representation
  39782. func (s GetLaunchTemplateDataInput) GoString() string {
  39783. return s.String()
  39784. }
  39785. // Validate inspects the fields of the type to determine if they are valid.
  39786. func (s *GetLaunchTemplateDataInput) Validate() error {
  39787. invalidParams := request.ErrInvalidParams{Context: "GetLaunchTemplateDataInput"}
  39788. if s.InstanceId == nil {
  39789. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  39790. }
  39791. if invalidParams.Len() > 0 {
  39792. return invalidParams
  39793. }
  39794. return nil
  39795. }
  39796. // SetDryRun sets the DryRun field's value.
  39797. func (s *GetLaunchTemplateDataInput) SetDryRun(v bool) *GetLaunchTemplateDataInput {
  39798. s.DryRun = &v
  39799. return s
  39800. }
  39801. // SetInstanceId sets the InstanceId field's value.
  39802. func (s *GetLaunchTemplateDataInput) SetInstanceId(v string) *GetLaunchTemplateDataInput {
  39803. s.InstanceId = &v
  39804. return s
  39805. }
  39806. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetLaunchTemplateDataResult
  39807. type GetLaunchTemplateDataOutput struct {
  39808. _ struct{} `type:"structure"`
  39809. // The instance data.
  39810. LaunchTemplateData *ResponseLaunchTemplateData `locationName:"launchTemplateData" type:"structure"`
  39811. }
  39812. // String returns the string representation
  39813. func (s GetLaunchTemplateDataOutput) String() string {
  39814. return awsutil.Prettify(s)
  39815. }
  39816. // GoString returns the string representation
  39817. func (s GetLaunchTemplateDataOutput) GoString() string {
  39818. return s.String()
  39819. }
  39820. // SetLaunchTemplateData sets the LaunchTemplateData field's value.
  39821. func (s *GetLaunchTemplateDataOutput) SetLaunchTemplateData(v *ResponseLaunchTemplateData) *GetLaunchTemplateDataOutput {
  39822. s.LaunchTemplateData = v
  39823. return s
  39824. }
  39825. // Contains the parameters for GetPasswordData.
  39826. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetPasswordDataRequest
  39827. type GetPasswordDataInput struct {
  39828. _ struct{} `type:"structure"`
  39829. // Checks whether you have the required permissions for the action, without
  39830. // actually making the request, and provides an error response. If you have
  39831. // the required permissions, the error response is DryRunOperation. Otherwise,
  39832. // it is UnauthorizedOperation.
  39833. DryRun *bool `locationName:"dryRun" type:"boolean"`
  39834. // The ID of the Windows instance.
  39835. //
  39836. // InstanceId is a required field
  39837. InstanceId *string `type:"string" required:"true"`
  39838. }
  39839. // String returns the string representation
  39840. func (s GetPasswordDataInput) String() string {
  39841. return awsutil.Prettify(s)
  39842. }
  39843. // GoString returns the string representation
  39844. func (s GetPasswordDataInput) GoString() string {
  39845. return s.String()
  39846. }
  39847. // Validate inspects the fields of the type to determine if they are valid.
  39848. func (s *GetPasswordDataInput) Validate() error {
  39849. invalidParams := request.ErrInvalidParams{Context: "GetPasswordDataInput"}
  39850. if s.InstanceId == nil {
  39851. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  39852. }
  39853. if invalidParams.Len() > 0 {
  39854. return invalidParams
  39855. }
  39856. return nil
  39857. }
  39858. // SetDryRun sets the DryRun field's value.
  39859. func (s *GetPasswordDataInput) SetDryRun(v bool) *GetPasswordDataInput {
  39860. s.DryRun = &v
  39861. return s
  39862. }
  39863. // SetInstanceId sets the InstanceId field's value.
  39864. func (s *GetPasswordDataInput) SetInstanceId(v string) *GetPasswordDataInput {
  39865. s.InstanceId = &v
  39866. return s
  39867. }
  39868. // Contains the output of GetPasswordData.
  39869. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetPasswordDataResult
  39870. type GetPasswordDataOutput struct {
  39871. _ struct{} `type:"structure"`
  39872. // The ID of the Windows instance.
  39873. InstanceId *string `locationName:"instanceId" type:"string"`
  39874. // The password of the instance. Returns an empty string if the password is
  39875. // not available.
  39876. PasswordData *string `locationName:"passwordData" type:"string"`
  39877. // The time the data was last updated.
  39878. Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601"`
  39879. }
  39880. // String returns the string representation
  39881. func (s GetPasswordDataOutput) String() string {
  39882. return awsutil.Prettify(s)
  39883. }
  39884. // GoString returns the string representation
  39885. func (s GetPasswordDataOutput) GoString() string {
  39886. return s.String()
  39887. }
  39888. // SetInstanceId sets the InstanceId field's value.
  39889. func (s *GetPasswordDataOutput) SetInstanceId(v string) *GetPasswordDataOutput {
  39890. s.InstanceId = &v
  39891. return s
  39892. }
  39893. // SetPasswordData sets the PasswordData field's value.
  39894. func (s *GetPasswordDataOutput) SetPasswordData(v string) *GetPasswordDataOutput {
  39895. s.PasswordData = &v
  39896. return s
  39897. }
  39898. // SetTimestamp sets the Timestamp field's value.
  39899. func (s *GetPasswordDataOutput) SetTimestamp(v time.Time) *GetPasswordDataOutput {
  39900. s.Timestamp = &v
  39901. return s
  39902. }
  39903. // Contains the parameters for GetReservedInstanceExchangeQuote.
  39904. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetReservedInstancesExchangeQuoteRequest
  39905. type GetReservedInstancesExchangeQuoteInput struct {
  39906. _ struct{} `type:"structure"`
  39907. // Checks whether you have the required permissions for the action, without
  39908. // actually making the request, and provides an error response. If you have
  39909. // the required permissions, the error response is DryRunOperation. Otherwise,
  39910. // it is UnauthorizedOperation.
  39911. DryRun *bool `type:"boolean"`
  39912. // The IDs of the Convertible Reserved Instances to exchange.
  39913. //
  39914. // ReservedInstanceIds is a required field
  39915. ReservedInstanceIds []*string `locationName:"ReservedInstanceId" locationNameList:"ReservedInstanceId" type:"list" required:"true"`
  39916. // The configuration of the target Convertible Reserved Instance to exchange
  39917. // for your current Convertible Reserved Instances.
  39918. TargetConfigurations []*TargetConfigurationRequest `locationName:"TargetConfiguration" locationNameList:"TargetConfigurationRequest" type:"list"`
  39919. }
  39920. // String returns the string representation
  39921. func (s GetReservedInstancesExchangeQuoteInput) String() string {
  39922. return awsutil.Prettify(s)
  39923. }
  39924. // GoString returns the string representation
  39925. func (s GetReservedInstancesExchangeQuoteInput) GoString() string {
  39926. return s.String()
  39927. }
  39928. // Validate inspects the fields of the type to determine if they are valid.
  39929. func (s *GetReservedInstancesExchangeQuoteInput) Validate() error {
  39930. invalidParams := request.ErrInvalidParams{Context: "GetReservedInstancesExchangeQuoteInput"}
  39931. if s.ReservedInstanceIds == nil {
  39932. invalidParams.Add(request.NewErrParamRequired("ReservedInstanceIds"))
  39933. }
  39934. if s.TargetConfigurations != nil {
  39935. for i, v := range s.TargetConfigurations {
  39936. if v == nil {
  39937. continue
  39938. }
  39939. if err := v.Validate(); err != nil {
  39940. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetConfigurations", i), err.(request.ErrInvalidParams))
  39941. }
  39942. }
  39943. }
  39944. if invalidParams.Len() > 0 {
  39945. return invalidParams
  39946. }
  39947. return nil
  39948. }
  39949. // SetDryRun sets the DryRun field's value.
  39950. func (s *GetReservedInstancesExchangeQuoteInput) SetDryRun(v bool) *GetReservedInstancesExchangeQuoteInput {
  39951. s.DryRun = &v
  39952. return s
  39953. }
  39954. // SetReservedInstanceIds sets the ReservedInstanceIds field's value.
  39955. func (s *GetReservedInstancesExchangeQuoteInput) SetReservedInstanceIds(v []*string) *GetReservedInstancesExchangeQuoteInput {
  39956. s.ReservedInstanceIds = v
  39957. return s
  39958. }
  39959. // SetTargetConfigurations sets the TargetConfigurations field's value.
  39960. func (s *GetReservedInstancesExchangeQuoteInput) SetTargetConfigurations(v []*TargetConfigurationRequest) *GetReservedInstancesExchangeQuoteInput {
  39961. s.TargetConfigurations = v
  39962. return s
  39963. }
  39964. // Contains the output of GetReservedInstancesExchangeQuote.
  39965. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetReservedInstancesExchangeQuoteResult
  39966. type GetReservedInstancesExchangeQuoteOutput struct {
  39967. _ struct{} `type:"structure"`
  39968. // The currency of the transaction.
  39969. CurrencyCode *string `locationName:"currencyCode" type:"string"`
  39970. // If true, the exchange is valid. If false, the exchange cannot be completed.
  39971. IsValidExchange *bool `locationName:"isValidExchange" type:"boolean"`
  39972. // The new end date of the reservation term.
  39973. OutputReservedInstancesWillExpireAt *time.Time `locationName:"outputReservedInstancesWillExpireAt" type:"timestamp" timestampFormat:"iso8601"`
  39974. // The total true upfront charge for the exchange.
  39975. PaymentDue *string `locationName:"paymentDue" type:"string"`
  39976. // The cost associated with the Reserved Instance.
  39977. ReservedInstanceValueRollup *ReservationValue `locationName:"reservedInstanceValueRollup" type:"structure"`
  39978. // The configuration of your Convertible Reserved Instances.
  39979. ReservedInstanceValueSet []*ReservedInstanceReservationValue `locationName:"reservedInstanceValueSet" locationNameList:"item" type:"list"`
  39980. // The cost associated with the Reserved Instance.
  39981. TargetConfigurationValueRollup *ReservationValue `locationName:"targetConfigurationValueRollup" type:"structure"`
  39982. // The values of the target Convertible Reserved Instances.
  39983. TargetConfigurationValueSet []*TargetReservationValue `locationName:"targetConfigurationValueSet" locationNameList:"item" type:"list"`
  39984. // Describes the reason why the exchange cannot be completed.
  39985. ValidationFailureReason *string `locationName:"validationFailureReason" type:"string"`
  39986. }
  39987. // String returns the string representation
  39988. func (s GetReservedInstancesExchangeQuoteOutput) String() string {
  39989. return awsutil.Prettify(s)
  39990. }
  39991. // GoString returns the string representation
  39992. func (s GetReservedInstancesExchangeQuoteOutput) GoString() string {
  39993. return s.String()
  39994. }
  39995. // SetCurrencyCode sets the CurrencyCode field's value.
  39996. func (s *GetReservedInstancesExchangeQuoteOutput) SetCurrencyCode(v string) *GetReservedInstancesExchangeQuoteOutput {
  39997. s.CurrencyCode = &v
  39998. return s
  39999. }
  40000. // SetIsValidExchange sets the IsValidExchange field's value.
  40001. func (s *GetReservedInstancesExchangeQuoteOutput) SetIsValidExchange(v bool) *GetReservedInstancesExchangeQuoteOutput {
  40002. s.IsValidExchange = &v
  40003. return s
  40004. }
  40005. // SetOutputReservedInstancesWillExpireAt sets the OutputReservedInstancesWillExpireAt field's value.
  40006. func (s *GetReservedInstancesExchangeQuoteOutput) SetOutputReservedInstancesWillExpireAt(v time.Time) *GetReservedInstancesExchangeQuoteOutput {
  40007. s.OutputReservedInstancesWillExpireAt = &v
  40008. return s
  40009. }
  40010. // SetPaymentDue sets the PaymentDue field's value.
  40011. func (s *GetReservedInstancesExchangeQuoteOutput) SetPaymentDue(v string) *GetReservedInstancesExchangeQuoteOutput {
  40012. s.PaymentDue = &v
  40013. return s
  40014. }
  40015. // SetReservedInstanceValueRollup sets the ReservedInstanceValueRollup field's value.
  40016. func (s *GetReservedInstancesExchangeQuoteOutput) SetReservedInstanceValueRollup(v *ReservationValue) *GetReservedInstancesExchangeQuoteOutput {
  40017. s.ReservedInstanceValueRollup = v
  40018. return s
  40019. }
  40020. // SetReservedInstanceValueSet sets the ReservedInstanceValueSet field's value.
  40021. func (s *GetReservedInstancesExchangeQuoteOutput) SetReservedInstanceValueSet(v []*ReservedInstanceReservationValue) *GetReservedInstancesExchangeQuoteOutput {
  40022. s.ReservedInstanceValueSet = v
  40023. return s
  40024. }
  40025. // SetTargetConfigurationValueRollup sets the TargetConfigurationValueRollup field's value.
  40026. func (s *GetReservedInstancesExchangeQuoteOutput) SetTargetConfigurationValueRollup(v *ReservationValue) *GetReservedInstancesExchangeQuoteOutput {
  40027. s.TargetConfigurationValueRollup = v
  40028. return s
  40029. }
  40030. // SetTargetConfigurationValueSet sets the TargetConfigurationValueSet field's value.
  40031. func (s *GetReservedInstancesExchangeQuoteOutput) SetTargetConfigurationValueSet(v []*TargetReservationValue) *GetReservedInstancesExchangeQuoteOutput {
  40032. s.TargetConfigurationValueSet = v
  40033. return s
  40034. }
  40035. // SetValidationFailureReason sets the ValidationFailureReason field's value.
  40036. func (s *GetReservedInstancesExchangeQuoteOutput) SetValidationFailureReason(v string) *GetReservedInstancesExchangeQuoteOutput {
  40037. s.ValidationFailureReason = &v
  40038. return s
  40039. }
  40040. // Describes a security group.
  40041. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GroupIdentifier
  40042. type GroupIdentifier struct {
  40043. _ struct{} `type:"structure"`
  40044. // The ID of the security group.
  40045. GroupId *string `locationName:"groupId" type:"string"`
  40046. // The name of the security group.
  40047. GroupName *string `locationName:"groupName" type:"string"`
  40048. }
  40049. // String returns the string representation
  40050. func (s GroupIdentifier) String() string {
  40051. return awsutil.Prettify(s)
  40052. }
  40053. // GoString returns the string representation
  40054. func (s GroupIdentifier) GoString() string {
  40055. return s.String()
  40056. }
  40057. // SetGroupId sets the GroupId field's value.
  40058. func (s *GroupIdentifier) SetGroupId(v string) *GroupIdentifier {
  40059. s.GroupId = &v
  40060. return s
  40061. }
  40062. // SetGroupName sets the GroupName field's value.
  40063. func (s *GroupIdentifier) SetGroupName(v string) *GroupIdentifier {
  40064. s.GroupName = &v
  40065. return s
  40066. }
  40067. // Describes an event in the history of the Spot Fleet request.
  40068. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/HistoryRecord
  40069. type HistoryRecord struct {
  40070. _ struct{} `type:"structure"`
  40071. // Information about the event.
  40072. //
  40073. // EventInformation is a required field
  40074. EventInformation *EventInformation `locationName:"eventInformation" type:"structure" required:"true"`
  40075. // The event type.
  40076. //
  40077. // * error - An error with the Spot Fleet request.
  40078. //
  40079. // * fleetRequestChange - A change in the status or configuration of the
  40080. // Spot Fleet request.
  40081. //
  40082. // * instanceChange - An instance was launched or terminated.
  40083. //
  40084. // * Information - An informational event.
  40085. //
  40086. // EventType is a required field
  40087. EventType *string `locationName:"eventType" type:"string" required:"true" enum:"EventType"`
  40088. // The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  40089. //
  40090. // Timestamp is a required field
  40091. Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601" required:"true"`
  40092. }
  40093. // String returns the string representation
  40094. func (s HistoryRecord) String() string {
  40095. return awsutil.Prettify(s)
  40096. }
  40097. // GoString returns the string representation
  40098. func (s HistoryRecord) GoString() string {
  40099. return s.String()
  40100. }
  40101. // SetEventInformation sets the EventInformation field's value.
  40102. func (s *HistoryRecord) SetEventInformation(v *EventInformation) *HistoryRecord {
  40103. s.EventInformation = v
  40104. return s
  40105. }
  40106. // SetEventType sets the EventType field's value.
  40107. func (s *HistoryRecord) SetEventType(v string) *HistoryRecord {
  40108. s.EventType = &v
  40109. return s
  40110. }
  40111. // SetTimestamp sets the Timestamp field's value.
  40112. func (s *HistoryRecord) SetTimestamp(v time.Time) *HistoryRecord {
  40113. s.Timestamp = &v
  40114. return s
  40115. }
  40116. // Describes the properties of the Dedicated Host.
  40117. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Host
  40118. type Host struct {
  40119. _ struct{} `type:"structure"`
  40120. // Whether auto-placement is on or off.
  40121. AutoPlacement *string `locationName:"autoPlacement" type:"string" enum:"AutoPlacement"`
  40122. // The Availability Zone of the Dedicated Host.
  40123. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  40124. // The number of new instances that can be launched onto the Dedicated Host.
  40125. AvailableCapacity *AvailableCapacity `locationName:"availableCapacity" type:"structure"`
  40126. // Unique, case-sensitive identifier you provide to ensure idempotency of the
  40127. // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  40128. // in the Amazon Elastic Compute Cloud User Guide.
  40129. ClientToken *string `locationName:"clientToken" type:"string"`
  40130. // The ID of the Dedicated Host.
  40131. HostId *string `locationName:"hostId" type:"string"`
  40132. // The hardware specifications of the Dedicated Host.
  40133. HostProperties *HostProperties `locationName:"hostProperties" type:"structure"`
  40134. // The reservation ID of the Dedicated Host. This returns a null response if
  40135. // the Dedicated Host doesn't have an associated reservation.
  40136. HostReservationId *string `locationName:"hostReservationId" type:"string"`
  40137. // The IDs and instance type that are currently running on the Dedicated Host.
  40138. Instances []*HostInstance `locationName:"instances" locationNameList:"item" type:"list"`
  40139. // The Dedicated Host's state.
  40140. State *string `locationName:"state" type:"string" enum:"AllocationState"`
  40141. }
  40142. // String returns the string representation
  40143. func (s Host) String() string {
  40144. return awsutil.Prettify(s)
  40145. }
  40146. // GoString returns the string representation
  40147. func (s Host) GoString() string {
  40148. return s.String()
  40149. }
  40150. // SetAutoPlacement sets the AutoPlacement field's value.
  40151. func (s *Host) SetAutoPlacement(v string) *Host {
  40152. s.AutoPlacement = &v
  40153. return s
  40154. }
  40155. // SetAvailabilityZone sets the AvailabilityZone field's value.
  40156. func (s *Host) SetAvailabilityZone(v string) *Host {
  40157. s.AvailabilityZone = &v
  40158. return s
  40159. }
  40160. // SetAvailableCapacity sets the AvailableCapacity field's value.
  40161. func (s *Host) SetAvailableCapacity(v *AvailableCapacity) *Host {
  40162. s.AvailableCapacity = v
  40163. return s
  40164. }
  40165. // SetClientToken sets the ClientToken field's value.
  40166. func (s *Host) SetClientToken(v string) *Host {
  40167. s.ClientToken = &v
  40168. return s
  40169. }
  40170. // SetHostId sets the HostId field's value.
  40171. func (s *Host) SetHostId(v string) *Host {
  40172. s.HostId = &v
  40173. return s
  40174. }
  40175. // SetHostProperties sets the HostProperties field's value.
  40176. func (s *Host) SetHostProperties(v *HostProperties) *Host {
  40177. s.HostProperties = v
  40178. return s
  40179. }
  40180. // SetHostReservationId sets the HostReservationId field's value.
  40181. func (s *Host) SetHostReservationId(v string) *Host {
  40182. s.HostReservationId = &v
  40183. return s
  40184. }
  40185. // SetInstances sets the Instances field's value.
  40186. func (s *Host) SetInstances(v []*HostInstance) *Host {
  40187. s.Instances = v
  40188. return s
  40189. }
  40190. // SetState sets the State field's value.
  40191. func (s *Host) SetState(v string) *Host {
  40192. s.State = &v
  40193. return s
  40194. }
  40195. // Describes an instance running on a Dedicated Host.
  40196. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/HostInstance
  40197. type HostInstance struct {
  40198. _ struct{} `type:"structure"`
  40199. // the IDs of instances that are running on the Dedicated Host.
  40200. InstanceId *string `locationName:"instanceId" type:"string"`
  40201. // The instance type size (for example, m3.medium) of the running instance.
  40202. InstanceType *string `locationName:"instanceType" type:"string"`
  40203. }
  40204. // String returns the string representation
  40205. func (s HostInstance) String() string {
  40206. return awsutil.Prettify(s)
  40207. }
  40208. // GoString returns the string representation
  40209. func (s HostInstance) GoString() string {
  40210. return s.String()
  40211. }
  40212. // SetInstanceId sets the InstanceId field's value.
  40213. func (s *HostInstance) SetInstanceId(v string) *HostInstance {
  40214. s.InstanceId = &v
  40215. return s
  40216. }
  40217. // SetInstanceType sets the InstanceType field's value.
  40218. func (s *HostInstance) SetInstanceType(v string) *HostInstance {
  40219. s.InstanceType = &v
  40220. return s
  40221. }
  40222. // Details about the Dedicated Host Reservation offering.
  40223. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/HostOffering
  40224. type HostOffering struct {
  40225. _ struct{} `type:"structure"`
  40226. // The currency of the offering.
  40227. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  40228. // The duration of the offering (in seconds).
  40229. Duration *int64 `locationName:"duration" type:"integer"`
  40230. // The hourly price of the offering.
  40231. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  40232. // The instance family of the offering.
  40233. InstanceFamily *string `locationName:"instanceFamily" type:"string"`
  40234. // The ID of the offering.
  40235. OfferingId *string `locationName:"offeringId" type:"string"`
  40236. // The available payment option.
  40237. PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
  40238. // The upfront price of the offering. Does not apply to No Upfront offerings.
  40239. UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
  40240. }
  40241. // String returns the string representation
  40242. func (s HostOffering) String() string {
  40243. return awsutil.Prettify(s)
  40244. }
  40245. // GoString returns the string representation
  40246. func (s HostOffering) GoString() string {
  40247. return s.String()
  40248. }
  40249. // SetCurrencyCode sets the CurrencyCode field's value.
  40250. func (s *HostOffering) SetCurrencyCode(v string) *HostOffering {
  40251. s.CurrencyCode = &v
  40252. return s
  40253. }
  40254. // SetDuration sets the Duration field's value.
  40255. func (s *HostOffering) SetDuration(v int64) *HostOffering {
  40256. s.Duration = &v
  40257. return s
  40258. }
  40259. // SetHourlyPrice sets the HourlyPrice field's value.
  40260. func (s *HostOffering) SetHourlyPrice(v string) *HostOffering {
  40261. s.HourlyPrice = &v
  40262. return s
  40263. }
  40264. // SetInstanceFamily sets the InstanceFamily field's value.
  40265. func (s *HostOffering) SetInstanceFamily(v string) *HostOffering {
  40266. s.InstanceFamily = &v
  40267. return s
  40268. }
  40269. // SetOfferingId sets the OfferingId field's value.
  40270. func (s *HostOffering) SetOfferingId(v string) *HostOffering {
  40271. s.OfferingId = &v
  40272. return s
  40273. }
  40274. // SetPaymentOption sets the PaymentOption field's value.
  40275. func (s *HostOffering) SetPaymentOption(v string) *HostOffering {
  40276. s.PaymentOption = &v
  40277. return s
  40278. }
  40279. // SetUpfrontPrice sets the UpfrontPrice field's value.
  40280. func (s *HostOffering) SetUpfrontPrice(v string) *HostOffering {
  40281. s.UpfrontPrice = &v
  40282. return s
  40283. }
  40284. // Describes properties of a Dedicated Host.
  40285. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/HostProperties
  40286. type HostProperties struct {
  40287. _ struct{} `type:"structure"`
  40288. // The number of cores on the Dedicated Host.
  40289. Cores *int64 `locationName:"cores" type:"integer"`
  40290. // The instance type size that the Dedicated Host supports (for example, m3.medium).
  40291. InstanceType *string `locationName:"instanceType" type:"string"`
  40292. // The number of sockets on the Dedicated Host.
  40293. Sockets *int64 `locationName:"sockets" type:"integer"`
  40294. // The number of vCPUs on the Dedicated Host.
  40295. TotalVCpus *int64 `locationName:"totalVCpus" type:"integer"`
  40296. }
  40297. // String returns the string representation
  40298. func (s HostProperties) String() string {
  40299. return awsutil.Prettify(s)
  40300. }
  40301. // GoString returns the string representation
  40302. func (s HostProperties) GoString() string {
  40303. return s.String()
  40304. }
  40305. // SetCores sets the Cores field's value.
  40306. func (s *HostProperties) SetCores(v int64) *HostProperties {
  40307. s.Cores = &v
  40308. return s
  40309. }
  40310. // SetInstanceType sets the InstanceType field's value.
  40311. func (s *HostProperties) SetInstanceType(v string) *HostProperties {
  40312. s.InstanceType = &v
  40313. return s
  40314. }
  40315. // SetSockets sets the Sockets field's value.
  40316. func (s *HostProperties) SetSockets(v int64) *HostProperties {
  40317. s.Sockets = &v
  40318. return s
  40319. }
  40320. // SetTotalVCpus sets the TotalVCpus field's value.
  40321. func (s *HostProperties) SetTotalVCpus(v int64) *HostProperties {
  40322. s.TotalVCpus = &v
  40323. return s
  40324. }
  40325. // Details about the Dedicated Host Reservation and associated Dedicated Hosts.
  40326. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/HostReservation
  40327. type HostReservation struct {
  40328. _ struct{} `type:"structure"`
  40329. // The number of Dedicated Hosts the reservation is associated with.
  40330. Count *int64 `locationName:"count" type:"integer"`
  40331. // The currency in which the upfrontPrice and hourlyPrice amounts are specified.
  40332. // At this time, the only supported currency is USD.
  40333. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  40334. // The length of the reservation's term, specified in seconds. Can be 31536000
  40335. // (1 year) | 94608000 (3 years).
  40336. Duration *int64 `locationName:"duration" type:"integer"`
  40337. // The date and time that the reservation ends.
  40338. End *time.Time `locationName:"end" type:"timestamp" timestampFormat:"iso8601"`
  40339. // The IDs of the Dedicated Hosts associated with the reservation.
  40340. HostIdSet []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
  40341. // The ID of the reservation that specifies the associated Dedicated Hosts.
  40342. HostReservationId *string `locationName:"hostReservationId" type:"string"`
  40343. // The hourly price of the reservation.
  40344. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  40345. // The instance family of the Dedicated Host Reservation. The instance family
  40346. // on the Dedicated Host must be the same in order for it to benefit from the
  40347. // reservation.
  40348. InstanceFamily *string `locationName:"instanceFamily" type:"string"`
  40349. // The ID of the reservation. This remains the same regardless of which Dedicated
  40350. // Hosts are associated with it.
  40351. OfferingId *string `locationName:"offeringId" type:"string"`
  40352. // The payment option selected for this reservation.
  40353. PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
  40354. // The date and time that the reservation started.
  40355. Start *time.Time `locationName:"start" type:"timestamp" timestampFormat:"iso8601"`
  40356. // The state of the reservation.
  40357. State *string `locationName:"state" type:"string" enum:"ReservationState"`
  40358. // The upfront price of the reservation.
  40359. UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
  40360. }
  40361. // String returns the string representation
  40362. func (s HostReservation) String() string {
  40363. return awsutil.Prettify(s)
  40364. }
  40365. // GoString returns the string representation
  40366. func (s HostReservation) GoString() string {
  40367. return s.String()
  40368. }
  40369. // SetCount sets the Count field's value.
  40370. func (s *HostReservation) SetCount(v int64) *HostReservation {
  40371. s.Count = &v
  40372. return s
  40373. }
  40374. // SetCurrencyCode sets the CurrencyCode field's value.
  40375. func (s *HostReservation) SetCurrencyCode(v string) *HostReservation {
  40376. s.CurrencyCode = &v
  40377. return s
  40378. }
  40379. // SetDuration sets the Duration field's value.
  40380. func (s *HostReservation) SetDuration(v int64) *HostReservation {
  40381. s.Duration = &v
  40382. return s
  40383. }
  40384. // SetEnd sets the End field's value.
  40385. func (s *HostReservation) SetEnd(v time.Time) *HostReservation {
  40386. s.End = &v
  40387. return s
  40388. }
  40389. // SetHostIdSet sets the HostIdSet field's value.
  40390. func (s *HostReservation) SetHostIdSet(v []*string) *HostReservation {
  40391. s.HostIdSet = v
  40392. return s
  40393. }
  40394. // SetHostReservationId sets the HostReservationId field's value.
  40395. func (s *HostReservation) SetHostReservationId(v string) *HostReservation {
  40396. s.HostReservationId = &v
  40397. return s
  40398. }
  40399. // SetHourlyPrice sets the HourlyPrice field's value.
  40400. func (s *HostReservation) SetHourlyPrice(v string) *HostReservation {
  40401. s.HourlyPrice = &v
  40402. return s
  40403. }
  40404. // SetInstanceFamily sets the InstanceFamily field's value.
  40405. func (s *HostReservation) SetInstanceFamily(v string) *HostReservation {
  40406. s.InstanceFamily = &v
  40407. return s
  40408. }
  40409. // SetOfferingId sets the OfferingId field's value.
  40410. func (s *HostReservation) SetOfferingId(v string) *HostReservation {
  40411. s.OfferingId = &v
  40412. return s
  40413. }
  40414. // SetPaymentOption sets the PaymentOption field's value.
  40415. func (s *HostReservation) SetPaymentOption(v string) *HostReservation {
  40416. s.PaymentOption = &v
  40417. return s
  40418. }
  40419. // SetStart sets the Start field's value.
  40420. func (s *HostReservation) SetStart(v time.Time) *HostReservation {
  40421. s.Start = &v
  40422. return s
  40423. }
  40424. // SetState sets the State field's value.
  40425. func (s *HostReservation) SetState(v string) *HostReservation {
  40426. s.State = &v
  40427. return s
  40428. }
  40429. // SetUpfrontPrice sets the UpfrontPrice field's value.
  40430. func (s *HostReservation) SetUpfrontPrice(v string) *HostReservation {
  40431. s.UpfrontPrice = &v
  40432. return s
  40433. }
  40434. // Describes an IAM instance profile.
  40435. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/IamInstanceProfile
  40436. type IamInstanceProfile struct {
  40437. _ struct{} `type:"structure"`
  40438. // The Amazon Resource Name (ARN) of the instance profile.
  40439. Arn *string `locationName:"arn" type:"string"`
  40440. // The ID of the instance profile.
  40441. Id *string `locationName:"id" type:"string"`
  40442. }
  40443. // String returns the string representation
  40444. func (s IamInstanceProfile) String() string {
  40445. return awsutil.Prettify(s)
  40446. }
  40447. // GoString returns the string representation
  40448. func (s IamInstanceProfile) GoString() string {
  40449. return s.String()
  40450. }
  40451. // SetArn sets the Arn field's value.
  40452. func (s *IamInstanceProfile) SetArn(v string) *IamInstanceProfile {
  40453. s.Arn = &v
  40454. return s
  40455. }
  40456. // SetId sets the Id field's value.
  40457. func (s *IamInstanceProfile) SetId(v string) *IamInstanceProfile {
  40458. s.Id = &v
  40459. return s
  40460. }
  40461. // Describes an association between an IAM instance profile and an instance.
  40462. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/IamInstanceProfileAssociation
  40463. type IamInstanceProfileAssociation struct {
  40464. _ struct{} `type:"structure"`
  40465. // The ID of the association.
  40466. AssociationId *string `locationName:"associationId" type:"string"`
  40467. // The IAM instance profile.
  40468. IamInstanceProfile *IamInstanceProfile `locationName:"iamInstanceProfile" type:"structure"`
  40469. // The ID of the instance.
  40470. InstanceId *string `locationName:"instanceId" type:"string"`
  40471. // The state of the association.
  40472. State *string `locationName:"state" type:"string" enum:"IamInstanceProfileAssociationState"`
  40473. // The time the IAM instance profile was associated with the instance.
  40474. Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601"`
  40475. }
  40476. // String returns the string representation
  40477. func (s IamInstanceProfileAssociation) String() string {
  40478. return awsutil.Prettify(s)
  40479. }
  40480. // GoString returns the string representation
  40481. func (s IamInstanceProfileAssociation) GoString() string {
  40482. return s.String()
  40483. }
  40484. // SetAssociationId sets the AssociationId field's value.
  40485. func (s *IamInstanceProfileAssociation) SetAssociationId(v string) *IamInstanceProfileAssociation {
  40486. s.AssociationId = &v
  40487. return s
  40488. }
  40489. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  40490. func (s *IamInstanceProfileAssociation) SetIamInstanceProfile(v *IamInstanceProfile) *IamInstanceProfileAssociation {
  40491. s.IamInstanceProfile = v
  40492. return s
  40493. }
  40494. // SetInstanceId sets the InstanceId field's value.
  40495. func (s *IamInstanceProfileAssociation) SetInstanceId(v string) *IamInstanceProfileAssociation {
  40496. s.InstanceId = &v
  40497. return s
  40498. }
  40499. // SetState sets the State field's value.
  40500. func (s *IamInstanceProfileAssociation) SetState(v string) *IamInstanceProfileAssociation {
  40501. s.State = &v
  40502. return s
  40503. }
  40504. // SetTimestamp sets the Timestamp field's value.
  40505. func (s *IamInstanceProfileAssociation) SetTimestamp(v time.Time) *IamInstanceProfileAssociation {
  40506. s.Timestamp = &v
  40507. return s
  40508. }
  40509. // Describes an IAM instance profile.
  40510. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/IamInstanceProfileSpecification
  40511. type IamInstanceProfileSpecification struct {
  40512. _ struct{} `type:"structure"`
  40513. // The Amazon Resource Name (ARN) of the instance profile.
  40514. Arn *string `locationName:"arn" type:"string"`
  40515. // The name of the instance profile.
  40516. Name *string `locationName:"name" type:"string"`
  40517. }
  40518. // String returns the string representation
  40519. func (s IamInstanceProfileSpecification) String() string {
  40520. return awsutil.Prettify(s)
  40521. }
  40522. // GoString returns the string representation
  40523. func (s IamInstanceProfileSpecification) GoString() string {
  40524. return s.String()
  40525. }
  40526. // SetArn sets the Arn field's value.
  40527. func (s *IamInstanceProfileSpecification) SetArn(v string) *IamInstanceProfileSpecification {
  40528. s.Arn = &v
  40529. return s
  40530. }
  40531. // SetName sets the Name field's value.
  40532. func (s *IamInstanceProfileSpecification) SetName(v string) *IamInstanceProfileSpecification {
  40533. s.Name = &v
  40534. return s
  40535. }
  40536. // Describes the ICMP type and code.
  40537. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/IcmpTypeCode
  40538. type IcmpTypeCode struct {
  40539. _ struct{} `type:"structure"`
  40540. // The ICMP code. A value of -1 means all codes for the specified ICMP type.
  40541. Code *int64 `locationName:"code" type:"integer"`
  40542. // The ICMP type. A value of -1 means all types.
  40543. Type *int64 `locationName:"type" type:"integer"`
  40544. }
  40545. // String returns the string representation
  40546. func (s IcmpTypeCode) String() string {
  40547. return awsutil.Prettify(s)
  40548. }
  40549. // GoString returns the string representation
  40550. func (s IcmpTypeCode) GoString() string {
  40551. return s.String()
  40552. }
  40553. // SetCode sets the Code field's value.
  40554. func (s *IcmpTypeCode) SetCode(v int64) *IcmpTypeCode {
  40555. s.Code = &v
  40556. return s
  40557. }
  40558. // SetType sets the Type field's value.
  40559. func (s *IcmpTypeCode) SetType(v int64) *IcmpTypeCode {
  40560. s.Type = &v
  40561. return s
  40562. }
  40563. // Describes the ID format for a resource.
  40564. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/IdFormat
  40565. type IdFormat struct {
  40566. _ struct{} `type:"structure"`
  40567. // The date in UTC at which you are permanently switched over to using longer
  40568. // IDs. If a deadline is not yet available for this resource type, this field
  40569. // is not returned.
  40570. Deadline *time.Time `locationName:"deadline" type:"timestamp" timestampFormat:"iso8601"`
  40571. // The type of resource.
  40572. Resource *string `locationName:"resource" type:"string"`
  40573. // Indicates whether longer IDs (17-character IDs) are enabled for the resource.
  40574. UseLongIds *bool `locationName:"useLongIds" type:"boolean"`
  40575. }
  40576. // String returns the string representation
  40577. func (s IdFormat) String() string {
  40578. return awsutil.Prettify(s)
  40579. }
  40580. // GoString returns the string representation
  40581. func (s IdFormat) GoString() string {
  40582. return s.String()
  40583. }
  40584. // SetDeadline sets the Deadline field's value.
  40585. func (s *IdFormat) SetDeadline(v time.Time) *IdFormat {
  40586. s.Deadline = &v
  40587. return s
  40588. }
  40589. // SetResource sets the Resource field's value.
  40590. func (s *IdFormat) SetResource(v string) *IdFormat {
  40591. s.Resource = &v
  40592. return s
  40593. }
  40594. // SetUseLongIds sets the UseLongIds field's value.
  40595. func (s *IdFormat) SetUseLongIds(v bool) *IdFormat {
  40596. s.UseLongIds = &v
  40597. return s
  40598. }
  40599. // Describes an image.
  40600. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Image
  40601. type Image struct {
  40602. _ struct{} `type:"structure"`
  40603. // The architecture of the image.
  40604. Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
  40605. // Any block device mapping entries.
  40606. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  40607. // The date and time the image was created.
  40608. CreationDate *string `locationName:"creationDate" type:"string"`
  40609. // The description of the AMI that was provided during image creation.
  40610. Description *string `locationName:"description" type:"string"`
  40611. // Specifies whether enhanced networking with ENA is enabled.
  40612. EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
  40613. // The hypervisor type of the image.
  40614. Hypervisor *string `locationName:"hypervisor" type:"string" enum:"HypervisorType"`
  40615. // The ID of the AMI.
  40616. ImageId *string `locationName:"imageId" type:"string"`
  40617. // The location of the AMI.
  40618. ImageLocation *string `locationName:"imageLocation" type:"string"`
  40619. // The AWS account alias (for example, amazon, self) or the AWS account ID of
  40620. // the AMI owner.
  40621. ImageOwnerAlias *string `locationName:"imageOwnerAlias" type:"string"`
  40622. // The type of image.
  40623. ImageType *string `locationName:"imageType" type:"string" enum:"ImageTypeValues"`
  40624. // The kernel associated with the image, if any. Only applicable for machine
  40625. // images.
  40626. KernelId *string `locationName:"kernelId" type:"string"`
  40627. // The name of the AMI that was provided during image creation.
  40628. Name *string `locationName:"name" type:"string"`
  40629. // The AWS account ID of the image owner.
  40630. OwnerId *string `locationName:"imageOwnerId" type:"string"`
  40631. // The value is Windows for Windows AMIs; otherwise blank.
  40632. Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
  40633. // Any product codes associated with the AMI.
  40634. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  40635. // Indicates whether the image has public launch permissions. The value is true
  40636. // if this image has public launch permissions or false if it has only implicit
  40637. // and explicit launch permissions.
  40638. Public *bool `locationName:"isPublic" type:"boolean"`
  40639. // The RAM disk associated with the image, if any. Only applicable for machine
  40640. // images.
  40641. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  40642. // The device name of the root device volume (for example, /dev/sda1).
  40643. RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
  40644. // The type of root device used by the AMI. The AMI can use an EBS volume or
  40645. // an instance store volume.
  40646. RootDeviceType *string `locationName:"rootDeviceType" type:"string" enum:"DeviceType"`
  40647. // Specifies whether enhanced networking with the Intel 82599 Virtual Function
  40648. // interface is enabled.
  40649. SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
  40650. // The current state of the AMI. If the state is available, the image is successfully
  40651. // registered and can be used to launch an instance.
  40652. State *string `locationName:"imageState" type:"string" enum:"ImageState"`
  40653. // The reason for the state change.
  40654. StateReason *StateReason `locationName:"stateReason" type:"structure"`
  40655. // Any tags assigned to the image.
  40656. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  40657. // The type of virtualization of the AMI.
  40658. VirtualizationType *string `locationName:"virtualizationType" type:"string" enum:"VirtualizationType"`
  40659. }
  40660. // String returns the string representation
  40661. func (s Image) String() string {
  40662. return awsutil.Prettify(s)
  40663. }
  40664. // GoString returns the string representation
  40665. func (s Image) GoString() string {
  40666. return s.String()
  40667. }
  40668. // SetArchitecture sets the Architecture field's value.
  40669. func (s *Image) SetArchitecture(v string) *Image {
  40670. s.Architecture = &v
  40671. return s
  40672. }
  40673. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  40674. func (s *Image) SetBlockDeviceMappings(v []*BlockDeviceMapping) *Image {
  40675. s.BlockDeviceMappings = v
  40676. return s
  40677. }
  40678. // SetCreationDate sets the CreationDate field's value.
  40679. func (s *Image) SetCreationDate(v string) *Image {
  40680. s.CreationDate = &v
  40681. return s
  40682. }
  40683. // SetDescription sets the Description field's value.
  40684. func (s *Image) SetDescription(v string) *Image {
  40685. s.Description = &v
  40686. return s
  40687. }
  40688. // SetEnaSupport sets the EnaSupport field's value.
  40689. func (s *Image) SetEnaSupport(v bool) *Image {
  40690. s.EnaSupport = &v
  40691. return s
  40692. }
  40693. // SetHypervisor sets the Hypervisor field's value.
  40694. func (s *Image) SetHypervisor(v string) *Image {
  40695. s.Hypervisor = &v
  40696. return s
  40697. }
  40698. // SetImageId sets the ImageId field's value.
  40699. func (s *Image) SetImageId(v string) *Image {
  40700. s.ImageId = &v
  40701. return s
  40702. }
  40703. // SetImageLocation sets the ImageLocation field's value.
  40704. func (s *Image) SetImageLocation(v string) *Image {
  40705. s.ImageLocation = &v
  40706. return s
  40707. }
  40708. // SetImageOwnerAlias sets the ImageOwnerAlias field's value.
  40709. func (s *Image) SetImageOwnerAlias(v string) *Image {
  40710. s.ImageOwnerAlias = &v
  40711. return s
  40712. }
  40713. // SetImageType sets the ImageType field's value.
  40714. func (s *Image) SetImageType(v string) *Image {
  40715. s.ImageType = &v
  40716. return s
  40717. }
  40718. // SetKernelId sets the KernelId field's value.
  40719. func (s *Image) SetKernelId(v string) *Image {
  40720. s.KernelId = &v
  40721. return s
  40722. }
  40723. // SetName sets the Name field's value.
  40724. func (s *Image) SetName(v string) *Image {
  40725. s.Name = &v
  40726. return s
  40727. }
  40728. // SetOwnerId sets the OwnerId field's value.
  40729. func (s *Image) SetOwnerId(v string) *Image {
  40730. s.OwnerId = &v
  40731. return s
  40732. }
  40733. // SetPlatform sets the Platform field's value.
  40734. func (s *Image) SetPlatform(v string) *Image {
  40735. s.Platform = &v
  40736. return s
  40737. }
  40738. // SetProductCodes sets the ProductCodes field's value.
  40739. func (s *Image) SetProductCodes(v []*ProductCode) *Image {
  40740. s.ProductCodes = v
  40741. return s
  40742. }
  40743. // SetPublic sets the Public field's value.
  40744. func (s *Image) SetPublic(v bool) *Image {
  40745. s.Public = &v
  40746. return s
  40747. }
  40748. // SetRamdiskId sets the RamdiskId field's value.
  40749. func (s *Image) SetRamdiskId(v string) *Image {
  40750. s.RamdiskId = &v
  40751. return s
  40752. }
  40753. // SetRootDeviceName sets the RootDeviceName field's value.
  40754. func (s *Image) SetRootDeviceName(v string) *Image {
  40755. s.RootDeviceName = &v
  40756. return s
  40757. }
  40758. // SetRootDeviceType sets the RootDeviceType field's value.
  40759. func (s *Image) SetRootDeviceType(v string) *Image {
  40760. s.RootDeviceType = &v
  40761. return s
  40762. }
  40763. // SetSriovNetSupport sets the SriovNetSupport field's value.
  40764. func (s *Image) SetSriovNetSupport(v string) *Image {
  40765. s.SriovNetSupport = &v
  40766. return s
  40767. }
  40768. // SetState sets the State field's value.
  40769. func (s *Image) SetState(v string) *Image {
  40770. s.State = &v
  40771. return s
  40772. }
  40773. // SetStateReason sets the StateReason field's value.
  40774. func (s *Image) SetStateReason(v *StateReason) *Image {
  40775. s.StateReason = v
  40776. return s
  40777. }
  40778. // SetTags sets the Tags field's value.
  40779. func (s *Image) SetTags(v []*Tag) *Image {
  40780. s.Tags = v
  40781. return s
  40782. }
  40783. // SetVirtualizationType sets the VirtualizationType field's value.
  40784. func (s *Image) SetVirtualizationType(v string) *Image {
  40785. s.VirtualizationType = &v
  40786. return s
  40787. }
  40788. // Describes the disk container object for an import image task.
  40789. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImageDiskContainer
  40790. type ImageDiskContainer struct {
  40791. _ struct{} `type:"structure"`
  40792. // The description of the disk image.
  40793. Description *string `type:"string"`
  40794. // The block device mapping for the disk.
  40795. DeviceName *string `type:"string"`
  40796. // The format of the disk image being imported.
  40797. //
  40798. // Valid values: RAW | VHD | VMDK | OVA
  40799. Format *string `type:"string"`
  40800. // The ID of the EBS snapshot to be used for importing the snapshot.
  40801. SnapshotId *string `type:"string"`
  40802. // The URL to the Amazon S3-based disk image being imported. The URL can either
  40803. // be a https URL (https://..) or an Amazon S3 URL (s3://..)
  40804. Url *string `type:"string"`
  40805. // The S3 bucket for the disk image.
  40806. UserBucket *UserBucket `type:"structure"`
  40807. }
  40808. // String returns the string representation
  40809. func (s ImageDiskContainer) String() string {
  40810. return awsutil.Prettify(s)
  40811. }
  40812. // GoString returns the string representation
  40813. func (s ImageDiskContainer) GoString() string {
  40814. return s.String()
  40815. }
  40816. // SetDescription sets the Description field's value.
  40817. func (s *ImageDiskContainer) SetDescription(v string) *ImageDiskContainer {
  40818. s.Description = &v
  40819. return s
  40820. }
  40821. // SetDeviceName sets the DeviceName field's value.
  40822. func (s *ImageDiskContainer) SetDeviceName(v string) *ImageDiskContainer {
  40823. s.DeviceName = &v
  40824. return s
  40825. }
  40826. // SetFormat sets the Format field's value.
  40827. func (s *ImageDiskContainer) SetFormat(v string) *ImageDiskContainer {
  40828. s.Format = &v
  40829. return s
  40830. }
  40831. // SetSnapshotId sets the SnapshotId field's value.
  40832. func (s *ImageDiskContainer) SetSnapshotId(v string) *ImageDiskContainer {
  40833. s.SnapshotId = &v
  40834. return s
  40835. }
  40836. // SetUrl sets the Url field's value.
  40837. func (s *ImageDiskContainer) SetUrl(v string) *ImageDiskContainer {
  40838. s.Url = &v
  40839. return s
  40840. }
  40841. // SetUserBucket sets the UserBucket field's value.
  40842. func (s *ImageDiskContainer) SetUserBucket(v *UserBucket) *ImageDiskContainer {
  40843. s.UserBucket = v
  40844. return s
  40845. }
  40846. // Contains the parameters for ImportImage.
  40847. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportImageRequest
  40848. type ImportImageInput struct {
  40849. _ struct{} `type:"structure"`
  40850. // The architecture of the virtual machine.
  40851. //
  40852. // Valid values: i386 | x86_64
  40853. Architecture *string `type:"string"`
  40854. // The client-specific data.
  40855. ClientData *ClientData `type:"structure"`
  40856. // The token to enable idempotency for VM import requests.
  40857. ClientToken *string `type:"string"`
  40858. // A description string for the import image task.
  40859. Description *string `type:"string"`
  40860. // Information about the disk containers.
  40861. DiskContainers []*ImageDiskContainer `locationName:"DiskContainer" locationNameList:"item" type:"list"`
  40862. // Checks whether you have the required permissions for the action, without
  40863. // actually making the request, and provides an error response. If you have
  40864. // the required permissions, the error response is DryRunOperation. Otherwise,
  40865. // it is UnauthorizedOperation.
  40866. DryRun *bool `type:"boolean"`
  40867. // The target hypervisor platform.
  40868. //
  40869. // Valid values: xen
  40870. Hypervisor *string `type:"string"`
  40871. // The license type to be used for the Amazon Machine Image (AMI) after importing.
  40872. //
  40873. // Note: You may only use BYOL if you have existing licenses with rights to
  40874. // use these licenses in a third party cloud like AWS. For more information,
  40875. // see Prerequisites (http://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html#prerequisites-image)
  40876. // in the VM Import/Export User Guide.
  40877. //
  40878. // Valid values: AWS | BYOL
  40879. LicenseType *string `type:"string"`
  40880. // The operating system of the virtual machine.
  40881. //
  40882. // Valid values: Windows | Linux
  40883. Platform *string `type:"string"`
  40884. // The name of the role to use when not using the default role, 'vmimport'.
  40885. RoleName *string `type:"string"`
  40886. }
  40887. // String returns the string representation
  40888. func (s ImportImageInput) String() string {
  40889. return awsutil.Prettify(s)
  40890. }
  40891. // GoString returns the string representation
  40892. func (s ImportImageInput) GoString() string {
  40893. return s.String()
  40894. }
  40895. // SetArchitecture sets the Architecture field's value.
  40896. func (s *ImportImageInput) SetArchitecture(v string) *ImportImageInput {
  40897. s.Architecture = &v
  40898. return s
  40899. }
  40900. // SetClientData sets the ClientData field's value.
  40901. func (s *ImportImageInput) SetClientData(v *ClientData) *ImportImageInput {
  40902. s.ClientData = v
  40903. return s
  40904. }
  40905. // SetClientToken sets the ClientToken field's value.
  40906. func (s *ImportImageInput) SetClientToken(v string) *ImportImageInput {
  40907. s.ClientToken = &v
  40908. return s
  40909. }
  40910. // SetDescription sets the Description field's value.
  40911. func (s *ImportImageInput) SetDescription(v string) *ImportImageInput {
  40912. s.Description = &v
  40913. return s
  40914. }
  40915. // SetDiskContainers sets the DiskContainers field's value.
  40916. func (s *ImportImageInput) SetDiskContainers(v []*ImageDiskContainer) *ImportImageInput {
  40917. s.DiskContainers = v
  40918. return s
  40919. }
  40920. // SetDryRun sets the DryRun field's value.
  40921. func (s *ImportImageInput) SetDryRun(v bool) *ImportImageInput {
  40922. s.DryRun = &v
  40923. return s
  40924. }
  40925. // SetHypervisor sets the Hypervisor field's value.
  40926. func (s *ImportImageInput) SetHypervisor(v string) *ImportImageInput {
  40927. s.Hypervisor = &v
  40928. return s
  40929. }
  40930. // SetLicenseType sets the LicenseType field's value.
  40931. func (s *ImportImageInput) SetLicenseType(v string) *ImportImageInput {
  40932. s.LicenseType = &v
  40933. return s
  40934. }
  40935. // SetPlatform sets the Platform field's value.
  40936. func (s *ImportImageInput) SetPlatform(v string) *ImportImageInput {
  40937. s.Platform = &v
  40938. return s
  40939. }
  40940. // SetRoleName sets the RoleName field's value.
  40941. func (s *ImportImageInput) SetRoleName(v string) *ImportImageInput {
  40942. s.RoleName = &v
  40943. return s
  40944. }
  40945. // Contains the output for ImportImage.
  40946. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportImageResult
  40947. type ImportImageOutput struct {
  40948. _ struct{} `type:"structure"`
  40949. // The architecture of the virtual machine.
  40950. Architecture *string `locationName:"architecture" type:"string"`
  40951. // A description of the import task.
  40952. Description *string `locationName:"description" type:"string"`
  40953. // The target hypervisor of the import task.
  40954. Hypervisor *string `locationName:"hypervisor" type:"string"`
  40955. // The ID of the Amazon Machine Image (AMI) created by the import task.
  40956. ImageId *string `locationName:"imageId" type:"string"`
  40957. // The task ID of the import image task.
  40958. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  40959. // The license type of the virtual machine.
  40960. LicenseType *string `locationName:"licenseType" type:"string"`
  40961. // The operating system of the virtual machine.
  40962. Platform *string `locationName:"platform" type:"string"`
  40963. // The progress of the task.
  40964. Progress *string `locationName:"progress" type:"string"`
  40965. // Information about the snapshots.
  40966. SnapshotDetails []*SnapshotDetail `locationName:"snapshotDetailSet" locationNameList:"item" type:"list"`
  40967. // A brief status of the task.
  40968. Status *string `locationName:"status" type:"string"`
  40969. // A detailed status message of the import task.
  40970. StatusMessage *string `locationName:"statusMessage" type:"string"`
  40971. }
  40972. // String returns the string representation
  40973. func (s ImportImageOutput) String() string {
  40974. return awsutil.Prettify(s)
  40975. }
  40976. // GoString returns the string representation
  40977. func (s ImportImageOutput) GoString() string {
  40978. return s.String()
  40979. }
  40980. // SetArchitecture sets the Architecture field's value.
  40981. func (s *ImportImageOutput) SetArchitecture(v string) *ImportImageOutput {
  40982. s.Architecture = &v
  40983. return s
  40984. }
  40985. // SetDescription sets the Description field's value.
  40986. func (s *ImportImageOutput) SetDescription(v string) *ImportImageOutput {
  40987. s.Description = &v
  40988. return s
  40989. }
  40990. // SetHypervisor sets the Hypervisor field's value.
  40991. func (s *ImportImageOutput) SetHypervisor(v string) *ImportImageOutput {
  40992. s.Hypervisor = &v
  40993. return s
  40994. }
  40995. // SetImageId sets the ImageId field's value.
  40996. func (s *ImportImageOutput) SetImageId(v string) *ImportImageOutput {
  40997. s.ImageId = &v
  40998. return s
  40999. }
  41000. // SetImportTaskId sets the ImportTaskId field's value.
  41001. func (s *ImportImageOutput) SetImportTaskId(v string) *ImportImageOutput {
  41002. s.ImportTaskId = &v
  41003. return s
  41004. }
  41005. // SetLicenseType sets the LicenseType field's value.
  41006. func (s *ImportImageOutput) SetLicenseType(v string) *ImportImageOutput {
  41007. s.LicenseType = &v
  41008. return s
  41009. }
  41010. // SetPlatform sets the Platform field's value.
  41011. func (s *ImportImageOutput) SetPlatform(v string) *ImportImageOutput {
  41012. s.Platform = &v
  41013. return s
  41014. }
  41015. // SetProgress sets the Progress field's value.
  41016. func (s *ImportImageOutput) SetProgress(v string) *ImportImageOutput {
  41017. s.Progress = &v
  41018. return s
  41019. }
  41020. // SetSnapshotDetails sets the SnapshotDetails field's value.
  41021. func (s *ImportImageOutput) SetSnapshotDetails(v []*SnapshotDetail) *ImportImageOutput {
  41022. s.SnapshotDetails = v
  41023. return s
  41024. }
  41025. // SetStatus sets the Status field's value.
  41026. func (s *ImportImageOutput) SetStatus(v string) *ImportImageOutput {
  41027. s.Status = &v
  41028. return s
  41029. }
  41030. // SetStatusMessage sets the StatusMessage field's value.
  41031. func (s *ImportImageOutput) SetStatusMessage(v string) *ImportImageOutput {
  41032. s.StatusMessage = &v
  41033. return s
  41034. }
  41035. // Describes an import image task.
  41036. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportImageTask
  41037. type ImportImageTask struct {
  41038. _ struct{} `type:"structure"`
  41039. // The architecture of the virtual machine.
  41040. //
  41041. // Valid values: i386 | x86_64
  41042. Architecture *string `locationName:"architecture" type:"string"`
  41043. // A description of the import task.
  41044. Description *string `locationName:"description" type:"string"`
  41045. // The target hypervisor for the import task.
  41046. //
  41047. // Valid values: xen
  41048. Hypervisor *string `locationName:"hypervisor" type:"string"`
  41049. // The ID of the Amazon Machine Image (AMI) of the imported virtual machine.
  41050. ImageId *string `locationName:"imageId" type:"string"`
  41051. // The ID of the import image task.
  41052. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  41053. // The license type of the virtual machine.
  41054. LicenseType *string `locationName:"licenseType" type:"string"`
  41055. // The description string for the import image task.
  41056. Platform *string `locationName:"platform" type:"string"`
  41057. // The percentage of progress of the import image task.
  41058. Progress *string `locationName:"progress" type:"string"`
  41059. // Information about the snapshots.
  41060. SnapshotDetails []*SnapshotDetail `locationName:"snapshotDetailSet" locationNameList:"item" type:"list"`
  41061. // A brief status for the import image task.
  41062. Status *string `locationName:"status" type:"string"`
  41063. // A descriptive status message for the import image task.
  41064. StatusMessage *string `locationName:"statusMessage" type:"string"`
  41065. }
  41066. // String returns the string representation
  41067. func (s ImportImageTask) String() string {
  41068. return awsutil.Prettify(s)
  41069. }
  41070. // GoString returns the string representation
  41071. func (s ImportImageTask) GoString() string {
  41072. return s.String()
  41073. }
  41074. // SetArchitecture sets the Architecture field's value.
  41075. func (s *ImportImageTask) SetArchitecture(v string) *ImportImageTask {
  41076. s.Architecture = &v
  41077. return s
  41078. }
  41079. // SetDescription sets the Description field's value.
  41080. func (s *ImportImageTask) SetDescription(v string) *ImportImageTask {
  41081. s.Description = &v
  41082. return s
  41083. }
  41084. // SetHypervisor sets the Hypervisor field's value.
  41085. func (s *ImportImageTask) SetHypervisor(v string) *ImportImageTask {
  41086. s.Hypervisor = &v
  41087. return s
  41088. }
  41089. // SetImageId sets the ImageId field's value.
  41090. func (s *ImportImageTask) SetImageId(v string) *ImportImageTask {
  41091. s.ImageId = &v
  41092. return s
  41093. }
  41094. // SetImportTaskId sets the ImportTaskId field's value.
  41095. func (s *ImportImageTask) SetImportTaskId(v string) *ImportImageTask {
  41096. s.ImportTaskId = &v
  41097. return s
  41098. }
  41099. // SetLicenseType sets the LicenseType field's value.
  41100. func (s *ImportImageTask) SetLicenseType(v string) *ImportImageTask {
  41101. s.LicenseType = &v
  41102. return s
  41103. }
  41104. // SetPlatform sets the Platform field's value.
  41105. func (s *ImportImageTask) SetPlatform(v string) *ImportImageTask {
  41106. s.Platform = &v
  41107. return s
  41108. }
  41109. // SetProgress sets the Progress field's value.
  41110. func (s *ImportImageTask) SetProgress(v string) *ImportImageTask {
  41111. s.Progress = &v
  41112. return s
  41113. }
  41114. // SetSnapshotDetails sets the SnapshotDetails field's value.
  41115. func (s *ImportImageTask) SetSnapshotDetails(v []*SnapshotDetail) *ImportImageTask {
  41116. s.SnapshotDetails = v
  41117. return s
  41118. }
  41119. // SetStatus sets the Status field's value.
  41120. func (s *ImportImageTask) SetStatus(v string) *ImportImageTask {
  41121. s.Status = &v
  41122. return s
  41123. }
  41124. // SetStatusMessage sets the StatusMessage field's value.
  41125. func (s *ImportImageTask) SetStatusMessage(v string) *ImportImageTask {
  41126. s.StatusMessage = &v
  41127. return s
  41128. }
  41129. // Contains the parameters for ImportInstance.
  41130. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstanceRequest
  41131. type ImportInstanceInput struct {
  41132. _ struct{} `type:"structure"`
  41133. // A description for the instance being imported.
  41134. Description *string `locationName:"description" type:"string"`
  41135. // The disk image.
  41136. DiskImages []*DiskImage `locationName:"diskImage" type:"list"`
  41137. // Checks whether you have the required permissions for the action, without
  41138. // actually making the request, and provides an error response. If you have
  41139. // the required permissions, the error response is DryRunOperation. Otherwise,
  41140. // it is UnauthorizedOperation.
  41141. DryRun *bool `locationName:"dryRun" type:"boolean"`
  41142. // The launch specification.
  41143. LaunchSpecification *ImportInstanceLaunchSpecification `locationName:"launchSpecification" type:"structure"`
  41144. // The instance operating system.
  41145. //
  41146. // Platform is a required field
  41147. Platform *string `locationName:"platform" type:"string" required:"true" enum:"PlatformValues"`
  41148. }
  41149. // String returns the string representation
  41150. func (s ImportInstanceInput) String() string {
  41151. return awsutil.Prettify(s)
  41152. }
  41153. // GoString returns the string representation
  41154. func (s ImportInstanceInput) GoString() string {
  41155. return s.String()
  41156. }
  41157. // Validate inspects the fields of the type to determine if they are valid.
  41158. func (s *ImportInstanceInput) Validate() error {
  41159. invalidParams := request.ErrInvalidParams{Context: "ImportInstanceInput"}
  41160. if s.Platform == nil {
  41161. invalidParams.Add(request.NewErrParamRequired("Platform"))
  41162. }
  41163. if s.DiskImages != nil {
  41164. for i, v := range s.DiskImages {
  41165. if v == nil {
  41166. continue
  41167. }
  41168. if err := v.Validate(); err != nil {
  41169. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DiskImages", i), err.(request.ErrInvalidParams))
  41170. }
  41171. }
  41172. }
  41173. if invalidParams.Len() > 0 {
  41174. return invalidParams
  41175. }
  41176. return nil
  41177. }
  41178. // SetDescription sets the Description field's value.
  41179. func (s *ImportInstanceInput) SetDescription(v string) *ImportInstanceInput {
  41180. s.Description = &v
  41181. return s
  41182. }
  41183. // SetDiskImages sets the DiskImages field's value.
  41184. func (s *ImportInstanceInput) SetDiskImages(v []*DiskImage) *ImportInstanceInput {
  41185. s.DiskImages = v
  41186. return s
  41187. }
  41188. // SetDryRun sets the DryRun field's value.
  41189. func (s *ImportInstanceInput) SetDryRun(v bool) *ImportInstanceInput {
  41190. s.DryRun = &v
  41191. return s
  41192. }
  41193. // SetLaunchSpecification sets the LaunchSpecification field's value.
  41194. func (s *ImportInstanceInput) SetLaunchSpecification(v *ImportInstanceLaunchSpecification) *ImportInstanceInput {
  41195. s.LaunchSpecification = v
  41196. return s
  41197. }
  41198. // SetPlatform sets the Platform field's value.
  41199. func (s *ImportInstanceInput) SetPlatform(v string) *ImportInstanceInput {
  41200. s.Platform = &v
  41201. return s
  41202. }
  41203. // Describes the launch specification for VM import.
  41204. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstanceLaunchSpecification
  41205. type ImportInstanceLaunchSpecification struct {
  41206. _ struct{} `type:"structure"`
  41207. // Reserved.
  41208. AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
  41209. // The architecture of the instance.
  41210. Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
  41211. // One or more security group IDs.
  41212. GroupIds []*string `locationName:"GroupId" locationNameList:"SecurityGroupId" type:"list"`
  41213. // One or more security group names.
  41214. GroupNames []*string `locationName:"GroupName" locationNameList:"SecurityGroup" type:"list"`
  41215. // Indicates whether an instance stops or terminates when you initiate shutdown
  41216. // from the instance (using the operating system command for system shutdown).
  41217. InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"`
  41218. // The instance type. For more information about the instance types that you
  41219. // can import, see Instance Types (http://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html#vmimport-instance-types)
  41220. // in the VM Import/Export User Guide.
  41221. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  41222. // Indicates whether monitoring is enabled.
  41223. Monitoring *bool `locationName:"monitoring" type:"boolean"`
  41224. // The placement information for the instance.
  41225. Placement *Placement `locationName:"placement" type:"structure"`
  41226. // [EC2-VPC] An available IP address from the IP address range of the subnet.
  41227. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  41228. // [EC2-VPC] The ID of the subnet in which to launch the instance.
  41229. SubnetId *string `locationName:"subnetId" type:"string"`
  41230. // The user data to make available to the instance. If you are using an AWS
  41231. // SDK or command line tool, Base64-encoding is performed for you, and you can
  41232. // load the text from a file. Otherwise, you must provide Base64-encoded text.
  41233. UserData *UserData `locationName:"userData" type:"structure"`
  41234. }
  41235. // String returns the string representation
  41236. func (s ImportInstanceLaunchSpecification) String() string {
  41237. return awsutil.Prettify(s)
  41238. }
  41239. // GoString returns the string representation
  41240. func (s ImportInstanceLaunchSpecification) GoString() string {
  41241. return s.String()
  41242. }
  41243. // SetAdditionalInfo sets the AdditionalInfo field's value.
  41244. func (s *ImportInstanceLaunchSpecification) SetAdditionalInfo(v string) *ImportInstanceLaunchSpecification {
  41245. s.AdditionalInfo = &v
  41246. return s
  41247. }
  41248. // SetArchitecture sets the Architecture field's value.
  41249. func (s *ImportInstanceLaunchSpecification) SetArchitecture(v string) *ImportInstanceLaunchSpecification {
  41250. s.Architecture = &v
  41251. return s
  41252. }
  41253. // SetGroupIds sets the GroupIds field's value.
  41254. func (s *ImportInstanceLaunchSpecification) SetGroupIds(v []*string) *ImportInstanceLaunchSpecification {
  41255. s.GroupIds = v
  41256. return s
  41257. }
  41258. // SetGroupNames sets the GroupNames field's value.
  41259. func (s *ImportInstanceLaunchSpecification) SetGroupNames(v []*string) *ImportInstanceLaunchSpecification {
  41260. s.GroupNames = v
  41261. return s
  41262. }
  41263. // SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
  41264. func (s *ImportInstanceLaunchSpecification) SetInstanceInitiatedShutdownBehavior(v string) *ImportInstanceLaunchSpecification {
  41265. s.InstanceInitiatedShutdownBehavior = &v
  41266. return s
  41267. }
  41268. // SetInstanceType sets the InstanceType field's value.
  41269. func (s *ImportInstanceLaunchSpecification) SetInstanceType(v string) *ImportInstanceLaunchSpecification {
  41270. s.InstanceType = &v
  41271. return s
  41272. }
  41273. // SetMonitoring sets the Monitoring field's value.
  41274. func (s *ImportInstanceLaunchSpecification) SetMonitoring(v bool) *ImportInstanceLaunchSpecification {
  41275. s.Monitoring = &v
  41276. return s
  41277. }
  41278. // SetPlacement sets the Placement field's value.
  41279. func (s *ImportInstanceLaunchSpecification) SetPlacement(v *Placement) *ImportInstanceLaunchSpecification {
  41280. s.Placement = v
  41281. return s
  41282. }
  41283. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  41284. func (s *ImportInstanceLaunchSpecification) SetPrivateIpAddress(v string) *ImportInstanceLaunchSpecification {
  41285. s.PrivateIpAddress = &v
  41286. return s
  41287. }
  41288. // SetSubnetId sets the SubnetId field's value.
  41289. func (s *ImportInstanceLaunchSpecification) SetSubnetId(v string) *ImportInstanceLaunchSpecification {
  41290. s.SubnetId = &v
  41291. return s
  41292. }
  41293. // SetUserData sets the UserData field's value.
  41294. func (s *ImportInstanceLaunchSpecification) SetUserData(v *UserData) *ImportInstanceLaunchSpecification {
  41295. s.UserData = v
  41296. return s
  41297. }
  41298. // Contains the output for ImportInstance.
  41299. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstanceResult
  41300. type ImportInstanceOutput struct {
  41301. _ struct{} `type:"structure"`
  41302. // Information about the conversion task.
  41303. ConversionTask *ConversionTask `locationName:"conversionTask" type:"structure"`
  41304. }
  41305. // String returns the string representation
  41306. func (s ImportInstanceOutput) String() string {
  41307. return awsutil.Prettify(s)
  41308. }
  41309. // GoString returns the string representation
  41310. func (s ImportInstanceOutput) GoString() string {
  41311. return s.String()
  41312. }
  41313. // SetConversionTask sets the ConversionTask field's value.
  41314. func (s *ImportInstanceOutput) SetConversionTask(v *ConversionTask) *ImportInstanceOutput {
  41315. s.ConversionTask = v
  41316. return s
  41317. }
  41318. // Describes an import instance task.
  41319. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstanceTaskDetails
  41320. type ImportInstanceTaskDetails struct {
  41321. _ struct{} `type:"structure"`
  41322. // A description of the task.
  41323. Description *string `locationName:"description" type:"string"`
  41324. // The ID of the instance.
  41325. InstanceId *string `locationName:"instanceId" type:"string"`
  41326. // The instance operating system.
  41327. Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
  41328. // One or more volumes.
  41329. //
  41330. // Volumes is a required field
  41331. Volumes []*ImportInstanceVolumeDetailItem `locationName:"volumes" locationNameList:"item" type:"list" required:"true"`
  41332. }
  41333. // String returns the string representation
  41334. func (s ImportInstanceTaskDetails) String() string {
  41335. return awsutil.Prettify(s)
  41336. }
  41337. // GoString returns the string representation
  41338. func (s ImportInstanceTaskDetails) GoString() string {
  41339. return s.String()
  41340. }
  41341. // SetDescription sets the Description field's value.
  41342. func (s *ImportInstanceTaskDetails) SetDescription(v string) *ImportInstanceTaskDetails {
  41343. s.Description = &v
  41344. return s
  41345. }
  41346. // SetInstanceId sets the InstanceId field's value.
  41347. func (s *ImportInstanceTaskDetails) SetInstanceId(v string) *ImportInstanceTaskDetails {
  41348. s.InstanceId = &v
  41349. return s
  41350. }
  41351. // SetPlatform sets the Platform field's value.
  41352. func (s *ImportInstanceTaskDetails) SetPlatform(v string) *ImportInstanceTaskDetails {
  41353. s.Platform = &v
  41354. return s
  41355. }
  41356. // SetVolumes sets the Volumes field's value.
  41357. func (s *ImportInstanceTaskDetails) SetVolumes(v []*ImportInstanceVolumeDetailItem) *ImportInstanceTaskDetails {
  41358. s.Volumes = v
  41359. return s
  41360. }
  41361. // Describes an import volume task.
  41362. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstanceVolumeDetailItem
  41363. type ImportInstanceVolumeDetailItem struct {
  41364. _ struct{} `type:"structure"`
  41365. // The Availability Zone where the resulting instance will reside.
  41366. //
  41367. // AvailabilityZone is a required field
  41368. AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
  41369. // The number of bytes converted so far.
  41370. //
  41371. // BytesConverted is a required field
  41372. BytesConverted *int64 `locationName:"bytesConverted" type:"long" required:"true"`
  41373. // A description of the task.
  41374. Description *string `locationName:"description" type:"string"`
  41375. // The image.
  41376. //
  41377. // Image is a required field
  41378. Image *DiskImageDescription `locationName:"image" type:"structure" required:"true"`
  41379. // The status of the import of this particular disk image.
  41380. //
  41381. // Status is a required field
  41382. Status *string `locationName:"status" type:"string" required:"true"`
  41383. // The status information or errors related to the disk image.
  41384. StatusMessage *string `locationName:"statusMessage" type:"string"`
  41385. // The volume.
  41386. //
  41387. // Volume is a required field
  41388. Volume *DiskImageVolumeDescription `locationName:"volume" type:"structure" required:"true"`
  41389. }
  41390. // String returns the string representation
  41391. func (s ImportInstanceVolumeDetailItem) String() string {
  41392. return awsutil.Prettify(s)
  41393. }
  41394. // GoString returns the string representation
  41395. func (s ImportInstanceVolumeDetailItem) GoString() string {
  41396. return s.String()
  41397. }
  41398. // SetAvailabilityZone sets the AvailabilityZone field's value.
  41399. func (s *ImportInstanceVolumeDetailItem) SetAvailabilityZone(v string) *ImportInstanceVolumeDetailItem {
  41400. s.AvailabilityZone = &v
  41401. return s
  41402. }
  41403. // SetBytesConverted sets the BytesConverted field's value.
  41404. func (s *ImportInstanceVolumeDetailItem) SetBytesConverted(v int64) *ImportInstanceVolumeDetailItem {
  41405. s.BytesConverted = &v
  41406. return s
  41407. }
  41408. // SetDescription sets the Description field's value.
  41409. func (s *ImportInstanceVolumeDetailItem) SetDescription(v string) *ImportInstanceVolumeDetailItem {
  41410. s.Description = &v
  41411. return s
  41412. }
  41413. // SetImage sets the Image field's value.
  41414. func (s *ImportInstanceVolumeDetailItem) SetImage(v *DiskImageDescription) *ImportInstanceVolumeDetailItem {
  41415. s.Image = v
  41416. return s
  41417. }
  41418. // SetStatus sets the Status field's value.
  41419. func (s *ImportInstanceVolumeDetailItem) SetStatus(v string) *ImportInstanceVolumeDetailItem {
  41420. s.Status = &v
  41421. return s
  41422. }
  41423. // SetStatusMessage sets the StatusMessage field's value.
  41424. func (s *ImportInstanceVolumeDetailItem) SetStatusMessage(v string) *ImportInstanceVolumeDetailItem {
  41425. s.StatusMessage = &v
  41426. return s
  41427. }
  41428. // SetVolume sets the Volume field's value.
  41429. func (s *ImportInstanceVolumeDetailItem) SetVolume(v *DiskImageVolumeDescription) *ImportInstanceVolumeDetailItem {
  41430. s.Volume = v
  41431. return s
  41432. }
  41433. // Contains the parameters for ImportKeyPair.
  41434. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportKeyPairRequest
  41435. type ImportKeyPairInput struct {
  41436. _ struct{} `type:"structure"`
  41437. // Checks whether you have the required permissions for the action, without
  41438. // actually making the request, and provides an error response. If you have
  41439. // the required permissions, the error response is DryRunOperation. Otherwise,
  41440. // it is UnauthorizedOperation.
  41441. DryRun *bool `locationName:"dryRun" type:"boolean"`
  41442. // A unique name for the key pair.
  41443. //
  41444. // KeyName is a required field
  41445. KeyName *string `locationName:"keyName" type:"string" required:"true"`
  41446. // The public key. For API calls, the text must be base64-encoded. For command
  41447. // line tools, base64 encoding is performed for you.
  41448. //
  41449. // PublicKeyMaterial is automatically base64 encoded/decoded by the SDK.
  41450. //
  41451. // PublicKeyMaterial is a required field
  41452. PublicKeyMaterial []byte `locationName:"publicKeyMaterial" type:"blob" required:"true"`
  41453. }
  41454. // String returns the string representation
  41455. func (s ImportKeyPairInput) String() string {
  41456. return awsutil.Prettify(s)
  41457. }
  41458. // GoString returns the string representation
  41459. func (s ImportKeyPairInput) GoString() string {
  41460. return s.String()
  41461. }
  41462. // Validate inspects the fields of the type to determine if they are valid.
  41463. func (s *ImportKeyPairInput) Validate() error {
  41464. invalidParams := request.ErrInvalidParams{Context: "ImportKeyPairInput"}
  41465. if s.KeyName == nil {
  41466. invalidParams.Add(request.NewErrParamRequired("KeyName"))
  41467. }
  41468. if s.PublicKeyMaterial == nil {
  41469. invalidParams.Add(request.NewErrParamRequired("PublicKeyMaterial"))
  41470. }
  41471. if invalidParams.Len() > 0 {
  41472. return invalidParams
  41473. }
  41474. return nil
  41475. }
  41476. // SetDryRun sets the DryRun field's value.
  41477. func (s *ImportKeyPairInput) SetDryRun(v bool) *ImportKeyPairInput {
  41478. s.DryRun = &v
  41479. return s
  41480. }
  41481. // SetKeyName sets the KeyName field's value.
  41482. func (s *ImportKeyPairInput) SetKeyName(v string) *ImportKeyPairInput {
  41483. s.KeyName = &v
  41484. return s
  41485. }
  41486. // SetPublicKeyMaterial sets the PublicKeyMaterial field's value.
  41487. func (s *ImportKeyPairInput) SetPublicKeyMaterial(v []byte) *ImportKeyPairInput {
  41488. s.PublicKeyMaterial = v
  41489. return s
  41490. }
  41491. // Contains the output of ImportKeyPair.
  41492. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportKeyPairResult
  41493. type ImportKeyPairOutput struct {
  41494. _ struct{} `type:"structure"`
  41495. // The MD5 public key fingerprint as specified in section 4 of RFC 4716.
  41496. KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
  41497. // The key pair name you provided.
  41498. KeyName *string `locationName:"keyName" type:"string"`
  41499. }
  41500. // String returns the string representation
  41501. func (s ImportKeyPairOutput) String() string {
  41502. return awsutil.Prettify(s)
  41503. }
  41504. // GoString returns the string representation
  41505. func (s ImportKeyPairOutput) GoString() string {
  41506. return s.String()
  41507. }
  41508. // SetKeyFingerprint sets the KeyFingerprint field's value.
  41509. func (s *ImportKeyPairOutput) SetKeyFingerprint(v string) *ImportKeyPairOutput {
  41510. s.KeyFingerprint = &v
  41511. return s
  41512. }
  41513. // SetKeyName sets the KeyName field's value.
  41514. func (s *ImportKeyPairOutput) SetKeyName(v string) *ImportKeyPairOutput {
  41515. s.KeyName = &v
  41516. return s
  41517. }
  41518. // Contains the parameters for ImportSnapshot.
  41519. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportSnapshotRequest
  41520. type ImportSnapshotInput struct {
  41521. _ struct{} `type:"structure"`
  41522. // The client-specific data.
  41523. ClientData *ClientData `type:"structure"`
  41524. // Token to enable idempotency for VM import requests.
  41525. ClientToken *string `type:"string"`
  41526. // The description string for the import snapshot task.
  41527. Description *string `type:"string"`
  41528. // Information about the disk container.
  41529. DiskContainer *SnapshotDiskContainer `type:"structure"`
  41530. // Checks whether you have the required permissions for the action, without
  41531. // actually making the request, and provides an error response. If you have
  41532. // the required permissions, the error response is DryRunOperation. Otherwise,
  41533. // it is UnauthorizedOperation.
  41534. DryRun *bool `type:"boolean"`
  41535. // The name of the role to use when not using the default role, 'vmimport'.
  41536. RoleName *string `type:"string"`
  41537. }
  41538. // String returns the string representation
  41539. func (s ImportSnapshotInput) String() string {
  41540. return awsutil.Prettify(s)
  41541. }
  41542. // GoString returns the string representation
  41543. func (s ImportSnapshotInput) GoString() string {
  41544. return s.String()
  41545. }
  41546. // SetClientData sets the ClientData field's value.
  41547. func (s *ImportSnapshotInput) SetClientData(v *ClientData) *ImportSnapshotInput {
  41548. s.ClientData = v
  41549. return s
  41550. }
  41551. // SetClientToken sets the ClientToken field's value.
  41552. func (s *ImportSnapshotInput) SetClientToken(v string) *ImportSnapshotInput {
  41553. s.ClientToken = &v
  41554. return s
  41555. }
  41556. // SetDescription sets the Description field's value.
  41557. func (s *ImportSnapshotInput) SetDescription(v string) *ImportSnapshotInput {
  41558. s.Description = &v
  41559. return s
  41560. }
  41561. // SetDiskContainer sets the DiskContainer field's value.
  41562. func (s *ImportSnapshotInput) SetDiskContainer(v *SnapshotDiskContainer) *ImportSnapshotInput {
  41563. s.DiskContainer = v
  41564. return s
  41565. }
  41566. // SetDryRun sets the DryRun field's value.
  41567. func (s *ImportSnapshotInput) SetDryRun(v bool) *ImportSnapshotInput {
  41568. s.DryRun = &v
  41569. return s
  41570. }
  41571. // SetRoleName sets the RoleName field's value.
  41572. func (s *ImportSnapshotInput) SetRoleName(v string) *ImportSnapshotInput {
  41573. s.RoleName = &v
  41574. return s
  41575. }
  41576. // Contains the output for ImportSnapshot.
  41577. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportSnapshotResult
  41578. type ImportSnapshotOutput struct {
  41579. _ struct{} `type:"structure"`
  41580. // A description of the import snapshot task.
  41581. Description *string `locationName:"description" type:"string"`
  41582. // The ID of the import snapshot task.
  41583. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  41584. // Information about the import snapshot task.
  41585. SnapshotTaskDetail *SnapshotTaskDetail `locationName:"snapshotTaskDetail" type:"structure"`
  41586. }
  41587. // String returns the string representation
  41588. func (s ImportSnapshotOutput) String() string {
  41589. return awsutil.Prettify(s)
  41590. }
  41591. // GoString returns the string representation
  41592. func (s ImportSnapshotOutput) GoString() string {
  41593. return s.String()
  41594. }
  41595. // SetDescription sets the Description field's value.
  41596. func (s *ImportSnapshotOutput) SetDescription(v string) *ImportSnapshotOutput {
  41597. s.Description = &v
  41598. return s
  41599. }
  41600. // SetImportTaskId sets the ImportTaskId field's value.
  41601. func (s *ImportSnapshotOutput) SetImportTaskId(v string) *ImportSnapshotOutput {
  41602. s.ImportTaskId = &v
  41603. return s
  41604. }
  41605. // SetSnapshotTaskDetail sets the SnapshotTaskDetail field's value.
  41606. func (s *ImportSnapshotOutput) SetSnapshotTaskDetail(v *SnapshotTaskDetail) *ImportSnapshotOutput {
  41607. s.SnapshotTaskDetail = v
  41608. return s
  41609. }
  41610. // Describes an import snapshot task.
  41611. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportSnapshotTask
  41612. type ImportSnapshotTask struct {
  41613. _ struct{} `type:"structure"`
  41614. // A description of the import snapshot task.
  41615. Description *string `locationName:"description" type:"string"`
  41616. // The ID of the import snapshot task.
  41617. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  41618. // Describes an import snapshot task.
  41619. SnapshotTaskDetail *SnapshotTaskDetail `locationName:"snapshotTaskDetail" type:"structure"`
  41620. }
  41621. // String returns the string representation
  41622. func (s ImportSnapshotTask) String() string {
  41623. return awsutil.Prettify(s)
  41624. }
  41625. // GoString returns the string representation
  41626. func (s ImportSnapshotTask) GoString() string {
  41627. return s.String()
  41628. }
  41629. // SetDescription sets the Description field's value.
  41630. func (s *ImportSnapshotTask) SetDescription(v string) *ImportSnapshotTask {
  41631. s.Description = &v
  41632. return s
  41633. }
  41634. // SetImportTaskId sets the ImportTaskId field's value.
  41635. func (s *ImportSnapshotTask) SetImportTaskId(v string) *ImportSnapshotTask {
  41636. s.ImportTaskId = &v
  41637. return s
  41638. }
  41639. // SetSnapshotTaskDetail sets the SnapshotTaskDetail field's value.
  41640. func (s *ImportSnapshotTask) SetSnapshotTaskDetail(v *SnapshotTaskDetail) *ImportSnapshotTask {
  41641. s.SnapshotTaskDetail = v
  41642. return s
  41643. }
  41644. // Contains the parameters for ImportVolume.
  41645. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportVolumeRequest
  41646. type ImportVolumeInput struct {
  41647. _ struct{} `type:"structure"`
  41648. // The Availability Zone for the resulting EBS volume.
  41649. //
  41650. // AvailabilityZone is a required field
  41651. AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
  41652. // A description of the volume.
  41653. Description *string `locationName:"description" type:"string"`
  41654. // Checks whether you have the required permissions for the action, without
  41655. // actually making the request, and provides an error response. If you have
  41656. // the required permissions, the error response is DryRunOperation. Otherwise,
  41657. // it is UnauthorizedOperation.
  41658. DryRun *bool `locationName:"dryRun" type:"boolean"`
  41659. // The disk image.
  41660. //
  41661. // Image is a required field
  41662. Image *DiskImageDetail `locationName:"image" type:"structure" required:"true"`
  41663. // The volume size.
  41664. //
  41665. // Volume is a required field
  41666. Volume *VolumeDetail `locationName:"volume" type:"structure" required:"true"`
  41667. }
  41668. // String returns the string representation
  41669. func (s ImportVolumeInput) String() string {
  41670. return awsutil.Prettify(s)
  41671. }
  41672. // GoString returns the string representation
  41673. func (s ImportVolumeInput) GoString() string {
  41674. return s.String()
  41675. }
  41676. // Validate inspects the fields of the type to determine if they are valid.
  41677. func (s *ImportVolumeInput) Validate() error {
  41678. invalidParams := request.ErrInvalidParams{Context: "ImportVolumeInput"}
  41679. if s.AvailabilityZone == nil {
  41680. invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
  41681. }
  41682. if s.Image == nil {
  41683. invalidParams.Add(request.NewErrParamRequired("Image"))
  41684. }
  41685. if s.Volume == nil {
  41686. invalidParams.Add(request.NewErrParamRequired("Volume"))
  41687. }
  41688. if s.Image != nil {
  41689. if err := s.Image.Validate(); err != nil {
  41690. invalidParams.AddNested("Image", err.(request.ErrInvalidParams))
  41691. }
  41692. }
  41693. if s.Volume != nil {
  41694. if err := s.Volume.Validate(); err != nil {
  41695. invalidParams.AddNested("Volume", err.(request.ErrInvalidParams))
  41696. }
  41697. }
  41698. if invalidParams.Len() > 0 {
  41699. return invalidParams
  41700. }
  41701. return nil
  41702. }
  41703. // SetAvailabilityZone sets the AvailabilityZone field's value.
  41704. func (s *ImportVolumeInput) SetAvailabilityZone(v string) *ImportVolumeInput {
  41705. s.AvailabilityZone = &v
  41706. return s
  41707. }
  41708. // SetDescription sets the Description field's value.
  41709. func (s *ImportVolumeInput) SetDescription(v string) *ImportVolumeInput {
  41710. s.Description = &v
  41711. return s
  41712. }
  41713. // SetDryRun sets the DryRun field's value.
  41714. func (s *ImportVolumeInput) SetDryRun(v bool) *ImportVolumeInput {
  41715. s.DryRun = &v
  41716. return s
  41717. }
  41718. // SetImage sets the Image field's value.
  41719. func (s *ImportVolumeInput) SetImage(v *DiskImageDetail) *ImportVolumeInput {
  41720. s.Image = v
  41721. return s
  41722. }
  41723. // SetVolume sets the Volume field's value.
  41724. func (s *ImportVolumeInput) SetVolume(v *VolumeDetail) *ImportVolumeInput {
  41725. s.Volume = v
  41726. return s
  41727. }
  41728. // Contains the output for ImportVolume.
  41729. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportVolumeResult
  41730. type ImportVolumeOutput struct {
  41731. _ struct{} `type:"structure"`
  41732. // Information about the conversion task.
  41733. ConversionTask *ConversionTask `locationName:"conversionTask" type:"structure"`
  41734. }
  41735. // String returns the string representation
  41736. func (s ImportVolumeOutput) String() string {
  41737. return awsutil.Prettify(s)
  41738. }
  41739. // GoString returns the string representation
  41740. func (s ImportVolumeOutput) GoString() string {
  41741. return s.String()
  41742. }
  41743. // SetConversionTask sets the ConversionTask field's value.
  41744. func (s *ImportVolumeOutput) SetConversionTask(v *ConversionTask) *ImportVolumeOutput {
  41745. s.ConversionTask = v
  41746. return s
  41747. }
  41748. // Describes an import volume task.
  41749. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportVolumeTaskDetails
  41750. type ImportVolumeTaskDetails struct {
  41751. _ struct{} `type:"structure"`
  41752. // The Availability Zone where the resulting volume will reside.
  41753. //
  41754. // AvailabilityZone is a required field
  41755. AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
  41756. // The number of bytes converted so far.
  41757. //
  41758. // BytesConverted is a required field
  41759. BytesConverted *int64 `locationName:"bytesConverted" type:"long" required:"true"`
  41760. // The description you provided when starting the import volume task.
  41761. Description *string `locationName:"description" type:"string"`
  41762. // The image.
  41763. //
  41764. // Image is a required field
  41765. Image *DiskImageDescription `locationName:"image" type:"structure" required:"true"`
  41766. // The volume.
  41767. //
  41768. // Volume is a required field
  41769. Volume *DiskImageVolumeDescription `locationName:"volume" type:"structure" required:"true"`
  41770. }
  41771. // String returns the string representation
  41772. func (s ImportVolumeTaskDetails) String() string {
  41773. return awsutil.Prettify(s)
  41774. }
  41775. // GoString returns the string representation
  41776. func (s ImportVolumeTaskDetails) GoString() string {
  41777. return s.String()
  41778. }
  41779. // SetAvailabilityZone sets the AvailabilityZone field's value.
  41780. func (s *ImportVolumeTaskDetails) SetAvailabilityZone(v string) *ImportVolumeTaskDetails {
  41781. s.AvailabilityZone = &v
  41782. return s
  41783. }
  41784. // SetBytesConverted sets the BytesConverted field's value.
  41785. func (s *ImportVolumeTaskDetails) SetBytesConverted(v int64) *ImportVolumeTaskDetails {
  41786. s.BytesConverted = &v
  41787. return s
  41788. }
  41789. // SetDescription sets the Description field's value.
  41790. func (s *ImportVolumeTaskDetails) SetDescription(v string) *ImportVolumeTaskDetails {
  41791. s.Description = &v
  41792. return s
  41793. }
  41794. // SetImage sets the Image field's value.
  41795. func (s *ImportVolumeTaskDetails) SetImage(v *DiskImageDescription) *ImportVolumeTaskDetails {
  41796. s.Image = v
  41797. return s
  41798. }
  41799. // SetVolume sets the Volume field's value.
  41800. func (s *ImportVolumeTaskDetails) SetVolume(v *DiskImageVolumeDescription) *ImportVolumeTaskDetails {
  41801. s.Volume = v
  41802. return s
  41803. }
  41804. // Describes an instance.
  41805. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Instance
  41806. type Instance struct {
  41807. _ struct{} `type:"structure"`
  41808. // The AMI launch index, which can be used to find this instance in the launch
  41809. // group.
  41810. AmiLaunchIndex *int64 `locationName:"amiLaunchIndex" type:"integer"`
  41811. // The architecture of the image.
  41812. Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
  41813. // Any block device mapping entries for the instance.
  41814. BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  41815. // The idempotency token you provided when you launched the instance, if applicable.
  41816. ClientToken *string `locationName:"clientToken" type:"string"`
  41817. // Indicates whether the instance is optimized for Amazon EBS I/O. This optimization
  41818. // provides dedicated throughput to Amazon EBS and an optimized configuration
  41819. // stack to provide optimal I/O performance. This optimization isn't available
  41820. // with all instance types. Additional usage charges apply when using an EBS
  41821. // Optimized instance.
  41822. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  41823. // The Elastic GPU associated with the instance.
  41824. ElasticGpuAssociations []*ElasticGpuAssociation `locationName:"elasticGpuAssociationSet" locationNameList:"item" type:"list"`
  41825. // Specifies whether enhanced networking with ENA is enabled.
  41826. EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
  41827. // The hypervisor type of the instance.
  41828. Hypervisor *string `locationName:"hypervisor" type:"string" enum:"HypervisorType"`
  41829. // The IAM instance profile associated with the instance, if applicable.
  41830. IamInstanceProfile *IamInstanceProfile `locationName:"iamInstanceProfile" type:"structure"`
  41831. // The ID of the AMI used to launch the instance.
  41832. ImageId *string `locationName:"imageId" type:"string"`
  41833. // The ID of the instance.
  41834. InstanceId *string `locationName:"instanceId" type:"string"`
  41835. // Indicates whether this is a Spot Instance or a Scheduled Instance.
  41836. InstanceLifecycle *string `locationName:"instanceLifecycle" type:"string" enum:"InstanceLifecycleType"`
  41837. // The instance type.
  41838. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  41839. // The kernel associated with this instance, if applicable.
  41840. KernelId *string `locationName:"kernelId" type:"string"`
  41841. // The name of the key pair, if this instance was launched with an associated
  41842. // key pair.
  41843. KeyName *string `locationName:"keyName" type:"string"`
  41844. // The time the instance was launched.
  41845. LaunchTime *time.Time `locationName:"launchTime" type:"timestamp" timestampFormat:"iso8601"`
  41846. // The monitoring for the instance.
  41847. Monitoring *Monitoring `locationName:"monitoring" type:"structure"`
  41848. // [EC2-VPC] One or more network interfaces for the instance.
  41849. NetworkInterfaces []*InstanceNetworkInterface `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
  41850. // The location where the instance launched, if applicable.
  41851. Placement *Placement `locationName:"placement" type:"structure"`
  41852. // The value is Windows for Windows instances; otherwise blank.
  41853. Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
  41854. // (IPv4 only) The private DNS hostname name assigned to the instance. This
  41855. // DNS hostname can only be used inside the Amazon EC2 network. This name is
  41856. // not available until the instance enters the running state.
  41857. //
  41858. // [EC2-VPC] The Amazon-provided DNS server resolves Amazon-provided private
  41859. // DNS hostnames if you've enabled DNS resolution and DNS hostnames in your
  41860. // VPC. If you are not using the Amazon-provided DNS server in your VPC, your
  41861. // custom domain name servers must resolve the hostname as appropriate.
  41862. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  41863. // The private IPv4 address assigned to the instance.
  41864. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  41865. // The product codes attached to this instance, if applicable.
  41866. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  41867. // (IPv4 only) The public DNS name assigned to the instance. This name is not
  41868. // available until the instance enters the running state. For EC2-VPC, this
  41869. // name is only available if you've enabled DNS hostnames for your VPC.
  41870. PublicDnsName *string `locationName:"dnsName" type:"string"`
  41871. // The public IPv4 address assigned to the instance, if applicable.
  41872. PublicIpAddress *string `locationName:"ipAddress" type:"string"`
  41873. // The RAM disk associated with this instance, if applicable.
  41874. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  41875. // The device name of the root device volume (for example, /dev/sda1).
  41876. RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
  41877. // The root device type used by the AMI. The AMI can use an EBS volume or an
  41878. // instance store volume.
  41879. RootDeviceType *string `locationName:"rootDeviceType" type:"string" enum:"DeviceType"`
  41880. // One or more security groups for the instance.
  41881. SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  41882. // Specifies whether to enable an instance launched in a VPC to perform NAT.
  41883. // This controls whether source/destination checking is enabled on the instance.
  41884. // A value of true means that checking is enabled, and false means that checking
  41885. // is disabled. The value must be false for the instance to perform NAT. For
  41886. // more information, see NAT Instances (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
  41887. // in the Amazon Virtual Private Cloud User Guide.
  41888. SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
  41889. // If the request is a Spot Instance request, the ID of the request.
  41890. SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
  41891. // Specifies whether enhanced networking with the Intel 82599 Virtual Function
  41892. // interface is enabled.
  41893. SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
  41894. // The current state of the instance.
  41895. State *InstanceState `locationName:"instanceState" type:"structure"`
  41896. // The reason for the most recent state transition.
  41897. StateReason *StateReason `locationName:"stateReason" type:"structure"`
  41898. // The reason for the most recent state transition. This might be an empty string.
  41899. StateTransitionReason *string `locationName:"reason" type:"string"`
  41900. // [EC2-VPC] The ID of the subnet in which the instance is running.
  41901. SubnetId *string `locationName:"subnetId" type:"string"`
  41902. // Any tags assigned to the instance.
  41903. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  41904. // The virtualization type of the instance.
  41905. VirtualizationType *string `locationName:"virtualizationType" type:"string" enum:"VirtualizationType"`
  41906. // [EC2-VPC] The ID of the VPC in which the instance is running.
  41907. VpcId *string `locationName:"vpcId" type:"string"`
  41908. }
  41909. // String returns the string representation
  41910. func (s Instance) String() string {
  41911. return awsutil.Prettify(s)
  41912. }
  41913. // GoString returns the string representation
  41914. func (s Instance) GoString() string {
  41915. return s.String()
  41916. }
  41917. // SetAmiLaunchIndex sets the AmiLaunchIndex field's value.
  41918. func (s *Instance) SetAmiLaunchIndex(v int64) *Instance {
  41919. s.AmiLaunchIndex = &v
  41920. return s
  41921. }
  41922. // SetArchitecture sets the Architecture field's value.
  41923. func (s *Instance) SetArchitecture(v string) *Instance {
  41924. s.Architecture = &v
  41925. return s
  41926. }
  41927. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  41928. func (s *Instance) SetBlockDeviceMappings(v []*InstanceBlockDeviceMapping) *Instance {
  41929. s.BlockDeviceMappings = v
  41930. return s
  41931. }
  41932. // SetClientToken sets the ClientToken field's value.
  41933. func (s *Instance) SetClientToken(v string) *Instance {
  41934. s.ClientToken = &v
  41935. return s
  41936. }
  41937. // SetEbsOptimized sets the EbsOptimized field's value.
  41938. func (s *Instance) SetEbsOptimized(v bool) *Instance {
  41939. s.EbsOptimized = &v
  41940. return s
  41941. }
  41942. // SetElasticGpuAssociations sets the ElasticGpuAssociations field's value.
  41943. func (s *Instance) SetElasticGpuAssociations(v []*ElasticGpuAssociation) *Instance {
  41944. s.ElasticGpuAssociations = v
  41945. return s
  41946. }
  41947. // SetEnaSupport sets the EnaSupport field's value.
  41948. func (s *Instance) SetEnaSupport(v bool) *Instance {
  41949. s.EnaSupport = &v
  41950. return s
  41951. }
  41952. // SetHypervisor sets the Hypervisor field's value.
  41953. func (s *Instance) SetHypervisor(v string) *Instance {
  41954. s.Hypervisor = &v
  41955. return s
  41956. }
  41957. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  41958. func (s *Instance) SetIamInstanceProfile(v *IamInstanceProfile) *Instance {
  41959. s.IamInstanceProfile = v
  41960. return s
  41961. }
  41962. // SetImageId sets the ImageId field's value.
  41963. func (s *Instance) SetImageId(v string) *Instance {
  41964. s.ImageId = &v
  41965. return s
  41966. }
  41967. // SetInstanceId sets the InstanceId field's value.
  41968. func (s *Instance) SetInstanceId(v string) *Instance {
  41969. s.InstanceId = &v
  41970. return s
  41971. }
  41972. // SetInstanceLifecycle sets the InstanceLifecycle field's value.
  41973. func (s *Instance) SetInstanceLifecycle(v string) *Instance {
  41974. s.InstanceLifecycle = &v
  41975. return s
  41976. }
  41977. // SetInstanceType sets the InstanceType field's value.
  41978. func (s *Instance) SetInstanceType(v string) *Instance {
  41979. s.InstanceType = &v
  41980. return s
  41981. }
  41982. // SetKernelId sets the KernelId field's value.
  41983. func (s *Instance) SetKernelId(v string) *Instance {
  41984. s.KernelId = &v
  41985. return s
  41986. }
  41987. // SetKeyName sets the KeyName field's value.
  41988. func (s *Instance) SetKeyName(v string) *Instance {
  41989. s.KeyName = &v
  41990. return s
  41991. }
  41992. // SetLaunchTime sets the LaunchTime field's value.
  41993. func (s *Instance) SetLaunchTime(v time.Time) *Instance {
  41994. s.LaunchTime = &v
  41995. return s
  41996. }
  41997. // SetMonitoring sets the Monitoring field's value.
  41998. func (s *Instance) SetMonitoring(v *Monitoring) *Instance {
  41999. s.Monitoring = v
  42000. return s
  42001. }
  42002. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  42003. func (s *Instance) SetNetworkInterfaces(v []*InstanceNetworkInterface) *Instance {
  42004. s.NetworkInterfaces = v
  42005. return s
  42006. }
  42007. // SetPlacement sets the Placement field's value.
  42008. func (s *Instance) SetPlacement(v *Placement) *Instance {
  42009. s.Placement = v
  42010. return s
  42011. }
  42012. // SetPlatform sets the Platform field's value.
  42013. func (s *Instance) SetPlatform(v string) *Instance {
  42014. s.Platform = &v
  42015. return s
  42016. }
  42017. // SetPrivateDnsName sets the PrivateDnsName field's value.
  42018. func (s *Instance) SetPrivateDnsName(v string) *Instance {
  42019. s.PrivateDnsName = &v
  42020. return s
  42021. }
  42022. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  42023. func (s *Instance) SetPrivateIpAddress(v string) *Instance {
  42024. s.PrivateIpAddress = &v
  42025. return s
  42026. }
  42027. // SetProductCodes sets the ProductCodes field's value.
  42028. func (s *Instance) SetProductCodes(v []*ProductCode) *Instance {
  42029. s.ProductCodes = v
  42030. return s
  42031. }
  42032. // SetPublicDnsName sets the PublicDnsName field's value.
  42033. func (s *Instance) SetPublicDnsName(v string) *Instance {
  42034. s.PublicDnsName = &v
  42035. return s
  42036. }
  42037. // SetPublicIpAddress sets the PublicIpAddress field's value.
  42038. func (s *Instance) SetPublicIpAddress(v string) *Instance {
  42039. s.PublicIpAddress = &v
  42040. return s
  42041. }
  42042. // SetRamdiskId sets the RamdiskId field's value.
  42043. func (s *Instance) SetRamdiskId(v string) *Instance {
  42044. s.RamdiskId = &v
  42045. return s
  42046. }
  42047. // SetRootDeviceName sets the RootDeviceName field's value.
  42048. func (s *Instance) SetRootDeviceName(v string) *Instance {
  42049. s.RootDeviceName = &v
  42050. return s
  42051. }
  42052. // SetRootDeviceType sets the RootDeviceType field's value.
  42053. func (s *Instance) SetRootDeviceType(v string) *Instance {
  42054. s.RootDeviceType = &v
  42055. return s
  42056. }
  42057. // SetSecurityGroups sets the SecurityGroups field's value.
  42058. func (s *Instance) SetSecurityGroups(v []*GroupIdentifier) *Instance {
  42059. s.SecurityGroups = v
  42060. return s
  42061. }
  42062. // SetSourceDestCheck sets the SourceDestCheck field's value.
  42063. func (s *Instance) SetSourceDestCheck(v bool) *Instance {
  42064. s.SourceDestCheck = &v
  42065. return s
  42066. }
  42067. // SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
  42068. func (s *Instance) SetSpotInstanceRequestId(v string) *Instance {
  42069. s.SpotInstanceRequestId = &v
  42070. return s
  42071. }
  42072. // SetSriovNetSupport sets the SriovNetSupport field's value.
  42073. func (s *Instance) SetSriovNetSupport(v string) *Instance {
  42074. s.SriovNetSupport = &v
  42075. return s
  42076. }
  42077. // SetState sets the State field's value.
  42078. func (s *Instance) SetState(v *InstanceState) *Instance {
  42079. s.State = v
  42080. return s
  42081. }
  42082. // SetStateReason sets the StateReason field's value.
  42083. func (s *Instance) SetStateReason(v *StateReason) *Instance {
  42084. s.StateReason = v
  42085. return s
  42086. }
  42087. // SetStateTransitionReason sets the StateTransitionReason field's value.
  42088. func (s *Instance) SetStateTransitionReason(v string) *Instance {
  42089. s.StateTransitionReason = &v
  42090. return s
  42091. }
  42092. // SetSubnetId sets the SubnetId field's value.
  42093. func (s *Instance) SetSubnetId(v string) *Instance {
  42094. s.SubnetId = &v
  42095. return s
  42096. }
  42097. // SetTags sets the Tags field's value.
  42098. func (s *Instance) SetTags(v []*Tag) *Instance {
  42099. s.Tags = v
  42100. return s
  42101. }
  42102. // SetVirtualizationType sets the VirtualizationType field's value.
  42103. func (s *Instance) SetVirtualizationType(v string) *Instance {
  42104. s.VirtualizationType = &v
  42105. return s
  42106. }
  42107. // SetVpcId sets the VpcId field's value.
  42108. func (s *Instance) SetVpcId(v string) *Instance {
  42109. s.VpcId = &v
  42110. return s
  42111. }
  42112. // Describes a block device mapping.
  42113. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceBlockDeviceMapping
  42114. type InstanceBlockDeviceMapping struct {
  42115. _ struct{} `type:"structure"`
  42116. // The device name (for example, /dev/sdh or xvdh).
  42117. DeviceName *string `locationName:"deviceName" type:"string"`
  42118. // Parameters used to automatically set up EBS volumes when the instance is
  42119. // launched.
  42120. Ebs *EbsInstanceBlockDevice `locationName:"ebs" type:"structure"`
  42121. }
  42122. // String returns the string representation
  42123. func (s InstanceBlockDeviceMapping) String() string {
  42124. return awsutil.Prettify(s)
  42125. }
  42126. // GoString returns the string representation
  42127. func (s InstanceBlockDeviceMapping) GoString() string {
  42128. return s.String()
  42129. }
  42130. // SetDeviceName sets the DeviceName field's value.
  42131. func (s *InstanceBlockDeviceMapping) SetDeviceName(v string) *InstanceBlockDeviceMapping {
  42132. s.DeviceName = &v
  42133. return s
  42134. }
  42135. // SetEbs sets the Ebs field's value.
  42136. func (s *InstanceBlockDeviceMapping) SetEbs(v *EbsInstanceBlockDevice) *InstanceBlockDeviceMapping {
  42137. s.Ebs = v
  42138. return s
  42139. }
  42140. // Describes a block device mapping entry.
  42141. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceBlockDeviceMappingSpecification
  42142. type InstanceBlockDeviceMappingSpecification struct {
  42143. _ struct{} `type:"structure"`
  42144. // The device name (for example, /dev/sdh or xvdh).
  42145. DeviceName *string `locationName:"deviceName" type:"string"`
  42146. // Parameters used to automatically set up EBS volumes when the instance is
  42147. // launched.
  42148. Ebs *EbsInstanceBlockDeviceSpecification `locationName:"ebs" type:"structure"`
  42149. // suppress the specified device included in the block device mapping.
  42150. NoDevice *string `locationName:"noDevice" type:"string"`
  42151. // The virtual device name.
  42152. VirtualName *string `locationName:"virtualName" type:"string"`
  42153. }
  42154. // String returns the string representation
  42155. func (s InstanceBlockDeviceMappingSpecification) String() string {
  42156. return awsutil.Prettify(s)
  42157. }
  42158. // GoString returns the string representation
  42159. func (s InstanceBlockDeviceMappingSpecification) GoString() string {
  42160. return s.String()
  42161. }
  42162. // SetDeviceName sets the DeviceName field's value.
  42163. func (s *InstanceBlockDeviceMappingSpecification) SetDeviceName(v string) *InstanceBlockDeviceMappingSpecification {
  42164. s.DeviceName = &v
  42165. return s
  42166. }
  42167. // SetEbs sets the Ebs field's value.
  42168. func (s *InstanceBlockDeviceMappingSpecification) SetEbs(v *EbsInstanceBlockDeviceSpecification) *InstanceBlockDeviceMappingSpecification {
  42169. s.Ebs = v
  42170. return s
  42171. }
  42172. // SetNoDevice sets the NoDevice field's value.
  42173. func (s *InstanceBlockDeviceMappingSpecification) SetNoDevice(v string) *InstanceBlockDeviceMappingSpecification {
  42174. s.NoDevice = &v
  42175. return s
  42176. }
  42177. // SetVirtualName sets the VirtualName field's value.
  42178. func (s *InstanceBlockDeviceMappingSpecification) SetVirtualName(v string) *InstanceBlockDeviceMappingSpecification {
  42179. s.VirtualName = &v
  42180. return s
  42181. }
  42182. // Information about the instance type that the Dedicated Host supports.
  42183. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceCapacity
  42184. type InstanceCapacity struct {
  42185. _ struct{} `type:"structure"`
  42186. // The number of instances that can still be launched onto the Dedicated Host.
  42187. AvailableCapacity *int64 `locationName:"availableCapacity" type:"integer"`
  42188. // The instance type size supported by the Dedicated Host.
  42189. InstanceType *string `locationName:"instanceType" type:"string"`
  42190. // The total number of instances that can be launched onto the Dedicated Host.
  42191. TotalCapacity *int64 `locationName:"totalCapacity" type:"integer"`
  42192. }
  42193. // String returns the string representation
  42194. func (s InstanceCapacity) String() string {
  42195. return awsutil.Prettify(s)
  42196. }
  42197. // GoString returns the string representation
  42198. func (s InstanceCapacity) GoString() string {
  42199. return s.String()
  42200. }
  42201. // SetAvailableCapacity sets the AvailableCapacity field's value.
  42202. func (s *InstanceCapacity) SetAvailableCapacity(v int64) *InstanceCapacity {
  42203. s.AvailableCapacity = &v
  42204. return s
  42205. }
  42206. // SetInstanceType sets the InstanceType field's value.
  42207. func (s *InstanceCapacity) SetInstanceType(v string) *InstanceCapacity {
  42208. s.InstanceType = &v
  42209. return s
  42210. }
  42211. // SetTotalCapacity sets the TotalCapacity field's value.
  42212. func (s *InstanceCapacity) SetTotalCapacity(v int64) *InstanceCapacity {
  42213. s.TotalCapacity = &v
  42214. return s
  42215. }
  42216. // Describes a Reserved Instance listing state.
  42217. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceCount
  42218. type InstanceCount struct {
  42219. _ struct{} `type:"structure"`
  42220. // The number of listed Reserved Instances in the state specified by the state.
  42221. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  42222. // The states of the listed Reserved Instances.
  42223. State *string `locationName:"state" type:"string" enum:"ListingState"`
  42224. }
  42225. // String returns the string representation
  42226. func (s InstanceCount) String() string {
  42227. return awsutil.Prettify(s)
  42228. }
  42229. // GoString returns the string representation
  42230. func (s InstanceCount) GoString() string {
  42231. return s.String()
  42232. }
  42233. // SetInstanceCount sets the InstanceCount field's value.
  42234. func (s *InstanceCount) SetInstanceCount(v int64) *InstanceCount {
  42235. s.InstanceCount = &v
  42236. return s
  42237. }
  42238. // SetState sets the State field's value.
  42239. func (s *InstanceCount) SetState(v string) *InstanceCount {
  42240. s.State = &v
  42241. return s
  42242. }
  42243. // Describes the credit option for CPU usage of a T2 instance.
  42244. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceCreditSpecification
  42245. type InstanceCreditSpecification struct {
  42246. _ struct{} `type:"structure"`
  42247. // The credit option for CPU usage of the instance. Valid values are standard
  42248. // and unlimited.
  42249. CpuCredits *string `locationName:"cpuCredits" type:"string"`
  42250. // The ID of the instance.
  42251. InstanceId *string `locationName:"instanceId" type:"string"`
  42252. }
  42253. // String returns the string representation
  42254. func (s InstanceCreditSpecification) String() string {
  42255. return awsutil.Prettify(s)
  42256. }
  42257. // GoString returns the string representation
  42258. func (s InstanceCreditSpecification) GoString() string {
  42259. return s.String()
  42260. }
  42261. // SetCpuCredits sets the CpuCredits field's value.
  42262. func (s *InstanceCreditSpecification) SetCpuCredits(v string) *InstanceCreditSpecification {
  42263. s.CpuCredits = &v
  42264. return s
  42265. }
  42266. // SetInstanceId sets the InstanceId field's value.
  42267. func (s *InstanceCreditSpecification) SetInstanceId(v string) *InstanceCreditSpecification {
  42268. s.InstanceId = &v
  42269. return s
  42270. }
  42271. // Describes the credit option for CPU usage of a T2 instance.
  42272. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceCreditSpecificationRequest
  42273. type InstanceCreditSpecificationRequest struct {
  42274. _ struct{} `type:"structure"`
  42275. // The credit option for CPU usage of the instance. Valid values are standard
  42276. // and unlimited.
  42277. CpuCredits *string `type:"string"`
  42278. // The ID of the instance.
  42279. InstanceId *string `type:"string"`
  42280. }
  42281. // String returns the string representation
  42282. func (s InstanceCreditSpecificationRequest) String() string {
  42283. return awsutil.Prettify(s)
  42284. }
  42285. // GoString returns the string representation
  42286. func (s InstanceCreditSpecificationRequest) GoString() string {
  42287. return s.String()
  42288. }
  42289. // SetCpuCredits sets the CpuCredits field's value.
  42290. func (s *InstanceCreditSpecificationRequest) SetCpuCredits(v string) *InstanceCreditSpecificationRequest {
  42291. s.CpuCredits = &v
  42292. return s
  42293. }
  42294. // SetInstanceId sets the InstanceId field's value.
  42295. func (s *InstanceCreditSpecificationRequest) SetInstanceId(v string) *InstanceCreditSpecificationRequest {
  42296. s.InstanceId = &v
  42297. return s
  42298. }
  42299. // Describes an instance to export.
  42300. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceExportDetails
  42301. type InstanceExportDetails struct {
  42302. _ struct{} `type:"structure"`
  42303. // The ID of the resource being exported.
  42304. InstanceId *string `locationName:"instanceId" type:"string"`
  42305. // The target virtualization environment.
  42306. TargetEnvironment *string `locationName:"targetEnvironment" type:"string" enum:"ExportEnvironment"`
  42307. }
  42308. // String returns the string representation
  42309. func (s InstanceExportDetails) String() string {
  42310. return awsutil.Prettify(s)
  42311. }
  42312. // GoString returns the string representation
  42313. func (s InstanceExportDetails) GoString() string {
  42314. return s.String()
  42315. }
  42316. // SetInstanceId sets the InstanceId field's value.
  42317. func (s *InstanceExportDetails) SetInstanceId(v string) *InstanceExportDetails {
  42318. s.InstanceId = &v
  42319. return s
  42320. }
  42321. // SetTargetEnvironment sets the TargetEnvironment field's value.
  42322. func (s *InstanceExportDetails) SetTargetEnvironment(v string) *InstanceExportDetails {
  42323. s.TargetEnvironment = &v
  42324. return s
  42325. }
  42326. // Describes an IPv6 address.
  42327. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceIpv6Address
  42328. type InstanceIpv6Address struct {
  42329. _ struct{} `type:"structure"`
  42330. // The IPv6 address.
  42331. Ipv6Address *string `locationName:"ipv6Address" type:"string"`
  42332. }
  42333. // String returns the string representation
  42334. func (s InstanceIpv6Address) String() string {
  42335. return awsutil.Prettify(s)
  42336. }
  42337. // GoString returns the string representation
  42338. func (s InstanceIpv6Address) GoString() string {
  42339. return s.String()
  42340. }
  42341. // SetIpv6Address sets the Ipv6Address field's value.
  42342. func (s *InstanceIpv6Address) SetIpv6Address(v string) *InstanceIpv6Address {
  42343. s.Ipv6Address = &v
  42344. return s
  42345. }
  42346. // Describes an IPv6 address.
  42347. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceIpv6AddressRequest
  42348. type InstanceIpv6AddressRequest struct {
  42349. _ struct{} `type:"structure"`
  42350. // The IPv6 address.
  42351. Ipv6Address *string `type:"string"`
  42352. }
  42353. // String returns the string representation
  42354. func (s InstanceIpv6AddressRequest) String() string {
  42355. return awsutil.Prettify(s)
  42356. }
  42357. // GoString returns the string representation
  42358. func (s InstanceIpv6AddressRequest) GoString() string {
  42359. return s.String()
  42360. }
  42361. // SetIpv6Address sets the Ipv6Address field's value.
  42362. func (s *InstanceIpv6AddressRequest) SetIpv6Address(v string) *InstanceIpv6AddressRequest {
  42363. s.Ipv6Address = &v
  42364. return s
  42365. }
  42366. // Describes the market (purchasing) option for the instances.
  42367. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceMarketOptionsRequest
  42368. type InstanceMarketOptionsRequest struct {
  42369. _ struct{} `type:"structure"`
  42370. // The market type.
  42371. MarketType *string `type:"string" enum:"MarketType"`
  42372. // The options for Spot Instances.
  42373. SpotOptions *SpotMarketOptions `type:"structure"`
  42374. }
  42375. // String returns the string representation
  42376. func (s InstanceMarketOptionsRequest) String() string {
  42377. return awsutil.Prettify(s)
  42378. }
  42379. // GoString returns the string representation
  42380. func (s InstanceMarketOptionsRequest) GoString() string {
  42381. return s.String()
  42382. }
  42383. // SetMarketType sets the MarketType field's value.
  42384. func (s *InstanceMarketOptionsRequest) SetMarketType(v string) *InstanceMarketOptionsRequest {
  42385. s.MarketType = &v
  42386. return s
  42387. }
  42388. // SetSpotOptions sets the SpotOptions field's value.
  42389. func (s *InstanceMarketOptionsRequest) SetSpotOptions(v *SpotMarketOptions) *InstanceMarketOptionsRequest {
  42390. s.SpotOptions = v
  42391. return s
  42392. }
  42393. // Describes the monitoring of an instance.
  42394. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceMonitoring
  42395. type InstanceMonitoring struct {
  42396. _ struct{} `type:"structure"`
  42397. // The ID of the instance.
  42398. InstanceId *string `locationName:"instanceId" type:"string"`
  42399. // The monitoring for the instance.
  42400. Monitoring *Monitoring `locationName:"monitoring" type:"structure"`
  42401. }
  42402. // String returns the string representation
  42403. func (s InstanceMonitoring) String() string {
  42404. return awsutil.Prettify(s)
  42405. }
  42406. // GoString returns the string representation
  42407. func (s InstanceMonitoring) GoString() string {
  42408. return s.String()
  42409. }
  42410. // SetInstanceId sets the InstanceId field's value.
  42411. func (s *InstanceMonitoring) SetInstanceId(v string) *InstanceMonitoring {
  42412. s.InstanceId = &v
  42413. return s
  42414. }
  42415. // SetMonitoring sets the Monitoring field's value.
  42416. func (s *InstanceMonitoring) SetMonitoring(v *Monitoring) *InstanceMonitoring {
  42417. s.Monitoring = v
  42418. return s
  42419. }
  42420. // Describes a network interface.
  42421. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceNetworkInterface
  42422. type InstanceNetworkInterface struct {
  42423. _ struct{} `type:"structure"`
  42424. // The association information for an Elastic IPv4 associated with the network
  42425. // interface.
  42426. Association *InstanceNetworkInterfaceAssociation `locationName:"association" type:"structure"`
  42427. // The network interface attachment.
  42428. Attachment *InstanceNetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
  42429. // The description.
  42430. Description *string `locationName:"description" type:"string"`
  42431. // One or more security groups.
  42432. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  42433. // One or more IPv6 addresses associated with the network interface.
  42434. Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6AddressesSet" locationNameList:"item" type:"list"`
  42435. // The MAC address.
  42436. MacAddress *string `locationName:"macAddress" type:"string"`
  42437. // The ID of the network interface.
  42438. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  42439. // The ID of the AWS account that created the network interface.
  42440. OwnerId *string `locationName:"ownerId" type:"string"`
  42441. // The private DNS name.
  42442. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  42443. // The IPv4 address of the network interface within the subnet.
  42444. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  42445. // One or more private IPv4 addresses associated with the network interface.
  42446. PrivateIpAddresses []*InstancePrivateIpAddress `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"`
  42447. // Indicates whether to validate network traffic to or from this network interface.
  42448. SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
  42449. // The status of the network interface.
  42450. Status *string `locationName:"status" type:"string" enum:"NetworkInterfaceStatus"`
  42451. // The ID of the subnet.
  42452. SubnetId *string `locationName:"subnetId" type:"string"`
  42453. // The ID of the VPC.
  42454. VpcId *string `locationName:"vpcId" type:"string"`
  42455. }
  42456. // String returns the string representation
  42457. func (s InstanceNetworkInterface) String() string {
  42458. return awsutil.Prettify(s)
  42459. }
  42460. // GoString returns the string representation
  42461. func (s InstanceNetworkInterface) GoString() string {
  42462. return s.String()
  42463. }
  42464. // SetAssociation sets the Association field's value.
  42465. func (s *InstanceNetworkInterface) SetAssociation(v *InstanceNetworkInterfaceAssociation) *InstanceNetworkInterface {
  42466. s.Association = v
  42467. return s
  42468. }
  42469. // SetAttachment sets the Attachment field's value.
  42470. func (s *InstanceNetworkInterface) SetAttachment(v *InstanceNetworkInterfaceAttachment) *InstanceNetworkInterface {
  42471. s.Attachment = v
  42472. return s
  42473. }
  42474. // SetDescription sets the Description field's value.
  42475. func (s *InstanceNetworkInterface) SetDescription(v string) *InstanceNetworkInterface {
  42476. s.Description = &v
  42477. return s
  42478. }
  42479. // SetGroups sets the Groups field's value.
  42480. func (s *InstanceNetworkInterface) SetGroups(v []*GroupIdentifier) *InstanceNetworkInterface {
  42481. s.Groups = v
  42482. return s
  42483. }
  42484. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  42485. func (s *InstanceNetworkInterface) SetIpv6Addresses(v []*InstanceIpv6Address) *InstanceNetworkInterface {
  42486. s.Ipv6Addresses = v
  42487. return s
  42488. }
  42489. // SetMacAddress sets the MacAddress field's value.
  42490. func (s *InstanceNetworkInterface) SetMacAddress(v string) *InstanceNetworkInterface {
  42491. s.MacAddress = &v
  42492. return s
  42493. }
  42494. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  42495. func (s *InstanceNetworkInterface) SetNetworkInterfaceId(v string) *InstanceNetworkInterface {
  42496. s.NetworkInterfaceId = &v
  42497. return s
  42498. }
  42499. // SetOwnerId sets the OwnerId field's value.
  42500. func (s *InstanceNetworkInterface) SetOwnerId(v string) *InstanceNetworkInterface {
  42501. s.OwnerId = &v
  42502. return s
  42503. }
  42504. // SetPrivateDnsName sets the PrivateDnsName field's value.
  42505. func (s *InstanceNetworkInterface) SetPrivateDnsName(v string) *InstanceNetworkInterface {
  42506. s.PrivateDnsName = &v
  42507. return s
  42508. }
  42509. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  42510. func (s *InstanceNetworkInterface) SetPrivateIpAddress(v string) *InstanceNetworkInterface {
  42511. s.PrivateIpAddress = &v
  42512. return s
  42513. }
  42514. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  42515. func (s *InstanceNetworkInterface) SetPrivateIpAddresses(v []*InstancePrivateIpAddress) *InstanceNetworkInterface {
  42516. s.PrivateIpAddresses = v
  42517. return s
  42518. }
  42519. // SetSourceDestCheck sets the SourceDestCheck field's value.
  42520. func (s *InstanceNetworkInterface) SetSourceDestCheck(v bool) *InstanceNetworkInterface {
  42521. s.SourceDestCheck = &v
  42522. return s
  42523. }
  42524. // SetStatus sets the Status field's value.
  42525. func (s *InstanceNetworkInterface) SetStatus(v string) *InstanceNetworkInterface {
  42526. s.Status = &v
  42527. return s
  42528. }
  42529. // SetSubnetId sets the SubnetId field's value.
  42530. func (s *InstanceNetworkInterface) SetSubnetId(v string) *InstanceNetworkInterface {
  42531. s.SubnetId = &v
  42532. return s
  42533. }
  42534. // SetVpcId sets the VpcId field's value.
  42535. func (s *InstanceNetworkInterface) SetVpcId(v string) *InstanceNetworkInterface {
  42536. s.VpcId = &v
  42537. return s
  42538. }
  42539. // Describes association information for an Elastic IP address (IPv4).
  42540. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceNetworkInterfaceAssociation
  42541. type InstanceNetworkInterfaceAssociation struct {
  42542. _ struct{} `type:"structure"`
  42543. // The ID of the owner of the Elastic IP address.
  42544. IpOwnerId *string `locationName:"ipOwnerId" type:"string"`
  42545. // The public DNS name.
  42546. PublicDnsName *string `locationName:"publicDnsName" type:"string"`
  42547. // The public IP address or Elastic IP address bound to the network interface.
  42548. PublicIp *string `locationName:"publicIp" type:"string"`
  42549. }
  42550. // String returns the string representation
  42551. func (s InstanceNetworkInterfaceAssociation) String() string {
  42552. return awsutil.Prettify(s)
  42553. }
  42554. // GoString returns the string representation
  42555. func (s InstanceNetworkInterfaceAssociation) GoString() string {
  42556. return s.String()
  42557. }
  42558. // SetIpOwnerId sets the IpOwnerId field's value.
  42559. func (s *InstanceNetworkInterfaceAssociation) SetIpOwnerId(v string) *InstanceNetworkInterfaceAssociation {
  42560. s.IpOwnerId = &v
  42561. return s
  42562. }
  42563. // SetPublicDnsName sets the PublicDnsName field's value.
  42564. func (s *InstanceNetworkInterfaceAssociation) SetPublicDnsName(v string) *InstanceNetworkInterfaceAssociation {
  42565. s.PublicDnsName = &v
  42566. return s
  42567. }
  42568. // SetPublicIp sets the PublicIp field's value.
  42569. func (s *InstanceNetworkInterfaceAssociation) SetPublicIp(v string) *InstanceNetworkInterfaceAssociation {
  42570. s.PublicIp = &v
  42571. return s
  42572. }
  42573. // Describes a network interface attachment.
  42574. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceNetworkInterfaceAttachment
  42575. type InstanceNetworkInterfaceAttachment struct {
  42576. _ struct{} `type:"structure"`
  42577. // The time stamp when the attachment initiated.
  42578. AttachTime *time.Time `locationName:"attachTime" type:"timestamp" timestampFormat:"iso8601"`
  42579. // The ID of the network interface attachment.
  42580. AttachmentId *string `locationName:"attachmentId" type:"string"`
  42581. // Indicates whether the network interface is deleted when the instance is terminated.
  42582. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  42583. // The index of the device on the instance for the network interface attachment.
  42584. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
  42585. // The attachment state.
  42586. Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
  42587. }
  42588. // String returns the string representation
  42589. func (s InstanceNetworkInterfaceAttachment) String() string {
  42590. return awsutil.Prettify(s)
  42591. }
  42592. // GoString returns the string representation
  42593. func (s InstanceNetworkInterfaceAttachment) GoString() string {
  42594. return s.String()
  42595. }
  42596. // SetAttachTime sets the AttachTime field's value.
  42597. func (s *InstanceNetworkInterfaceAttachment) SetAttachTime(v time.Time) *InstanceNetworkInterfaceAttachment {
  42598. s.AttachTime = &v
  42599. return s
  42600. }
  42601. // SetAttachmentId sets the AttachmentId field's value.
  42602. func (s *InstanceNetworkInterfaceAttachment) SetAttachmentId(v string) *InstanceNetworkInterfaceAttachment {
  42603. s.AttachmentId = &v
  42604. return s
  42605. }
  42606. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  42607. func (s *InstanceNetworkInterfaceAttachment) SetDeleteOnTermination(v bool) *InstanceNetworkInterfaceAttachment {
  42608. s.DeleteOnTermination = &v
  42609. return s
  42610. }
  42611. // SetDeviceIndex sets the DeviceIndex field's value.
  42612. func (s *InstanceNetworkInterfaceAttachment) SetDeviceIndex(v int64) *InstanceNetworkInterfaceAttachment {
  42613. s.DeviceIndex = &v
  42614. return s
  42615. }
  42616. // SetStatus sets the Status field's value.
  42617. func (s *InstanceNetworkInterfaceAttachment) SetStatus(v string) *InstanceNetworkInterfaceAttachment {
  42618. s.Status = &v
  42619. return s
  42620. }
  42621. // Describes a network interface.
  42622. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceNetworkInterfaceSpecification
  42623. type InstanceNetworkInterfaceSpecification struct {
  42624. _ struct{} `type:"structure"`
  42625. // Indicates whether to assign a public IPv4 address to an instance you launch
  42626. // in a VPC. The public IP address can only be assigned to a network interface
  42627. // for eth0, and can only be assigned to a new network interface, not an existing
  42628. // one. You cannot specify more than one network interface in the request. If
  42629. // launching into a default subnet, the default value is true.
  42630. AssociatePublicIpAddress *bool `locationName:"associatePublicIpAddress" type:"boolean"`
  42631. // If set to true, the interface is deleted when the instance is terminated.
  42632. // You can specify true only if creating a new network interface when launching
  42633. // an instance.
  42634. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  42635. // The description of the network interface. Applies only if creating a network
  42636. // interface when launching an instance.
  42637. Description *string `locationName:"description" type:"string"`
  42638. // The index of the device on the instance for the network interface attachment.
  42639. // If you are specifying a network interface in a RunInstances request, you
  42640. // must provide the device index.
  42641. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
  42642. // The IDs of the security groups for the network interface. Applies only if
  42643. // creating a network interface when launching an instance.
  42644. Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  42645. // A number of IPv6 addresses to assign to the network interface. Amazon EC2
  42646. // chooses the IPv6 addresses from the range of the subnet. You cannot specify
  42647. // this option and the option to assign specific IPv6 addresses in the same
  42648. // request. You can specify this option if you've specified a minimum number
  42649. // of instances to launch.
  42650. Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
  42651. // One or more IPv6 addresses to assign to the network interface. You cannot
  42652. // specify this option and the option to assign a number of IPv6 addresses in
  42653. // the same request. You cannot specify this option if you've specified a minimum
  42654. // number of instances to launch.
  42655. Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6AddressesSet" queryName:"Ipv6Addresses" locationNameList:"item" type:"list"`
  42656. // The ID of the network interface.
  42657. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  42658. // The private IPv4 address of the network interface. Applies only if creating
  42659. // a network interface when launching an instance. You cannot specify this option
  42660. // if you're launching more than one instance in a RunInstances request.
  42661. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  42662. // One or more private IPv4 addresses to assign to the network interface. Only
  42663. // one private IPv4 address can be designated as primary. You cannot specify
  42664. // this option if you're launching more than one instance in a RunInstances
  42665. // request.
  42666. PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddressesSet" queryName:"PrivateIpAddresses" locationNameList:"item" type:"list"`
  42667. // The number of secondary private IPv4 addresses. You can't specify this option
  42668. // and specify more than one private IP address using the private IP addresses
  42669. // option. You cannot specify this option if you're launching more than one
  42670. // instance in a RunInstances request.
  42671. SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
  42672. // The ID of the subnet associated with the network string. Applies only if
  42673. // creating a network interface when launching an instance.
  42674. SubnetId *string `locationName:"subnetId" type:"string"`
  42675. }
  42676. // String returns the string representation
  42677. func (s InstanceNetworkInterfaceSpecification) String() string {
  42678. return awsutil.Prettify(s)
  42679. }
  42680. // GoString returns the string representation
  42681. func (s InstanceNetworkInterfaceSpecification) GoString() string {
  42682. return s.String()
  42683. }
  42684. // Validate inspects the fields of the type to determine if they are valid.
  42685. func (s *InstanceNetworkInterfaceSpecification) Validate() error {
  42686. invalidParams := request.ErrInvalidParams{Context: "InstanceNetworkInterfaceSpecification"}
  42687. if s.PrivateIpAddresses != nil {
  42688. for i, v := range s.PrivateIpAddresses {
  42689. if v == nil {
  42690. continue
  42691. }
  42692. if err := v.Validate(); err != nil {
  42693. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PrivateIpAddresses", i), err.(request.ErrInvalidParams))
  42694. }
  42695. }
  42696. }
  42697. if invalidParams.Len() > 0 {
  42698. return invalidParams
  42699. }
  42700. return nil
  42701. }
  42702. // SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
  42703. func (s *InstanceNetworkInterfaceSpecification) SetAssociatePublicIpAddress(v bool) *InstanceNetworkInterfaceSpecification {
  42704. s.AssociatePublicIpAddress = &v
  42705. return s
  42706. }
  42707. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  42708. func (s *InstanceNetworkInterfaceSpecification) SetDeleteOnTermination(v bool) *InstanceNetworkInterfaceSpecification {
  42709. s.DeleteOnTermination = &v
  42710. return s
  42711. }
  42712. // SetDescription sets the Description field's value.
  42713. func (s *InstanceNetworkInterfaceSpecification) SetDescription(v string) *InstanceNetworkInterfaceSpecification {
  42714. s.Description = &v
  42715. return s
  42716. }
  42717. // SetDeviceIndex sets the DeviceIndex field's value.
  42718. func (s *InstanceNetworkInterfaceSpecification) SetDeviceIndex(v int64) *InstanceNetworkInterfaceSpecification {
  42719. s.DeviceIndex = &v
  42720. return s
  42721. }
  42722. // SetGroups sets the Groups field's value.
  42723. func (s *InstanceNetworkInterfaceSpecification) SetGroups(v []*string) *InstanceNetworkInterfaceSpecification {
  42724. s.Groups = v
  42725. return s
  42726. }
  42727. // SetIpv6AddressCount sets the Ipv6AddressCount field's value.
  42728. func (s *InstanceNetworkInterfaceSpecification) SetIpv6AddressCount(v int64) *InstanceNetworkInterfaceSpecification {
  42729. s.Ipv6AddressCount = &v
  42730. return s
  42731. }
  42732. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  42733. func (s *InstanceNetworkInterfaceSpecification) SetIpv6Addresses(v []*InstanceIpv6Address) *InstanceNetworkInterfaceSpecification {
  42734. s.Ipv6Addresses = v
  42735. return s
  42736. }
  42737. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  42738. func (s *InstanceNetworkInterfaceSpecification) SetNetworkInterfaceId(v string) *InstanceNetworkInterfaceSpecification {
  42739. s.NetworkInterfaceId = &v
  42740. return s
  42741. }
  42742. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  42743. func (s *InstanceNetworkInterfaceSpecification) SetPrivateIpAddress(v string) *InstanceNetworkInterfaceSpecification {
  42744. s.PrivateIpAddress = &v
  42745. return s
  42746. }
  42747. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  42748. func (s *InstanceNetworkInterfaceSpecification) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *InstanceNetworkInterfaceSpecification {
  42749. s.PrivateIpAddresses = v
  42750. return s
  42751. }
  42752. // SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
  42753. func (s *InstanceNetworkInterfaceSpecification) SetSecondaryPrivateIpAddressCount(v int64) *InstanceNetworkInterfaceSpecification {
  42754. s.SecondaryPrivateIpAddressCount = &v
  42755. return s
  42756. }
  42757. // SetSubnetId sets the SubnetId field's value.
  42758. func (s *InstanceNetworkInterfaceSpecification) SetSubnetId(v string) *InstanceNetworkInterfaceSpecification {
  42759. s.SubnetId = &v
  42760. return s
  42761. }
  42762. // Describes a private IPv4 address.
  42763. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstancePrivateIpAddress
  42764. type InstancePrivateIpAddress struct {
  42765. _ struct{} `type:"structure"`
  42766. // The association information for an Elastic IP address for the network interface.
  42767. Association *InstanceNetworkInterfaceAssociation `locationName:"association" type:"structure"`
  42768. // Indicates whether this IPv4 address is the primary private IP address of
  42769. // the network interface.
  42770. Primary *bool `locationName:"primary" type:"boolean"`
  42771. // The private IPv4 DNS name.
  42772. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  42773. // The private IPv4 address of the network interface.
  42774. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  42775. }
  42776. // String returns the string representation
  42777. func (s InstancePrivateIpAddress) String() string {
  42778. return awsutil.Prettify(s)
  42779. }
  42780. // GoString returns the string representation
  42781. func (s InstancePrivateIpAddress) GoString() string {
  42782. return s.String()
  42783. }
  42784. // SetAssociation sets the Association field's value.
  42785. func (s *InstancePrivateIpAddress) SetAssociation(v *InstanceNetworkInterfaceAssociation) *InstancePrivateIpAddress {
  42786. s.Association = v
  42787. return s
  42788. }
  42789. // SetPrimary sets the Primary field's value.
  42790. func (s *InstancePrivateIpAddress) SetPrimary(v bool) *InstancePrivateIpAddress {
  42791. s.Primary = &v
  42792. return s
  42793. }
  42794. // SetPrivateDnsName sets the PrivateDnsName field's value.
  42795. func (s *InstancePrivateIpAddress) SetPrivateDnsName(v string) *InstancePrivateIpAddress {
  42796. s.PrivateDnsName = &v
  42797. return s
  42798. }
  42799. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  42800. func (s *InstancePrivateIpAddress) SetPrivateIpAddress(v string) *InstancePrivateIpAddress {
  42801. s.PrivateIpAddress = &v
  42802. return s
  42803. }
  42804. // Describes the current state of an instance.
  42805. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceState
  42806. type InstanceState struct {
  42807. _ struct{} `type:"structure"`
  42808. // The low byte represents the state. The high byte is an opaque internal value
  42809. // and should be ignored.
  42810. //
  42811. // * 0 : pending
  42812. //
  42813. // * 16 : running
  42814. //
  42815. // * 32 : shutting-down
  42816. //
  42817. // * 48 : terminated
  42818. //
  42819. // * 64 : stopping
  42820. //
  42821. // * 80 : stopped
  42822. Code *int64 `locationName:"code" type:"integer"`
  42823. // The current state of the instance.
  42824. Name *string `locationName:"name" type:"string" enum:"InstanceStateName"`
  42825. }
  42826. // String returns the string representation
  42827. func (s InstanceState) String() string {
  42828. return awsutil.Prettify(s)
  42829. }
  42830. // GoString returns the string representation
  42831. func (s InstanceState) GoString() string {
  42832. return s.String()
  42833. }
  42834. // SetCode sets the Code field's value.
  42835. func (s *InstanceState) SetCode(v int64) *InstanceState {
  42836. s.Code = &v
  42837. return s
  42838. }
  42839. // SetName sets the Name field's value.
  42840. func (s *InstanceState) SetName(v string) *InstanceState {
  42841. s.Name = &v
  42842. return s
  42843. }
  42844. // Describes an instance state change.
  42845. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceStateChange
  42846. type InstanceStateChange struct {
  42847. _ struct{} `type:"structure"`
  42848. // The current state of the instance.
  42849. CurrentState *InstanceState `locationName:"currentState" type:"structure"`
  42850. // The ID of the instance.
  42851. InstanceId *string `locationName:"instanceId" type:"string"`
  42852. // The previous state of the instance.
  42853. PreviousState *InstanceState `locationName:"previousState" type:"structure"`
  42854. }
  42855. // String returns the string representation
  42856. func (s InstanceStateChange) String() string {
  42857. return awsutil.Prettify(s)
  42858. }
  42859. // GoString returns the string representation
  42860. func (s InstanceStateChange) GoString() string {
  42861. return s.String()
  42862. }
  42863. // SetCurrentState sets the CurrentState field's value.
  42864. func (s *InstanceStateChange) SetCurrentState(v *InstanceState) *InstanceStateChange {
  42865. s.CurrentState = v
  42866. return s
  42867. }
  42868. // SetInstanceId sets the InstanceId field's value.
  42869. func (s *InstanceStateChange) SetInstanceId(v string) *InstanceStateChange {
  42870. s.InstanceId = &v
  42871. return s
  42872. }
  42873. // SetPreviousState sets the PreviousState field's value.
  42874. func (s *InstanceStateChange) SetPreviousState(v *InstanceState) *InstanceStateChange {
  42875. s.PreviousState = v
  42876. return s
  42877. }
  42878. // Describes the status of an instance.
  42879. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceStatus
  42880. type InstanceStatus struct {
  42881. _ struct{} `type:"structure"`
  42882. // The Availability Zone of the instance.
  42883. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  42884. // Any scheduled events associated with the instance.
  42885. Events []*InstanceStatusEvent `locationName:"eventsSet" locationNameList:"item" type:"list"`
  42886. // The ID of the instance.
  42887. InstanceId *string `locationName:"instanceId" type:"string"`
  42888. // The intended state of the instance. DescribeInstanceStatus requires that
  42889. // an instance be in the running state.
  42890. InstanceState *InstanceState `locationName:"instanceState" type:"structure"`
  42891. // Reports impaired functionality that stems from issues internal to the instance,
  42892. // such as impaired reachability.
  42893. InstanceStatus *InstanceStatusSummary `locationName:"instanceStatus" type:"structure"`
  42894. // Reports impaired functionality that stems from issues related to the systems
  42895. // that support an instance, such as hardware failures and network connectivity
  42896. // problems.
  42897. SystemStatus *InstanceStatusSummary `locationName:"systemStatus" type:"structure"`
  42898. }
  42899. // String returns the string representation
  42900. func (s InstanceStatus) String() string {
  42901. return awsutil.Prettify(s)
  42902. }
  42903. // GoString returns the string representation
  42904. func (s InstanceStatus) GoString() string {
  42905. return s.String()
  42906. }
  42907. // SetAvailabilityZone sets the AvailabilityZone field's value.
  42908. func (s *InstanceStatus) SetAvailabilityZone(v string) *InstanceStatus {
  42909. s.AvailabilityZone = &v
  42910. return s
  42911. }
  42912. // SetEvents sets the Events field's value.
  42913. func (s *InstanceStatus) SetEvents(v []*InstanceStatusEvent) *InstanceStatus {
  42914. s.Events = v
  42915. return s
  42916. }
  42917. // SetInstanceId sets the InstanceId field's value.
  42918. func (s *InstanceStatus) SetInstanceId(v string) *InstanceStatus {
  42919. s.InstanceId = &v
  42920. return s
  42921. }
  42922. // SetInstanceState sets the InstanceState field's value.
  42923. func (s *InstanceStatus) SetInstanceState(v *InstanceState) *InstanceStatus {
  42924. s.InstanceState = v
  42925. return s
  42926. }
  42927. // SetInstanceStatus sets the InstanceStatus field's value.
  42928. func (s *InstanceStatus) SetInstanceStatus(v *InstanceStatusSummary) *InstanceStatus {
  42929. s.InstanceStatus = v
  42930. return s
  42931. }
  42932. // SetSystemStatus sets the SystemStatus field's value.
  42933. func (s *InstanceStatus) SetSystemStatus(v *InstanceStatusSummary) *InstanceStatus {
  42934. s.SystemStatus = v
  42935. return s
  42936. }
  42937. // Describes the instance status.
  42938. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceStatusDetails
  42939. type InstanceStatusDetails struct {
  42940. _ struct{} `type:"structure"`
  42941. // The time when a status check failed. For an instance that was launched and
  42942. // impaired, this is the time when the instance was launched.
  42943. ImpairedSince *time.Time `locationName:"impairedSince" type:"timestamp" timestampFormat:"iso8601"`
  42944. // The type of instance status.
  42945. Name *string `locationName:"name" type:"string" enum:"StatusName"`
  42946. // The status.
  42947. Status *string `locationName:"status" type:"string" enum:"StatusType"`
  42948. }
  42949. // String returns the string representation
  42950. func (s InstanceStatusDetails) String() string {
  42951. return awsutil.Prettify(s)
  42952. }
  42953. // GoString returns the string representation
  42954. func (s InstanceStatusDetails) GoString() string {
  42955. return s.String()
  42956. }
  42957. // SetImpairedSince sets the ImpairedSince field's value.
  42958. func (s *InstanceStatusDetails) SetImpairedSince(v time.Time) *InstanceStatusDetails {
  42959. s.ImpairedSince = &v
  42960. return s
  42961. }
  42962. // SetName sets the Name field's value.
  42963. func (s *InstanceStatusDetails) SetName(v string) *InstanceStatusDetails {
  42964. s.Name = &v
  42965. return s
  42966. }
  42967. // SetStatus sets the Status field's value.
  42968. func (s *InstanceStatusDetails) SetStatus(v string) *InstanceStatusDetails {
  42969. s.Status = &v
  42970. return s
  42971. }
  42972. // Describes a scheduled event for an instance.
  42973. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceStatusEvent
  42974. type InstanceStatusEvent struct {
  42975. _ struct{} `type:"structure"`
  42976. // The event code.
  42977. Code *string `locationName:"code" type:"string" enum:"EventCode"`
  42978. // A description of the event.
  42979. //
  42980. // After a scheduled event is completed, it can still be described for up to
  42981. // a week. If the event has been completed, this description starts with the
  42982. // following text: [Completed].
  42983. Description *string `locationName:"description" type:"string"`
  42984. // The latest scheduled end time for the event.
  42985. NotAfter *time.Time `locationName:"notAfter" type:"timestamp" timestampFormat:"iso8601"`
  42986. // The earliest scheduled start time for the event.
  42987. NotBefore *time.Time `locationName:"notBefore" type:"timestamp" timestampFormat:"iso8601"`
  42988. }
  42989. // String returns the string representation
  42990. func (s InstanceStatusEvent) String() string {
  42991. return awsutil.Prettify(s)
  42992. }
  42993. // GoString returns the string representation
  42994. func (s InstanceStatusEvent) GoString() string {
  42995. return s.String()
  42996. }
  42997. // SetCode sets the Code field's value.
  42998. func (s *InstanceStatusEvent) SetCode(v string) *InstanceStatusEvent {
  42999. s.Code = &v
  43000. return s
  43001. }
  43002. // SetDescription sets the Description field's value.
  43003. func (s *InstanceStatusEvent) SetDescription(v string) *InstanceStatusEvent {
  43004. s.Description = &v
  43005. return s
  43006. }
  43007. // SetNotAfter sets the NotAfter field's value.
  43008. func (s *InstanceStatusEvent) SetNotAfter(v time.Time) *InstanceStatusEvent {
  43009. s.NotAfter = &v
  43010. return s
  43011. }
  43012. // SetNotBefore sets the NotBefore field's value.
  43013. func (s *InstanceStatusEvent) SetNotBefore(v time.Time) *InstanceStatusEvent {
  43014. s.NotBefore = &v
  43015. return s
  43016. }
  43017. // Describes the status of an instance.
  43018. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceStatusSummary
  43019. type InstanceStatusSummary struct {
  43020. _ struct{} `type:"structure"`
  43021. // The system instance health or application instance health.
  43022. Details []*InstanceStatusDetails `locationName:"details" locationNameList:"item" type:"list"`
  43023. // The status.
  43024. Status *string `locationName:"status" type:"string" enum:"SummaryStatus"`
  43025. }
  43026. // String returns the string representation
  43027. func (s InstanceStatusSummary) String() string {
  43028. return awsutil.Prettify(s)
  43029. }
  43030. // GoString returns the string representation
  43031. func (s InstanceStatusSummary) GoString() string {
  43032. return s.String()
  43033. }
  43034. // SetDetails sets the Details field's value.
  43035. func (s *InstanceStatusSummary) SetDetails(v []*InstanceStatusDetails) *InstanceStatusSummary {
  43036. s.Details = v
  43037. return s
  43038. }
  43039. // SetStatus sets the Status field's value.
  43040. func (s *InstanceStatusSummary) SetStatus(v string) *InstanceStatusSummary {
  43041. s.Status = &v
  43042. return s
  43043. }
  43044. // Describes an Internet gateway.
  43045. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InternetGateway
  43046. type InternetGateway struct {
  43047. _ struct{} `type:"structure"`
  43048. // Any VPCs attached to the Internet gateway.
  43049. Attachments []*InternetGatewayAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
  43050. // The ID of the Internet gateway.
  43051. InternetGatewayId *string `locationName:"internetGatewayId" type:"string"`
  43052. // Any tags assigned to the Internet gateway.
  43053. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  43054. }
  43055. // String returns the string representation
  43056. func (s InternetGateway) String() string {
  43057. return awsutil.Prettify(s)
  43058. }
  43059. // GoString returns the string representation
  43060. func (s InternetGateway) GoString() string {
  43061. return s.String()
  43062. }
  43063. // SetAttachments sets the Attachments field's value.
  43064. func (s *InternetGateway) SetAttachments(v []*InternetGatewayAttachment) *InternetGateway {
  43065. s.Attachments = v
  43066. return s
  43067. }
  43068. // SetInternetGatewayId sets the InternetGatewayId field's value.
  43069. func (s *InternetGateway) SetInternetGatewayId(v string) *InternetGateway {
  43070. s.InternetGatewayId = &v
  43071. return s
  43072. }
  43073. // SetTags sets the Tags field's value.
  43074. func (s *InternetGateway) SetTags(v []*Tag) *InternetGateway {
  43075. s.Tags = v
  43076. return s
  43077. }
  43078. // Describes the attachment of a VPC to an Internet gateway or an egress-only
  43079. // Internet gateway.
  43080. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InternetGatewayAttachment
  43081. type InternetGatewayAttachment struct {
  43082. _ struct{} `type:"structure"`
  43083. // The current state of the attachment.
  43084. State *string `locationName:"state" type:"string" enum:"AttachmentStatus"`
  43085. // The ID of the VPC.
  43086. VpcId *string `locationName:"vpcId" type:"string"`
  43087. }
  43088. // String returns the string representation
  43089. func (s InternetGatewayAttachment) String() string {
  43090. return awsutil.Prettify(s)
  43091. }
  43092. // GoString returns the string representation
  43093. func (s InternetGatewayAttachment) GoString() string {
  43094. return s.String()
  43095. }
  43096. // SetState sets the State field's value.
  43097. func (s *InternetGatewayAttachment) SetState(v string) *InternetGatewayAttachment {
  43098. s.State = &v
  43099. return s
  43100. }
  43101. // SetVpcId sets the VpcId field's value.
  43102. func (s *InternetGatewayAttachment) SetVpcId(v string) *InternetGatewayAttachment {
  43103. s.VpcId = &v
  43104. return s
  43105. }
  43106. // Describes a set of permissions for a security group rule.
  43107. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/IpPermission
  43108. type IpPermission struct {
  43109. _ struct{} `type:"structure"`
  43110. // The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6
  43111. // type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify
  43112. // all ICMP/ICMPv6 types, you must specify all codes.
  43113. FromPort *int64 `locationName:"fromPort" type:"integer"`
  43114. // The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
  43115. //
  43116. // [EC2-VPC only] Use -1 to specify all protocols. When authorizing security
  43117. // group rules, specifying -1 or a protocol number other than tcp, udp, icmp,
  43118. // or 58 (ICMPv6) allows traffic on all ports, regardless of any port range
  43119. // you specify. For tcp, udp, and icmp, you must specify a port range. For 58
  43120. // (ICMPv6), you can optionally specify a port range; if you don't, traffic
  43121. // for all types and codes is allowed when authorizing rules.
  43122. IpProtocol *string `locationName:"ipProtocol" type:"string"`
  43123. // One or more IPv4 ranges.
  43124. IpRanges []*IpRange `locationName:"ipRanges" locationNameList:"item" type:"list"`
  43125. // [EC2-VPC only] One or more IPv6 ranges.
  43126. Ipv6Ranges []*Ipv6Range `locationName:"ipv6Ranges" locationNameList:"item" type:"list"`
  43127. // (EC2-VPC only; valid for AuthorizeSecurityGroupEgress, RevokeSecurityGroupEgress
  43128. // and DescribeSecurityGroups only) One or more prefix list IDs for an AWS service.
  43129. // In an AuthorizeSecurityGroupEgress request, this is the AWS service that
  43130. // you want to access through a VPC endpoint from instances associated with
  43131. // the security group.
  43132. PrefixListIds []*PrefixListId `locationName:"prefixListIds" locationNameList:"item" type:"list"`
  43133. // The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code.
  43134. // A value of -1 indicates all ICMP/ICMPv6 codes for the specified ICMP type.
  43135. // If you specify all ICMP/ICMPv6 types, you must specify all codes.
  43136. ToPort *int64 `locationName:"toPort" type:"integer"`
  43137. // One or more security group and AWS account ID pairs.
  43138. UserIdGroupPairs []*UserIdGroupPair `locationName:"groups" locationNameList:"item" type:"list"`
  43139. }
  43140. // String returns the string representation
  43141. func (s IpPermission) String() string {
  43142. return awsutil.Prettify(s)
  43143. }
  43144. // GoString returns the string representation
  43145. func (s IpPermission) GoString() string {
  43146. return s.String()
  43147. }
  43148. // SetFromPort sets the FromPort field's value.
  43149. func (s *IpPermission) SetFromPort(v int64) *IpPermission {
  43150. s.FromPort = &v
  43151. return s
  43152. }
  43153. // SetIpProtocol sets the IpProtocol field's value.
  43154. func (s *IpPermission) SetIpProtocol(v string) *IpPermission {
  43155. s.IpProtocol = &v
  43156. return s
  43157. }
  43158. // SetIpRanges sets the IpRanges field's value.
  43159. func (s *IpPermission) SetIpRanges(v []*IpRange) *IpPermission {
  43160. s.IpRanges = v
  43161. return s
  43162. }
  43163. // SetIpv6Ranges sets the Ipv6Ranges field's value.
  43164. func (s *IpPermission) SetIpv6Ranges(v []*Ipv6Range) *IpPermission {
  43165. s.Ipv6Ranges = v
  43166. return s
  43167. }
  43168. // SetPrefixListIds sets the PrefixListIds field's value.
  43169. func (s *IpPermission) SetPrefixListIds(v []*PrefixListId) *IpPermission {
  43170. s.PrefixListIds = v
  43171. return s
  43172. }
  43173. // SetToPort sets the ToPort field's value.
  43174. func (s *IpPermission) SetToPort(v int64) *IpPermission {
  43175. s.ToPort = &v
  43176. return s
  43177. }
  43178. // SetUserIdGroupPairs sets the UserIdGroupPairs field's value.
  43179. func (s *IpPermission) SetUserIdGroupPairs(v []*UserIdGroupPair) *IpPermission {
  43180. s.UserIdGroupPairs = v
  43181. return s
  43182. }
  43183. // Describes an IPv4 range.
  43184. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/IpRange
  43185. type IpRange struct {
  43186. _ struct{} `type:"structure"`
  43187. // The IPv4 CIDR range. You can either specify a CIDR range or a source security
  43188. // group, not both. To specify a single IPv4 address, use the /32 prefix length.
  43189. CidrIp *string `locationName:"cidrIp" type:"string"`
  43190. // A description for the security group rule that references this IPv4 address
  43191. // range.
  43192. //
  43193. // Constraints: Up to 255 characters in length. Allowed characters are a-z,
  43194. // A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*
  43195. Description *string `locationName:"description" type:"string"`
  43196. }
  43197. // String returns the string representation
  43198. func (s IpRange) String() string {
  43199. return awsutil.Prettify(s)
  43200. }
  43201. // GoString returns the string representation
  43202. func (s IpRange) GoString() string {
  43203. return s.String()
  43204. }
  43205. // SetCidrIp sets the CidrIp field's value.
  43206. func (s *IpRange) SetCidrIp(v string) *IpRange {
  43207. s.CidrIp = &v
  43208. return s
  43209. }
  43210. // SetDescription sets the Description field's value.
  43211. func (s *IpRange) SetDescription(v string) *IpRange {
  43212. s.Description = &v
  43213. return s
  43214. }
  43215. // Describes an IPv6 CIDR block.
  43216. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Ipv6CidrBlock
  43217. type Ipv6CidrBlock struct {
  43218. _ struct{} `type:"structure"`
  43219. // The IPv6 CIDR block.
  43220. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
  43221. }
  43222. // String returns the string representation
  43223. func (s Ipv6CidrBlock) String() string {
  43224. return awsutil.Prettify(s)
  43225. }
  43226. // GoString returns the string representation
  43227. func (s Ipv6CidrBlock) GoString() string {
  43228. return s.String()
  43229. }
  43230. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  43231. func (s *Ipv6CidrBlock) SetIpv6CidrBlock(v string) *Ipv6CidrBlock {
  43232. s.Ipv6CidrBlock = &v
  43233. return s
  43234. }
  43235. // [EC2-VPC only] Describes an IPv6 range.
  43236. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Ipv6Range
  43237. type Ipv6Range struct {
  43238. _ struct{} `type:"structure"`
  43239. // The IPv6 CIDR range. You can either specify a CIDR range or a source security
  43240. // group, not both. To specify a single IPv6 address, use the /128 prefix length.
  43241. CidrIpv6 *string `locationName:"cidrIpv6" type:"string"`
  43242. // A description for the security group rule that references this IPv6 address
  43243. // range.
  43244. //
  43245. // Constraints: Up to 255 characters in length. Allowed characters are a-z,
  43246. // A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*
  43247. Description *string `locationName:"description" type:"string"`
  43248. }
  43249. // String returns the string representation
  43250. func (s Ipv6Range) String() string {
  43251. return awsutil.Prettify(s)
  43252. }
  43253. // GoString returns the string representation
  43254. func (s Ipv6Range) GoString() string {
  43255. return s.String()
  43256. }
  43257. // SetCidrIpv6 sets the CidrIpv6 field's value.
  43258. func (s *Ipv6Range) SetCidrIpv6(v string) *Ipv6Range {
  43259. s.CidrIpv6 = &v
  43260. return s
  43261. }
  43262. // SetDescription sets the Description field's value.
  43263. func (s *Ipv6Range) SetDescription(v string) *Ipv6Range {
  43264. s.Description = &v
  43265. return s
  43266. }
  43267. // Describes a key pair.
  43268. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/KeyPairInfo
  43269. type KeyPairInfo struct {
  43270. _ struct{} `type:"structure"`
  43271. // If you used CreateKeyPair to create the key pair, this is the SHA-1 digest
  43272. // of the DER encoded private key. If you used ImportKeyPair to provide AWS
  43273. // the public key, this is the MD5 public key fingerprint as specified in section
  43274. // 4 of RFC4716.
  43275. KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
  43276. // The name of the key pair.
  43277. KeyName *string `locationName:"keyName" type:"string"`
  43278. }
  43279. // String returns the string representation
  43280. func (s KeyPairInfo) String() string {
  43281. return awsutil.Prettify(s)
  43282. }
  43283. // GoString returns the string representation
  43284. func (s KeyPairInfo) GoString() string {
  43285. return s.String()
  43286. }
  43287. // SetKeyFingerprint sets the KeyFingerprint field's value.
  43288. func (s *KeyPairInfo) SetKeyFingerprint(v string) *KeyPairInfo {
  43289. s.KeyFingerprint = &v
  43290. return s
  43291. }
  43292. // SetKeyName sets the KeyName field's value.
  43293. func (s *KeyPairInfo) SetKeyName(v string) *KeyPairInfo {
  43294. s.KeyName = &v
  43295. return s
  43296. }
  43297. // Describes a launch permission.
  43298. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchPermission
  43299. type LaunchPermission struct {
  43300. _ struct{} `type:"structure"`
  43301. // The name of the group.
  43302. Group *string `locationName:"group" type:"string" enum:"PermissionGroup"`
  43303. // The AWS account ID.
  43304. UserId *string `locationName:"userId" type:"string"`
  43305. }
  43306. // String returns the string representation
  43307. func (s LaunchPermission) String() string {
  43308. return awsutil.Prettify(s)
  43309. }
  43310. // GoString returns the string representation
  43311. func (s LaunchPermission) GoString() string {
  43312. return s.String()
  43313. }
  43314. // SetGroup sets the Group field's value.
  43315. func (s *LaunchPermission) SetGroup(v string) *LaunchPermission {
  43316. s.Group = &v
  43317. return s
  43318. }
  43319. // SetUserId sets the UserId field's value.
  43320. func (s *LaunchPermission) SetUserId(v string) *LaunchPermission {
  43321. s.UserId = &v
  43322. return s
  43323. }
  43324. // Describes a launch permission modification.
  43325. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchPermissionModifications
  43326. type LaunchPermissionModifications struct {
  43327. _ struct{} `type:"structure"`
  43328. // The AWS account ID to add to the list of launch permissions for the AMI.
  43329. Add []*LaunchPermission `locationNameList:"item" type:"list"`
  43330. // The AWS account ID to remove from the list of launch permissions for the
  43331. // AMI.
  43332. Remove []*LaunchPermission `locationNameList:"item" type:"list"`
  43333. }
  43334. // String returns the string representation
  43335. func (s LaunchPermissionModifications) String() string {
  43336. return awsutil.Prettify(s)
  43337. }
  43338. // GoString returns the string representation
  43339. func (s LaunchPermissionModifications) GoString() string {
  43340. return s.String()
  43341. }
  43342. // SetAdd sets the Add field's value.
  43343. func (s *LaunchPermissionModifications) SetAdd(v []*LaunchPermission) *LaunchPermissionModifications {
  43344. s.Add = v
  43345. return s
  43346. }
  43347. // SetRemove sets the Remove field's value.
  43348. func (s *LaunchPermissionModifications) SetRemove(v []*LaunchPermission) *LaunchPermissionModifications {
  43349. s.Remove = v
  43350. return s
  43351. }
  43352. // Describes the launch specification for an instance.
  43353. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchSpecification
  43354. type LaunchSpecification struct {
  43355. _ struct{} `type:"structure"`
  43356. // Deprecated.
  43357. AddressingType *string `locationName:"addressingType" type:"string"`
  43358. // One or more block device mapping entries.
  43359. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  43360. // Indicates whether the instance is optimized for EBS I/O. This optimization
  43361. // provides dedicated throughput to Amazon EBS and an optimized configuration
  43362. // stack to provide optimal EBS I/O performance. This optimization isn't available
  43363. // with all instance types. Additional usage charges apply when using an EBS
  43364. // Optimized instance.
  43365. //
  43366. // Default: false
  43367. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  43368. // The IAM instance profile.
  43369. IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
  43370. // The ID of the AMI.
  43371. ImageId *string `locationName:"imageId" type:"string"`
  43372. // The instance type.
  43373. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  43374. // The ID of the kernel.
  43375. KernelId *string `locationName:"kernelId" type:"string"`
  43376. // The name of the key pair.
  43377. KeyName *string `locationName:"keyName" type:"string"`
  43378. // Describes the monitoring of an instance.
  43379. Monitoring *RunInstancesMonitoringEnabled `locationName:"monitoring" type:"structure"`
  43380. // One or more network interfaces. If you specify a network interface, you must
  43381. // specify subnet IDs and security group IDs using the network interface.
  43382. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
  43383. // The placement information for the instance.
  43384. Placement *SpotPlacement `locationName:"placement" type:"structure"`
  43385. // The ID of the RAM disk.
  43386. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  43387. // One or more security groups. When requesting instances in a VPC, you must
  43388. // specify the IDs of the security groups. When requesting instances in EC2-Classic,
  43389. // you can specify the names or the IDs of the security groups.
  43390. SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  43391. // The ID of the subnet in which to launch the instance.
  43392. SubnetId *string `locationName:"subnetId" type:"string"`
  43393. // The user data to make available to the instances. If you are using an AWS
  43394. // SDK or command line tool, Base64-encoding is performed for you, and you can
  43395. // load the text from a file. Otherwise, you must provide Base64-encoded text.
  43396. UserData *string `locationName:"userData" type:"string"`
  43397. }
  43398. // String returns the string representation
  43399. func (s LaunchSpecification) String() string {
  43400. return awsutil.Prettify(s)
  43401. }
  43402. // GoString returns the string representation
  43403. func (s LaunchSpecification) GoString() string {
  43404. return s.String()
  43405. }
  43406. // SetAddressingType sets the AddressingType field's value.
  43407. func (s *LaunchSpecification) SetAddressingType(v string) *LaunchSpecification {
  43408. s.AddressingType = &v
  43409. return s
  43410. }
  43411. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  43412. func (s *LaunchSpecification) SetBlockDeviceMappings(v []*BlockDeviceMapping) *LaunchSpecification {
  43413. s.BlockDeviceMappings = v
  43414. return s
  43415. }
  43416. // SetEbsOptimized sets the EbsOptimized field's value.
  43417. func (s *LaunchSpecification) SetEbsOptimized(v bool) *LaunchSpecification {
  43418. s.EbsOptimized = &v
  43419. return s
  43420. }
  43421. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  43422. func (s *LaunchSpecification) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *LaunchSpecification {
  43423. s.IamInstanceProfile = v
  43424. return s
  43425. }
  43426. // SetImageId sets the ImageId field's value.
  43427. func (s *LaunchSpecification) SetImageId(v string) *LaunchSpecification {
  43428. s.ImageId = &v
  43429. return s
  43430. }
  43431. // SetInstanceType sets the InstanceType field's value.
  43432. func (s *LaunchSpecification) SetInstanceType(v string) *LaunchSpecification {
  43433. s.InstanceType = &v
  43434. return s
  43435. }
  43436. // SetKernelId sets the KernelId field's value.
  43437. func (s *LaunchSpecification) SetKernelId(v string) *LaunchSpecification {
  43438. s.KernelId = &v
  43439. return s
  43440. }
  43441. // SetKeyName sets the KeyName field's value.
  43442. func (s *LaunchSpecification) SetKeyName(v string) *LaunchSpecification {
  43443. s.KeyName = &v
  43444. return s
  43445. }
  43446. // SetMonitoring sets the Monitoring field's value.
  43447. func (s *LaunchSpecification) SetMonitoring(v *RunInstancesMonitoringEnabled) *LaunchSpecification {
  43448. s.Monitoring = v
  43449. return s
  43450. }
  43451. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  43452. func (s *LaunchSpecification) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *LaunchSpecification {
  43453. s.NetworkInterfaces = v
  43454. return s
  43455. }
  43456. // SetPlacement sets the Placement field's value.
  43457. func (s *LaunchSpecification) SetPlacement(v *SpotPlacement) *LaunchSpecification {
  43458. s.Placement = v
  43459. return s
  43460. }
  43461. // SetRamdiskId sets the RamdiskId field's value.
  43462. func (s *LaunchSpecification) SetRamdiskId(v string) *LaunchSpecification {
  43463. s.RamdiskId = &v
  43464. return s
  43465. }
  43466. // SetSecurityGroups sets the SecurityGroups field's value.
  43467. func (s *LaunchSpecification) SetSecurityGroups(v []*GroupIdentifier) *LaunchSpecification {
  43468. s.SecurityGroups = v
  43469. return s
  43470. }
  43471. // SetSubnetId sets the SubnetId field's value.
  43472. func (s *LaunchSpecification) SetSubnetId(v string) *LaunchSpecification {
  43473. s.SubnetId = &v
  43474. return s
  43475. }
  43476. // SetUserData sets the UserData field's value.
  43477. func (s *LaunchSpecification) SetUserData(v string) *LaunchSpecification {
  43478. s.UserData = &v
  43479. return s
  43480. }
  43481. // Describes a launch template.
  43482. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchTemplate
  43483. type LaunchTemplate struct {
  43484. _ struct{} `type:"structure"`
  43485. // The time launch template was created.
  43486. CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"`
  43487. // The principal that created the launch template.
  43488. CreatedBy *string `locationName:"createdBy" type:"string"`
  43489. // The version number of the default version of the launch template.
  43490. DefaultVersionNumber *int64 `locationName:"defaultVersionNumber" type:"long"`
  43491. // The version number of the latest version of the launch template.
  43492. LatestVersionNumber *int64 `locationName:"latestVersionNumber" type:"long"`
  43493. // The ID of the launch template.
  43494. LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
  43495. // The name of the launch template.
  43496. LaunchTemplateName *string `locationName:"launchTemplateName" min:"3" type:"string"`
  43497. // The tags for the launch template.
  43498. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  43499. }
  43500. // String returns the string representation
  43501. func (s LaunchTemplate) String() string {
  43502. return awsutil.Prettify(s)
  43503. }
  43504. // GoString returns the string representation
  43505. func (s LaunchTemplate) GoString() string {
  43506. return s.String()
  43507. }
  43508. // SetCreateTime sets the CreateTime field's value.
  43509. func (s *LaunchTemplate) SetCreateTime(v time.Time) *LaunchTemplate {
  43510. s.CreateTime = &v
  43511. return s
  43512. }
  43513. // SetCreatedBy sets the CreatedBy field's value.
  43514. func (s *LaunchTemplate) SetCreatedBy(v string) *LaunchTemplate {
  43515. s.CreatedBy = &v
  43516. return s
  43517. }
  43518. // SetDefaultVersionNumber sets the DefaultVersionNumber field's value.
  43519. func (s *LaunchTemplate) SetDefaultVersionNumber(v int64) *LaunchTemplate {
  43520. s.DefaultVersionNumber = &v
  43521. return s
  43522. }
  43523. // SetLatestVersionNumber sets the LatestVersionNumber field's value.
  43524. func (s *LaunchTemplate) SetLatestVersionNumber(v int64) *LaunchTemplate {
  43525. s.LatestVersionNumber = &v
  43526. return s
  43527. }
  43528. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  43529. func (s *LaunchTemplate) SetLaunchTemplateId(v string) *LaunchTemplate {
  43530. s.LaunchTemplateId = &v
  43531. return s
  43532. }
  43533. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  43534. func (s *LaunchTemplate) SetLaunchTemplateName(v string) *LaunchTemplate {
  43535. s.LaunchTemplateName = &v
  43536. return s
  43537. }
  43538. // SetTags sets the Tags field's value.
  43539. func (s *LaunchTemplate) SetTags(v []*Tag) *LaunchTemplate {
  43540. s.Tags = v
  43541. return s
  43542. }
  43543. // Describes a block device mapping.
  43544. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchTemplateBlockDeviceMapping
  43545. type LaunchTemplateBlockDeviceMapping struct {
  43546. _ struct{} `type:"structure"`
  43547. // The device name.
  43548. DeviceName *string `locationName:"deviceName" type:"string"`
  43549. // Information about the block device for an EBS volume.
  43550. Ebs *LaunchTemplateEbsBlockDevice `locationName:"ebs" type:"structure"`
  43551. // Suppresses the specified device included in the block device mapping of the
  43552. // AMI.
  43553. NoDevice *string `locationName:"noDevice" type:"string"`
  43554. // The virtual device name (ephemeralN).
  43555. VirtualName *string `locationName:"virtualName" type:"string"`
  43556. }
  43557. // String returns the string representation
  43558. func (s LaunchTemplateBlockDeviceMapping) String() string {
  43559. return awsutil.Prettify(s)
  43560. }
  43561. // GoString returns the string representation
  43562. func (s LaunchTemplateBlockDeviceMapping) GoString() string {
  43563. return s.String()
  43564. }
  43565. // SetDeviceName sets the DeviceName field's value.
  43566. func (s *LaunchTemplateBlockDeviceMapping) SetDeviceName(v string) *LaunchTemplateBlockDeviceMapping {
  43567. s.DeviceName = &v
  43568. return s
  43569. }
  43570. // SetEbs sets the Ebs field's value.
  43571. func (s *LaunchTemplateBlockDeviceMapping) SetEbs(v *LaunchTemplateEbsBlockDevice) *LaunchTemplateBlockDeviceMapping {
  43572. s.Ebs = v
  43573. return s
  43574. }
  43575. // SetNoDevice sets the NoDevice field's value.
  43576. func (s *LaunchTemplateBlockDeviceMapping) SetNoDevice(v string) *LaunchTemplateBlockDeviceMapping {
  43577. s.NoDevice = &v
  43578. return s
  43579. }
  43580. // SetVirtualName sets the VirtualName field's value.
  43581. func (s *LaunchTemplateBlockDeviceMapping) SetVirtualName(v string) *LaunchTemplateBlockDeviceMapping {
  43582. s.VirtualName = &v
  43583. return s
  43584. }
  43585. // Describes a block device mapping.
  43586. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchTemplateBlockDeviceMappingRequest
  43587. type LaunchTemplateBlockDeviceMappingRequest struct {
  43588. _ struct{} `type:"structure"`
  43589. // The device name (for example, /dev/sdh or xvdh).
  43590. DeviceName *string `type:"string"`
  43591. // Parameters used to automatically set up EBS volumes when the instance is
  43592. // launched.
  43593. Ebs *LaunchTemplateEbsBlockDeviceRequest `type:"structure"`
  43594. // Suppresses the specified device included in the block device mapping of the
  43595. // AMI.
  43596. NoDevice *string `type:"string"`
  43597. // The virtual device name (ephemeralN). Instance store volumes are numbered
  43598. // starting from 0. An instance type with 2 available instance store volumes
  43599. // can specify mappings for ephemeral0 and ephemeral1. The number of available
  43600. // instance store volumes depends on the instance type. After you connect to
  43601. // the instance, you must mount the volume.
  43602. VirtualName *string `type:"string"`
  43603. }
  43604. // String returns the string representation
  43605. func (s LaunchTemplateBlockDeviceMappingRequest) String() string {
  43606. return awsutil.Prettify(s)
  43607. }
  43608. // GoString returns the string representation
  43609. func (s LaunchTemplateBlockDeviceMappingRequest) GoString() string {
  43610. return s.String()
  43611. }
  43612. // SetDeviceName sets the DeviceName field's value.
  43613. func (s *LaunchTemplateBlockDeviceMappingRequest) SetDeviceName(v string) *LaunchTemplateBlockDeviceMappingRequest {
  43614. s.DeviceName = &v
  43615. return s
  43616. }
  43617. // SetEbs sets the Ebs field's value.
  43618. func (s *LaunchTemplateBlockDeviceMappingRequest) SetEbs(v *LaunchTemplateEbsBlockDeviceRequest) *LaunchTemplateBlockDeviceMappingRequest {
  43619. s.Ebs = v
  43620. return s
  43621. }
  43622. // SetNoDevice sets the NoDevice field's value.
  43623. func (s *LaunchTemplateBlockDeviceMappingRequest) SetNoDevice(v string) *LaunchTemplateBlockDeviceMappingRequest {
  43624. s.NoDevice = &v
  43625. return s
  43626. }
  43627. // SetVirtualName sets the VirtualName field's value.
  43628. func (s *LaunchTemplateBlockDeviceMappingRequest) SetVirtualName(v string) *LaunchTemplateBlockDeviceMappingRequest {
  43629. s.VirtualName = &v
  43630. return s
  43631. }
  43632. // Describes a launch template and overrides.
  43633. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchTemplateConfig
  43634. type LaunchTemplateConfig struct {
  43635. _ struct{} `type:"structure"`
  43636. // The launch template.
  43637. LaunchTemplateSpecification *FleetLaunchTemplateSpecification `locationName:"launchTemplateSpecification" type:"structure"`
  43638. // Any parameters that you specify override the same parameters in the launch
  43639. // template.
  43640. Overrides []*LaunchTemplateOverrides `locationName:"overrides" locationNameList:"item" type:"list"`
  43641. }
  43642. // String returns the string representation
  43643. func (s LaunchTemplateConfig) String() string {
  43644. return awsutil.Prettify(s)
  43645. }
  43646. // GoString returns the string representation
  43647. func (s LaunchTemplateConfig) GoString() string {
  43648. return s.String()
  43649. }
  43650. // Validate inspects the fields of the type to determine if they are valid.
  43651. func (s *LaunchTemplateConfig) Validate() error {
  43652. invalidParams := request.ErrInvalidParams{Context: "LaunchTemplateConfig"}
  43653. if s.LaunchTemplateSpecification != nil {
  43654. if err := s.LaunchTemplateSpecification.Validate(); err != nil {
  43655. invalidParams.AddNested("LaunchTemplateSpecification", err.(request.ErrInvalidParams))
  43656. }
  43657. }
  43658. if invalidParams.Len() > 0 {
  43659. return invalidParams
  43660. }
  43661. return nil
  43662. }
  43663. // SetLaunchTemplateSpecification sets the LaunchTemplateSpecification field's value.
  43664. func (s *LaunchTemplateConfig) SetLaunchTemplateSpecification(v *FleetLaunchTemplateSpecification) *LaunchTemplateConfig {
  43665. s.LaunchTemplateSpecification = v
  43666. return s
  43667. }
  43668. // SetOverrides sets the Overrides field's value.
  43669. func (s *LaunchTemplateConfig) SetOverrides(v []*LaunchTemplateOverrides) *LaunchTemplateConfig {
  43670. s.Overrides = v
  43671. return s
  43672. }
  43673. // Describes a block device for an EBS volume.
  43674. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchTemplateEbsBlockDevice
  43675. type LaunchTemplateEbsBlockDevice struct {
  43676. _ struct{} `type:"structure"`
  43677. // Indicates whether the EBS volume is deleted on instance termination.
  43678. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  43679. // Indicates whether the EBS volume is encrypted.
  43680. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  43681. // The number of I/O operations per second (IOPS) that the volume supports.
  43682. Iops *int64 `locationName:"iops" type:"integer"`
  43683. // The ARN of the AWS Key Management Service (AWS KMS) CMK used for encryption.
  43684. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  43685. // The ID of the snapshot.
  43686. SnapshotId *string `locationName:"snapshotId" type:"string"`
  43687. // The size of the volume, in GiB.
  43688. VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
  43689. // The volume type.
  43690. VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"`
  43691. }
  43692. // String returns the string representation
  43693. func (s LaunchTemplateEbsBlockDevice) String() string {
  43694. return awsutil.Prettify(s)
  43695. }
  43696. // GoString returns the string representation
  43697. func (s LaunchTemplateEbsBlockDevice) GoString() string {
  43698. return s.String()
  43699. }
  43700. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  43701. func (s *LaunchTemplateEbsBlockDevice) SetDeleteOnTermination(v bool) *LaunchTemplateEbsBlockDevice {
  43702. s.DeleteOnTermination = &v
  43703. return s
  43704. }
  43705. // SetEncrypted sets the Encrypted field's value.
  43706. func (s *LaunchTemplateEbsBlockDevice) SetEncrypted(v bool) *LaunchTemplateEbsBlockDevice {
  43707. s.Encrypted = &v
  43708. return s
  43709. }
  43710. // SetIops sets the Iops field's value.
  43711. func (s *LaunchTemplateEbsBlockDevice) SetIops(v int64) *LaunchTemplateEbsBlockDevice {
  43712. s.Iops = &v
  43713. return s
  43714. }
  43715. // SetKmsKeyId sets the KmsKeyId field's value.
  43716. func (s *LaunchTemplateEbsBlockDevice) SetKmsKeyId(v string) *LaunchTemplateEbsBlockDevice {
  43717. s.KmsKeyId = &v
  43718. return s
  43719. }
  43720. // SetSnapshotId sets the SnapshotId field's value.
  43721. func (s *LaunchTemplateEbsBlockDevice) SetSnapshotId(v string) *LaunchTemplateEbsBlockDevice {
  43722. s.SnapshotId = &v
  43723. return s
  43724. }
  43725. // SetVolumeSize sets the VolumeSize field's value.
  43726. func (s *LaunchTemplateEbsBlockDevice) SetVolumeSize(v int64) *LaunchTemplateEbsBlockDevice {
  43727. s.VolumeSize = &v
  43728. return s
  43729. }
  43730. // SetVolumeType sets the VolumeType field's value.
  43731. func (s *LaunchTemplateEbsBlockDevice) SetVolumeType(v string) *LaunchTemplateEbsBlockDevice {
  43732. s.VolumeType = &v
  43733. return s
  43734. }
  43735. // The parameters for a block device for an EBS volume.
  43736. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchTemplateEbsBlockDeviceRequest
  43737. type LaunchTemplateEbsBlockDeviceRequest struct {
  43738. _ struct{} `type:"structure"`
  43739. // Indicates whether the EBS volume is deleted on instance termination.
  43740. DeleteOnTermination *bool `type:"boolean"`
  43741. // Indicates whether the EBS volume is encrypted. Encrypted volumes can only
  43742. // be attached to instances that support Amazon EBS encryption. If you are creating
  43743. // a volume from a snapshot, you can't specify an encryption value.
  43744. Encrypted *bool `type:"boolean"`
  43745. // The number of I/O operations per second (IOPS) that the volume supports.
  43746. // For io1, this represents the number of IOPS that are provisioned for the
  43747. // volume. For gp2, this represents the baseline performance of the volume and
  43748. // the rate at which the volume accumulates I/O credits for bursting. For more
  43749. // information about General Purpose SSD baseline performance, I/O credits,
  43750. // and bursting, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud
  43751. // User Guide.
  43752. //
  43753. // Condition: This parameter is required for requests to create io1 volumes;
  43754. // it is not used in requests to create gp2, st1, sc1, or standard volumes.
  43755. Iops *int64 `type:"integer"`
  43756. // The ARN of the AWS Key Management Service (AWS KMS) CMK used for encryption.
  43757. KmsKeyId *string `type:"string"`
  43758. // The ID of the snapshot.
  43759. SnapshotId *string `type:"string"`
  43760. // The size of the volume, in GiB.
  43761. //
  43762. // Default: If you're creating the volume from a snapshot and don't specify
  43763. // a volume size, the default is the snapshot size.
  43764. VolumeSize *int64 `type:"integer"`
  43765. // The volume type.
  43766. VolumeType *string `type:"string" enum:"VolumeType"`
  43767. }
  43768. // String returns the string representation
  43769. func (s LaunchTemplateEbsBlockDeviceRequest) String() string {
  43770. return awsutil.Prettify(s)
  43771. }
  43772. // GoString returns the string representation
  43773. func (s LaunchTemplateEbsBlockDeviceRequest) GoString() string {
  43774. return s.String()
  43775. }
  43776. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  43777. func (s *LaunchTemplateEbsBlockDeviceRequest) SetDeleteOnTermination(v bool) *LaunchTemplateEbsBlockDeviceRequest {
  43778. s.DeleteOnTermination = &v
  43779. return s
  43780. }
  43781. // SetEncrypted sets the Encrypted field's value.
  43782. func (s *LaunchTemplateEbsBlockDeviceRequest) SetEncrypted(v bool) *LaunchTemplateEbsBlockDeviceRequest {
  43783. s.Encrypted = &v
  43784. return s
  43785. }
  43786. // SetIops sets the Iops field's value.
  43787. func (s *LaunchTemplateEbsBlockDeviceRequest) SetIops(v int64) *LaunchTemplateEbsBlockDeviceRequest {
  43788. s.Iops = &v
  43789. return s
  43790. }
  43791. // SetKmsKeyId sets the KmsKeyId field's value.
  43792. func (s *LaunchTemplateEbsBlockDeviceRequest) SetKmsKeyId(v string) *LaunchTemplateEbsBlockDeviceRequest {
  43793. s.KmsKeyId = &v
  43794. return s
  43795. }
  43796. // SetSnapshotId sets the SnapshotId field's value.
  43797. func (s *LaunchTemplateEbsBlockDeviceRequest) SetSnapshotId(v string) *LaunchTemplateEbsBlockDeviceRequest {
  43798. s.SnapshotId = &v
  43799. return s
  43800. }
  43801. // SetVolumeSize sets the VolumeSize field's value.
  43802. func (s *LaunchTemplateEbsBlockDeviceRequest) SetVolumeSize(v int64) *LaunchTemplateEbsBlockDeviceRequest {
  43803. s.VolumeSize = &v
  43804. return s
  43805. }
  43806. // SetVolumeType sets the VolumeType field's value.
  43807. func (s *LaunchTemplateEbsBlockDeviceRequest) SetVolumeType(v string) *LaunchTemplateEbsBlockDeviceRequest {
  43808. s.VolumeType = &v
  43809. return s
  43810. }
  43811. // Describes an IAM instance profile.
  43812. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchTemplateIamInstanceProfileSpecification
  43813. type LaunchTemplateIamInstanceProfileSpecification struct {
  43814. _ struct{} `type:"structure"`
  43815. // The Amazon Resource Name (ARN) of the instance profile.
  43816. Arn *string `locationName:"arn" type:"string"`
  43817. // The name of the instance profile.
  43818. Name *string `locationName:"name" type:"string"`
  43819. }
  43820. // String returns the string representation
  43821. func (s LaunchTemplateIamInstanceProfileSpecification) String() string {
  43822. return awsutil.Prettify(s)
  43823. }
  43824. // GoString returns the string representation
  43825. func (s LaunchTemplateIamInstanceProfileSpecification) GoString() string {
  43826. return s.String()
  43827. }
  43828. // SetArn sets the Arn field's value.
  43829. func (s *LaunchTemplateIamInstanceProfileSpecification) SetArn(v string) *LaunchTemplateIamInstanceProfileSpecification {
  43830. s.Arn = &v
  43831. return s
  43832. }
  43833. // SetName sets the Name field's value.
  43834. func (s *LaunchTemplateIamInstanceProfileSpecification) SetName(v string) *LaunchTemplateIamInstanceProfileSpecification {
  43835. s.Name = &v
  43836. return s
  43837. }
  43838. // An IAM instance profile.
  43839. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchTemplateIamInstanceProfileSpecificationRequest
  43840. type LaunchTemplateIamInstanceProfileSpecificationRequest struct {
  43841. _ struct{} `type:"structure"`
  43842. // The Amazon Resource Name (ARN) of the instance profile.
  43843. Arn *string `type:"string"`
  43844. // The name of the instance profile.
  43845. Name *string `type:"string"`
  43846. }
  43847. // String returns the string representation
  43848. func (s LaunchTemplateIamInstanceProfileSpecificationRequest) String() string {
  43849. return awsutil.Prettify(s)
  43850. }
  43851. // GoString returns the string representation
  43852. func (s LaunchTemplateIamInstanceProfileSpecificationRequest) GoString() string {
  43853. return s.String()
  43854. }
  43855. // SetArn sets the Arn field's value.
  43856. func (s *LaunchTemplateIamInstanceProfileSpecificationRequest) SetArn(v string) *LaunchTemplateIamInstanceProfileSpecificationRequest {
  43857. s.Arn = &v
  43858. return s
  43859. }
  43860. // SetName sets the Name field's value.
  43861. func (s *LaunchTemplateIamInstanceProfileSpecificationRequest) SetName(v string) *LaunchTemplateIamInstanceProfileSpecificationRequest {
  43862. s.Name = &v
  43863. return s
  43864. }
  43865. // The market (purchasing) option for the instances.
  43866. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchTemplateInstanceMarketOptions
  43867. type LaunchTemplateInstanceMarketOptions struct {
  43868. _ struct{} `type:"structure"`
  43869. // The market type.
  43870. MarketType *string `locationName:"marketType" type:"string" enum:"MarketType"`
  43871. // The options for Spot Instances.
  43872. SpotOptions *LaunchTemplateSpotMarketOptions `locationName:"spotOptions" type:"structure"`
  43873. }
  43874. // String returns the string representation
  43875. func (s LaunchTemplateInstanceMarketOptions) String() string {
  43876. return awsutil.Prettify(s)
  43877. }
  43878. // GoString returns the string representation
  43879. func (s LaunchTemplateInstanceMarketOptions) GoString() string {
  43880. return s.String()
  43881. }
  43882. // SetMarketType sets the MarketType field's value.
  43883. func (s *LaunchTemplateInstanceMarketOptions) SetMarketType(v string) *LaunchTemplateInstanceMarketOptions {
  43884. s.MarketType = &v
  43885. return s
  43886. }
  43887. // SetSpotOptions sets the SpotOptions field's value.
  43888. func (s *LaunchTemplateInstanceMarketOptions) SetSpotOptions(v *LaunchTemplateSpotMarketOptions) *LaunchTemplateInstanceMarketOptions {
  43889. s.SpotOptions = v
  43890. return s
  43891. }
  43892. // The market (purchasing) option for the instances.
  43893. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchTemplateInstanceMarketOptionsRequest
  43894. type LaunchTemplateInstanceMarketOptionsRequest struct {
  43895. _ struct{} `type:"structure"`
  43896. // The market type.
  43897. MarketType *string `type:"string" enum:"MarketType"`
  43898. // The options for Spot Instances.
  43899. SpotOptions *LaunchTemplateSpotMarketOptionsRequest `type:"structure"`
  43900. }
  43901. // String returns the string representation
  43902. func (s LaunchTemplateInstanceMarketOptionsRequest) String() string {
  43903. return awsutil.Prettify(s)
  43904. }
  43905. // GoString returns the string representation
  43906. func (s LaunchTemplateInstanceMarketOptionsRequest) GoString() string {
  43907. return s.String()
  43908. }
  43909. // SetMarketType sets the MarketType field's value.
  43910. func (s *LaunchTemplateInstanceMarketOptionsRequest) SetMarketType(v string) *LaunchTemplateInstanceMarketOptionsRequest {
  43911. s.MarketType = &v
  43912. return s
  43913. }
  43914. // SetSpotOptions sets the SpotOptions field's value.
  43915. func (s *LaunchTemplateInstanceMarketOptionsRequest) SetSpotOptions(v *LaunchTemplateSpotMarketOptionsRequest) *LaunchTemplateInstanceMarketOptionsRequest {
  43916. s.SpotOptions = v
  43917. return s
  43918. }
  43919. // Describes a network interface.
  43920. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchTemplateInstanceNetworkInterfaceSpecification
  43921. type LaunchTemplateInstanceNetworkInterfaceSpecification struct {
  43922. _ struct{} `type:"structure"`
  43923. // Indicates whether to associate a public IPv4 address with eth0 for a new
  43924. // network interface.
  43925. AssociatePublicIpAddress *bool `locationName:"associatePublicIpAddress" type:"boolean"`
  43926. // Indicates whether the network interface is deleted when the instance is terminated.
  43927. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  43928. // A description for the network interface.
  43929. Description *string `locationName:"description" type:"string"`
  43930. // The device index for the network interface attachment.
  43931. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
  43932. // The IDs of one or more security groups.
  43933. Groups []*string `locationName:"groupSet" locationNameList:"groupId" type:"list"`
  43934. // The number of IPv6 addresses for the network interface.
  43935. Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
  43936. // The IPv6 addresses for the network interface.
  43937. Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6AddressesSet" locationNameList:"item" type:"list"`
  43938. // The ID of the network interface.
  43939. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  43940. // The primary private IPv4 address of the network interface.
  43941. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  43942. // One or more private IPv4 addresses.
  43943. PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"`
  43944. // The number of secondary private IPv4 addresses for the network interface.
  43945. SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
  43946. // The ID of the subnet for the network interface.
  43947. SubnetId *string `locationName:"subnetId" type:"string"`
  43948. }
  43949. // String returns the string representation
  43950. func (s LaunchTemplateInstanceNetworkInterfaceSpecification) String() string {
  43951. return awsutil.Prettify(s)
  43952. }
  43953. // GoString returns the string representation
  43954. func (s LaunchTemplateInstanceNetworkInterfaceSpecification) GoString() string {
  43955. return s.String()
  43956. }
  43957. // SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
  43958. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetAssociatePublicIpAddress(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  43959. s.AssociatePublicIpAddress = &v
  43960. return s
  43961. }
  43962. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  43963. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetDeleteOnTermination(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  43964. s.DeleteOnTermination = &v
  43965. return s
  43966. }
  43967. // SetDescription sets the Description field's value.
  43968. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetDescription(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  43969. s.Description = &v
  43970. return s
  43971. }
  43972. // SetDeviceIndex sets the DeviceIndex field's value.
  43973. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetDeviceIndex(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  43974. s.DeviceIndex = &v
  43975. return s
  43976. }
  43977. // SetGroups sets the Groups field's value.
  43978. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetGroups(v []*string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  43979. s.Groups = v
  43980. return s
  43981. }
  43982. // SetIpv6AddressCount sets the Ipv6AddressCount field's value.
  43983. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetIpv6AddressCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  43984. s.Ipv6AddressCount = &v
  43985. return s
  43986. }
  43987. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  43988. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetIpv6Addresses(v []*InstanceIpv6Address) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  43989. s.Ipv6Addresses = v
  43990. return s
  43991. }
  43992. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  43993. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetNetworkInterfaceId(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  43994. s.NetworkInterfaceId = &v
  43995. return s
  43996. }
  43997. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  43998. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetPrivateIpAddress(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  43999. s.PrivateIpAddress = &v
  44000. return s
  44001. }
  44002. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  44003. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  44004. s.PrivateIpAddresses = v
  44005. return s
  44006. }
  44007. // SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
  44008. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetSecondaryPrivateIpAddressCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  44009. s.SecondaryPrivateIpAddressCount = &v
  44010. return s
  44011. }
  44012. // SetSubnetId sets the SubnetId field's value.
  44013. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetSubnetId(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  44014. s.SubnetId = &v
  44015. return s
  44016. }
  44017. // The parameters for a network interface.
  44018. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchTemplateInstanceNetworkInterfaceSpecificationRequest
  44019. type LaunchTemplateInstanceNetworkInterfaceSpecificationRequest struct {
  44020. _ struct{} `type:"structure"`
  44021. // Associates a public IPv4 address with eth0 for a new network interface.
  44022. AssociatePublicIpAddress *bool `type:"boolean"`
  44023. // Indicates whether the network interface is deleted when the instance is terminated.
  44024. DeleteOnTermination *bool `type:"boolean"`
  44025. // A description for the network interface.
  44026. Description *string `type:"string"`
  44027. // The device index for the network interface attachment.
  44028. DeviceIndex *int64 `type:"integer"`
  44029. // The IDs of one or more security groups.
  44030. Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  44031. // The number of IPv6 addresses to assign to a network interface. Amazon EC2
  44032. // automatically selects the IPv6 addresses from the subnet range. You can't
  44033. // use this option if specifying specific IPv6 addresses.
  44034. Ipv6AddressCount *int64 `type:"integer"`
  44035. // One or more specific IPv6 addresses from the IPv6 CIDR block range of your
  44036. // subnet. You can't use this option if you're specifying a number of IPv6 addresses.
  44037. Ipv6Addresses []*InstanceIpv6AddressRequest `locationNameList:"InstanceIpv6Address" type:"list"`
  44038. // The ID of the network interface.
  44039. NetworkInterfaceId *string `type:"string"`
  44040. // The primary private IPv4 address of the network interface.
  44041. PrivateIpAddress *string `type:"string"`
  44042. // One or more private IPv4 addresses.
  44043. PrivateIpAddresses []*PrivateIpAddressSpecification `locationNameList:"item" type:"list"`
  44044. // The number of secondary private IPv4 addresses to assign to a network interface.
  44045. SecondaryPrivateIpAddressCount *int64 `type:"integer"`
  44046. // The ID of the subnet for the network interface.
  44047. SubnetId *string `type:"string"`
  44048. }
  44049. // String returns the string representation
  44050. func (s LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) String() string {
  44051. return awsutil.Prettify(s)
  44052. }
  44053. // GoString returns the string representation
  44054. func (s LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) GoString() string {
  44055. return s.String()
  44056. }
  44057. // Validate inspects the fields of the type to determine if they are valid.
  44058. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) Validate() error {
  44059. invalidParams := request.ErrInvalidParams{Context: "LaunchTemplateInstanceNetworkInterfaceSpecificationRequest"}
  44060. if s.PrivateIpAddresses != nil {
  44061. for i, v := range s.PrivateIpAddresses {
  44062. if v == nil {
  44063. continue
  44064. }
  44065. if err := v.Validate(); err != nil {
  44066. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PrivateIpAddresses", i), err.(request.ErrInvalidParams))
  44067. }
  44068. }
  44069. }
  44070. if invalidParams.Len() > 0 {
  44071. return invalidParams
  44072. }
  44073. return nil
  44074. }
  44075. // SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
  44076. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetAssociatePublicIpAddress(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  44077. s.AssociatePublicIpAddress = &v
  44078. return s
  44079. }
  44080. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  44081. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetDeleteOnTermination(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  44082. s.DeleteOnTermination = &v
  44083. return s
  44084. }
  44085. // SetDescription sets the Description field's value.
  44086. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetDescription(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  44087. s.Description = &v
  44088. return s
  44089. }
  44090. // SetDeviceIndex sets the DeviceIndex field's value.
  44091. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetDeviceIndex(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  44092. s.DeviceIndex = &v
  44093. return s
  44094. }
  44095. // SetGroups sets the Groups field's value.
  44096. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetGroups(v []*string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  44097. s.Groups = v
  44098. return s
  44099. }
  44100. // SetIpv6AddressCount sets the Ipv6AddressCount field's value.
  44101. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetIpv6AddressCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  44102. s.Ipv6AddressCount = &v
  44103. return s
  44104. }
  44105. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  44106. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetIpv6Addresses(v []*InstanceIpv6AddressRequest) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  44107. s.Ipv6Addresses = v
  44108. return s
  44109. }
  44110. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  44111. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetNetworkInterfaceId(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  44112. s.NetworkInterfaceId = &v
  44113. return s
  44114. }
  44115. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  44116. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetPrivateIpAddress(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  44117. s.PrivateIpAddress = &v
  44118. return s
  44119. }
  44120. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  44121. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  44122. s.PrivateIpAddresses = v
  44123. return s
  44124. }
  44125. // SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
  44126. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetSecondaryPrivateIpAddressCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  44127. s.SecondaryPrivateIpAddressCount = &v
  44128. return s
  44129. }
  44130. // SetSubnetId sets the SubnetId field's value.
  44131. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetSubnetId(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  44132. s.SubnetId = &v
  44133. return s
  44134. }
  44135. // Describes overrides for a launch template.
  44136. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchTemplateOverrides
  44137. type LaunchTemplateOverrides struct {
  44138. _ struct{} `type:"structure"`
  44139. // The Availability Zone in which to launch the instances.
  44140. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  44141. // The instance type.
  44142. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  44143. // The maximum price per unit hour that you are willing to pay for a Spot Instance.
  44144. SpotPrice *string `locationName:"spotPrice" type:"string"`
  44145. // The ID of the subnet in which to launch the instances.
  44146. SubnetId *string `locationName:"subnetId" type:"string"`
  44147. // The number of units provided by the specified instance type.
  44148. WeightedCapacity *float64 `locationName:"weightedCapacity" type:"double"`
  44149. }
  44150. // String returns the string representation
  44151. func (s LaunchTemplateOverrides) String() string {
  44152. return awsutil.Prettify(s)
  44153. }
  44154. // GoString returns the string representation
  44155. func (s LaunchTemplateOverrides) GoString() string {
  44156. return s.String()
  44157. }
  44158. // SetAvailabilityZone sets the AvailabilityZone field's value.
  44159. func (s *LaunchTemplateOverrides) SetAvailabilityZone(v string) *LaunchTemplateOverrides {
  44160. s.AvailabilityZone = &v
  44161. return s
  44162. }
  44163. // SetInstanceType sets the InstanceType field's value.
  44164. func (s *LaunchTemplateOverrides) SetInstanceType(v string) *LaunchTemplateOverrides {
  44165. s.InstanceType = &v
  44166. return s
  44167. }
  44168. // SetSpotPrice sets the SpotPrice field's value.
  44169. func (s *LaunchTemplateOverrides) SetSpotPrice(v string) *LaunchTemplateOverrides {
  44170. s.SpotPrice = &v
  44171. return s
  44172. }
  44173. // SetSubnetId sets the SubnetId field's value.
  44174. func (s *LaunchTemplateOverrides) SetSubnetId(v string) *LaunchTemplateOverrides {
  44175. s.SubnetId = &v
  44176. return s
  44177. }
  44178. // SetWeightedCapacity sets the WeightedCapacity field's value.
  44179. func (s *LaunchTemplateOverrides) SetWeightedCapacity(v float64) *LaunchTemplateOverrides {
  44180. s.WeightedCapacity = &v
  44181. return s
  44182. }
  44183. // Describes the placement of an instance.
  44184. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchTemplatePlacement
  44185. type LaunchTemplatePlacement struct {
  44186. _ struct{} `type:"structure"`
  44187. // The affinity setting for the instance on the Dedicated Host.
  44188. Affinity *string `locationName:"affinity" type:"string"`
  44189. // The Availability Zone of the instance.
  44190. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  44191. // The name of the placement group for the instance.
  44192. GroupName *string `locationName:"groupName" type:"string"`
  44193. // The ID of the Dedicated Host for the instance.
  44194. HostId *string `locationName:"hostId" type:"string"`
  44195. // Reserved for future use.
  44196. SpreadDomain *string `locationName:"spreadDomain" type:"string"`
  44197. // The tenancy of the instance (if the instance is running in a VPC). An instance
  44198. // with a tenancy of dedicated runs on single-tenant hardware.
  44199. Tenancy *string `locationName:"tenancy" type:"string" enum:"Tenancy"`
  44200. }
  44201. // String returns the string representation
  44202. func (s LaunchTemplatePlacement) String() string {
  44203. return awsutil.Prettify(s)
  44204. }
  44205. // GoString returns the string representation
  44206. func (s LaunchTemplatePlacement) GoString() string {
  44207. return s.String()
  44208. }
  44209. // SetAffinity sets the Affinity field's value.
  44210. func (s *LaunchTemplatePlacement) SetAffinity(v string) *LaunchTemplatePlacement {
  44211. s.Affinity = &v
  44212. return s
  44213. }
  44214. // SetAvailabilityZone sets the AvailabilityZone field's value.
  44215. func (s *LaunchTemplatePlacement) SetAvailabilityZone(v string) *LaunchTemplatePlacement {
  44216. s.AvailabilityZone = &v
  44217. return s
  44218. }
  44219. // SetGroupName sets the GroupName field's value.
  44220. func (s *LaunchTemplatePlacement) SetGroupName(v string) *LaunchTemplatePlacement {
  44221. s.GroupName = &v
  44222. return s
  44223. }
  44224. // SetHostId sets the HostId field's value.
  44225. func (s *LaunchTemplatePlacement) SetHostId(v string) *LaunchTemplatePlacement {
  44226. s.HostId = &v
  44227. return s
  44228. }
  44229. // SetSpreadDomain sets the SpreadDomain field's value.
  44230. func (s *LaunchTemplatePlacement) SetSpreadDomain(v string) *LaunchTemplatePlacement {
  44231. s.SpreadDomain = &v
  44232. return s
  44233. }
  44234. // SetTenancy sets the Tenancy field's value.
  44235. func (s *LaunchTemplatePlacement) SetTenancy(v string) *LaunchTemplatePlacement {
  44236. s.Tenancy = &v
  44237. return s
  44238. }
  44239. // The placement for the instance.
  44240. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchTemplatePlacementRequest
  44241. type LaunchTemplatePlacementRequest struct {
  44242. _ struct{} `type:"structure"`
  44243. // The affinity setting for an instance on a Dedicated Host.
  44244. Affinity *string `type:"string"`
  44245. // The Availability Zone for the instance.
  44246. AvailabilityZone *string `type:"string"`
  44247. // The name of the placement group for the instance.
  44248. GroupName *string `type:"string"`
  44249. // The ID of the Dedicated Host for the instance.
  44250. HostId *string `type:"string"`
  44251. // Reserved for future use.
  44252. SpreadDomain *string `type:"string"`
  44253. // The tenancy of the instance (if the instance is running in a VPC). An instance
  44254. // with a tenancy of dedicated runs on single-tenant hardware.
  44255. Tenancy *string `type:"string" enum:"Tenancy"`
  44256. }
  44257. // String returns the string representation
  44258. func (s LaunchTemplatePlacementRequest) String() string {
  44259. return awsutil.Prettify(s)
  44260. }
  44261. // GoString returns the string representation
  44262. func (s LaunchTemplatePlacementRequest) GoString() string {
  44263. return s.String()
  44264. }
  44265. // SetAffinity sets the Affinity field's value.
  44266. func (s *LaunchTemplatePlacementRequest) SetAffinity(v string) *LaunchTemplatePlacementRequest {
  44267. s.Affinity = &v
  44268. return s
  44269. }
  44270. // SetAvailabilityZone sets the AvailabilityZone field's value.
  44271. func (s *LaunchTemplatePlacementRequest) SetAvailabilityZone(v string) *LaunchTemplatePlacementRequest {
  44272. s.AvailabilityZone = &v
  44273. return s
  44274. }
  44275. // SetGroupName sets the GroupName field's value.
  44276. func (s *LaunchTemplatePlacementRequest) SetGroupName(v string) *LaunchTemplatePlacementRequest {
  44277. s.GroupName = &v
  44278. return s
  44279. }
  44280. // SetHostId sets the HostId field's value.
  44281. func (s *LaunchTemplatePlacementRequest) SetHostId(v string) *LaunchTemplatePlacementRequest {
  44282. s.HostId = &v
  44283. return s
  44284. }
  44285. // SetSpreadDomain sets the SpreadDomain field's value.
  44286. func (s *LaunchTemplatePlacementRequest) SetSpreadDomain(v string) *LaunchTemplatePlacementRequest {
  44287. s.SpreadDomain = &v
  44288. return s
  44289. }
  44290. // SetTenancy sets the Tenancy field's value.
  44291. func (s *LaunchTemplatePlacementRequest) SetTenancy(v string) *LaunchTemplatePlacementRequest {
  44292. s.Tenancy = &v
  44293. return s
  44294. }
  44295. // The launch template to use. You must specify either the launch template ID
  44296. // or launch template name in the request.
  44297. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchTemplateSpecification
  44298. type LaunchTemplateSpecification struct {
  44299. _ struct{} `type:"structure"`
  44300. // The ID of the launch template.
  44301. LaunchTemplateId *string `type:"string"`
  44302. // The name of the launch template.
  44303. LaunchTemplateName *string `type:"string"`
  44304. // The version number of the launch template.
  44305. //
  44306. // Default: The default version for the launch template.
  44307. Version *string `type:"string"`
  44308. }
  44309. // String returns the string representation
  44310. func (s LaunchTemplateSpecification) String() string {
  44311. return awsutil.Prettify(s)
  44312. }
  44313. // GoString returns the string representation
  44314. func (s LaunchTemplateSpecification) GoString() string {
  44315. return s.String()
  44316. }
  44317. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  44318. func (s *LaunchTemplateSpecification) SetLaunchTemplateId(v string) *LaunchTemplateSpecification {
  44319. s.LaunchTemplateId = &v
  44320. return s
  44321. }
  44322. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  44323. func (s *LaunchTemplateSpecification) SetLaunchTemplateName(v string) *LaunchTemplateSpecification {
  44324. s.LaunchTemplateName = &v
  44325. return s
  44326. }
  44327. // SetVersion sets the Version field's value.
  44328. func (s *LaunchTemplateSpecification) SetVersion(v string) *LaunchTemplateSpecification {
  44329. s.Version = &v
  44330. return s
  44331. }
  44332. // The options for Spot Instances.
  44333. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchTemplateSpotMarketOptions
  44334. type LaunchTemplateSpotMarketOptions struct {
  44335. _ struct{} `type:"structure"`
  44336. // The required duration for the Spot Instances (also known as Spot blocks),
  44337. // in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
  44338. // or 360).
  44339. BlockDurationMinutes *int64 `locationName:"blockDurationMinutes" type:"integer"`
  44340. // The behavior when a Spot Instance is interrupted.
  44341. InstanceInterruptionBehavior *string `locationName:"instanceInterruptionBehavior" type:"string" enum:"InstanceInterruptionBehavior"`
  44342. // The maximum hourly price you're willing to pay for the Spot Instances.
  44343. MaxPrice *string `locationName:"maxPrice" type:"string"`
  44344. // The Spot Instance request type.
  44345. SpotInstanceType *string `locationName:"spotInstanceType" type:"string" enum:"SpotInstanceType"`
  44346. // The end date of the request. For a one-time request, the request remains
  44347. // active until all instances launch, the request is canceled, or this date
  44348. // is reached. If the request is persistent, it remains active until it is canceled
  44349. // or this date and time is reached.
  44350. ValidUntil *time.Time `locationName:"validUntil" type:"timestamp" timestampFormat:"iso8601"`
  44351. }
  44352. // String returns the string representation
  44353. func (s LaunchTemplateSpotMarketOptions) String() string {
  44354. return awsutil.Prettify(s)
  44355. }
  44356. // GoString returns the string representation
  44357. func (s LaunchTemplateSpotMarketOptions) GoString() string {
  44358. return s.String()
  44359. }
  44360. // SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
  44361. func (s *LaunchTemplateSpotMarketOptions) SetBlockDurationMinutes(v int64) *LaunchTemplateSpotMarketOptions {
  44362. s.BlockDurationMinutes = &v
  44363. return s
  44364. }
  44365. // SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
  44366. func (s *LaunchTemplateSpotMarketOptions) SetInstanceInterruptionBehavior(v string) *LaunchTemplateSpotMarketOptions {
  44367. s.InstanceInterruptionBehavior = &v
  44368. return s
  44369. }
  44370. // SetMaxPrice sets the MaxPrice field's value.
  44371. func (s *LaunchTemplateSpotMarketOptions) SetMaxPrice(v string) *LaunchTemplateSpotMarketOptions {
  44372. s.MaxPrice = &v
  44373. return s
  44374. }
  44375. // SetSpotInstanceType sets the SpotInstanceType field's value.
  44376. func (s *LaunchTemplateSpotMarketOptions) SetSpotInstanceType(v string) *LaunchTemplateSpotMarketOptions {
  44377. s.SpotInstanceType = &v
  44378. return s
  44379. }
  44380. // SetValidUntil sets the ValidUntil field's value.
  44381. func (s *LaunchTemplateSpotMarketOptions) SetValidUntil(v time.Time) *LaunchTemplateSpotMarketOptions {
  44382. s.ValidUntil = &v
  44383. return s
  44384. }
  44385. // The options for Spot Instances.
  44386. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchTemplateSpotMarketOptionsRequest
  44387. type LaunchTemplateSpotMarketOptionsRequest struct {
  44388. _ struct{} `type:"structure"`
  44389. // The required duration for the Spot Instances (also known as Spot blocks),
  44390. // in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
  44391. // or 360).
  44392. BlockDurationMinutes *int64 `type:"integer"`
  44393. // The behavior when a Spot Instance is interrupted. The default is terminate.
  44394. InstanceInterruptionBehavior *string `type:"string" enum:"InstanceInterruptionBehavior"`
  44395. // The maximum hourly price you're willing to pay for the Spot Instances.
  44396. MaxPrice *string `type:"string"`
  44397. // The Spot Instance request type.
  44398. SpotInstanceType *string `type:"string" enum:"SpotInstanceType"`
  44399. // The end date of the request. For a one-time request, the request remains
  44400. // active until all instances launch, the request is canceled, or this date
  44401. // is reached. If the request is persistent, it remains active until it is canceled
  44402. // or this date and time is reached. The default end date is 7 days from the
  44403. // current date.
  44404. ValidUntil *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  44405. }
  44406. // String returns the string representation
  44407. func (s LaunchTemplateSpotMarketOptionsRequest) String() string {
  44408. return awsutil.Prettify(s)
  44409. }
  44410. // GoString returns the string representation
  44411. func (s LaunchTemplateSpotMarketOptionsRequest) GoString() string {
  44412. return s.String()
  44413. }
  44414. // SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
  44415. func (s *LaunchTemplateSpotMarketOptionsRequest) SetBlockDurationMinutes(v int64) *LaunchTemplateSpotMarketOptionsRequest {
  44416. s.BlockDurationMinutes = &v
  44417. return s
  44418. }
  44419. // SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
  44420. func (s *LaunchTemplateSpotMarketOptionsRequest) SetInstanceInterruptionBehavior(v string) *LaunchTemplateSpotMarketOptionsRequest {
  44421. s.InstanceInterruptionBehavior = &v
  44422. return s
  44423. }
  44424. // SetMaxPrice sets the MaxPrice field's value.
  44425. func (s *LaunchTemplateSpotMarketOptionsRequest) SetMaxPrice(v string) *LaunchTemplateSpotMarketOptionsRequest {
  44426. s.MaxPrice = &v
  44427. return s
  44428. }
  44429. // SetSpotInstanceType sets the SpotInstanceType field's value.
  44430. func (s *LaunchTemplateSpotMarketOptionsRequest) SetSpotInstanceType(v string) *LaunchTemplateSpotMarketOptionsRequest {
  44431. s.SpotInstanceType = &v
  44432. return s
  44433. }
  44434. // SetValidUntil sets the ValidUntil field's value.
  44435. func (s *LaunchTemplateSpotMarketOptionsRequest) SetValidUntil(v time.Time) *LaunchTemplateSpotMarketOptionsRequest {
  44436. s.ValidUntil = &v
  44437. return s
  44438. }
  44439. // The tag specification for the launch template.
  44440. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchTemplateTagSpecification
  44441. type LaunchTemplateTagSpecification struct {
  44442. _ struct{} `type:"structure"`
  44443. // The type of resource.
  44444. ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
  44445. // The tags for the resource.
  44446. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  44447. }
  44448. // String returns the string representation
  44449. func (s LaunchTemplateTagSpecification) String() string {
  44450. return awsutil.Prettify(s)
  44451. }
  44452. // GoString returns the string representation
  44453. func (s LaunchTemplateTagSpecification) GoString() string {
  44454. return s.String()
  44455. }
  44456. // SetResourceType sets the ResourceType field's value.
  44457. func (s *LaunchTemplateTagSpecification) SetResourceType(v string) *LaunchTemplateTagSpecification {
  44458. s.ResourceType = &v
  44459. return s
  44460. }
  44461. // SetTags sets the Tags field's value.
  44462. func (s *LaunchTemplateTagSpecification) SetTags(v []*Tag) *LaunchTemplateTagSpecification {
  44463. s.Tags = v
  44464. return s
  44465. }
  44466. // The tags specification for the launch template.
  44467. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchTemplateTagSpecificationRequest
  44468. type LaunchTemplateTagSpecificationRequest struct {
  44469. _ struct{} `type:"structure"`
  44470. // The type of resource to tag. Currently, the resource types that support tagging
  44471. // on creation are instance and volume.
  44472. ResourceType *string `type:"string" enum:"ResourceType"`
  44473. // The tags to apply to the resource.
  44474. Tags []*Tag `locationName:"Tag" locationNameList:"item" type:"list"`
  44475. }
  44476. // String returns the string representation
  44477. func (s LaunchTemplateTagSpecificationRequest) String() string {
  44478. return awsutil.Prettify(s)
  44479. }
  44480. // GoString returns the string representation
  44481. func (s LaunchTemplateTagSpecificationRequest) GoString() string {
  44482. return s.String()
  44483. }
  44484. // SetResourceType sets the ResourceType field's value.
  44485. func (s *LaunchTemplateTagSpecificationRequest) SetResourceType(v string) *LaunchTemplateTagSpecificationRequest {
  44486. s.ResourceType = &v
  44487. return s
  44488. }
  44489. // SetTags sets the Tags field's value.
  44490. func (s *LaunchTemplateTagSpecificationRequest) SetTags(v []*Tag) *LaunchTemplateTagSpecificationRequest {
  44491. s.Tags = v
  44492. return s
  44493. }
  44494. // Describes a launch template version.
  44495. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchTemplateVersion
  44496. type LaunchTemplateVersion struct {
  44497. _ struct{} `type:"structure"`
  44498. // The time the version was created.
  44499. CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"`
  44500. // The principal that created the version.
  44501. CreatedBy *string `locationName:"createdBy" type:"string"`
  44502. // Indicates whether the version is the default version.
  44503. DefaultVersion *bool `locationName:"defaultVersion" type:"boolean"`
  44504. // Information about the launch template.
  44505. LaunchTemplateData *ResponseLaunchTemplateData `locationName:"launchTemplateData" type:"structure"`
  44506. // The ID of the launch template.
  44507. LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
  44508. // The name of the launch template.
  44509. LaunchTemplateName *string `locationName:"launchTemplateName" min:"3" type:"string"`
  44510. // The description for the version.
  44511. VersionDescription *string `locationName:"versionDescription" type:"string"`
  44512. // The version number.
  44513. VersionNumber *int64 `locationName:"versionNumber" type:"long"`
  44514. }
  44515. // String returns the string representation
  44516. func (s LaunchTemplateVersion) String() string {
  44517. return awsutil.Prettify(s)
  44518. }
  44519. // GoString returns the string representation
  44520. func (s LaunchTemplateVersion) GoString() string {
  44521. return s.String()
  44522. }
  44523. // SetCreateTime sets the CreateTime field's value.
  44524. func (s *LaunchTemplateVersion) SetCreateTime(v time.Time) *LaunchTemplateVersion {
  44525. s.CreateTime = &v
  44526. return s
  44527. }
  44528. // SetCreatedBy sets the CreatedBy field's value.
  44529. func (s *LaunchTemplateVersion) SetCreatedBy(v string) *LaunchTemplateVersion {
  44530. s.CreatedBy = &v
  44531. return s
  44532. }
  44533. // SetDefaultVersion sets the DefaultVersion field's value.
  44534. func (s *LaunchTemplateVersion) SetDefaultVersion(v bool) *LaunchTemplateVersion {
  44535. s.DefaultVersion = &v
  44536. return s
  44537. }
  44538. // SetLaunchTemplateData sets the LaunchTemplateData field's value.
  44539. func (s *LaunchTemplateVersion) SetLaunchTemplateData(v *ResponseLaunchTemplateData) *LaunchTemplateVersion {
  44540. s.LaunchTemplateData = v
  44541. return s
  44542. }
  44543. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  44544. func (s *LaunchTemplateVersion) SetLaunchTemplateId(v string) *LaunchTemplateVersion {
  44545. s.LaunchTemplateId = &v
  44546. return s
  44547. }
  44548. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  44549. func (s *LaunchTemplateVersion) SetLaunchTemplateName(v string) *LaunchTemplateVersion {
  44550. s.LaunchTemplateName = &v
  44551. return s
  44552. }
  44553. // SetVersionDescription sets the VersionDescription field's value.
  44554. func (s *LaunchTemplateVersion) SetVersionDescription(v string) *LaunchTemplateVersion {
  44555. s.VersionDescription = &v
  44556. return s
  44557. }
  44558. // SetVersionNumber sets the VersionNumber field's value.
  44559. func (s *LaunchTemplateVersion) SetVersionNumber(v int64) *LaunchTemplateVersion {
  44560. s.VersionNumber = &v
  44561. return s
  44562. }
  44563. // Describes the monitoring for the instance.
  44564. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchTemplatesMonitoring
  44565. type LaunchTemplatesMonitoring struct {
  44566. _ struct{} `type:"structure"`
  44567. // Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring
  44568. // is enabled.
  44569. Enabled *bool `locationName:"enabled" type:"boolean"`
  44570. }
  44571. // String returns the string representation
  44572. func (s LaunchTemplatesMonitoring) String() string {
  44573. return awsutil.Prettify(s)
  44574. }
  44575. // GoString returns the string representation
  44576. func (s LaunchTemplatesMonitoring) GoString() string {
  44577. return s.String()
  44578. }
  44579. // SetEnabled sets the Enabled field's value.
  44580. func (s *LaunchTemplatesMonitoring) SetEnabled(v bool) *LaunchTemplatesMonitoring {
  44581. s.Enabled = &v
  44582. return s
  44583. }
  44584. // Describes the monitoring for the instance.
  44585. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchTemplatesMonitoringRequest
  44586. type LaunchTemplatesMonitoringRequest struct {
  44587. _ struct{} `type:"structure"`
  44588. // Specify true to enable detailed monitoring. Otherwise, basic monitoring is
  44589. // enabled.
  44590. Enabled *bool `type:"boolean"`
  44591. }
  44592. // String returns the string representation
  44593. func (s LaunchTemplatesMonitoringRequest) String() string {
  44594. return awsutil.Prettify(s)
  44595. }
  44596. // GoString returns the string representation
  44597. func (s LaunchTemplatesMonitoringRequest) GoString() string {
  44598. return s.String()
  44599. }
  44600. // SetEnabled sets the Enabled field's value.
  44601. func (s *LaunchTemplatesMonitoringRequest) SetEnabled(v bool) *LaunchTemplatesMonitoringRequest {
  44602. s.Enabled = &v
  44603. return s
  44604. }
  44605. // Describes the Classic Load Balancers and target groups to attach to a Spot
  44606. // Fleet request.
  44607. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LoadBalancersConfig
  44608. type LoadBalancersConfig struct {
  44609. _ struct{} `type:"structure"`
  44610. // The Classic Load Balancers.
  44611. ClassicLoadBalancersConfig *ClassicLoadBalancersConfig `locationName:"classicLoadBalancersConfig" type:"structure"`
  44612. // The target groups.
  44613. TargetGroupsConfig *TargetGroupsConfig `locationName:"targetGroupsConfig" type:"structure"`
  44614. }
  44615. // String returns the string representation
  44616. func (s LoadBalancersConfig) String() string {
  44617. return awsutil.Prettify(s)
  44618. }
  44619. // GoString returns the string representation
  44620. func (s LoadBalancersConfig) GoString() string {
  44621. return s.String()
  44622. }
  44623. // Validate inspects the fields of the type to determine if they are valid.
  44624. func (s *LoadBalancersConfig) Validate() error {
  44625. invalidParams := request.ErrInvalidParams{Context: "LoadBalancersConfig"}
  44626. if s.ClassicLoadBalancersConfig != nil {
  44627. if err := s.ClassicLoadBalancersConfig.Validate(); err != nil {
  44628. invalidParams.AddNested("ClassicLoadBalancersConfig", err.(request.ErrInvalidParams))
  44629. }
  44630. }
  44631. if s.TargetGroupsConfig != nil {
  44632. if err := s.TargetGroupsConfig.Validate(); err != nil {
  44633. invalidParams.AddNested("TargetGroupsConfig", err.(request.ErrInvalidParams))
  44634. }
  44635. }
  44636. if invalidParams.Len() > 0 {
  44637. return invalidParams
  44638. }
  44639. return nil
  44640. }
  44641. // SetClassicLoadBalancersConfig sets the ClassicLoadBalancersConfig field's value.
  44642. func (s *LoadBalancersConfig) SetClassicLoadBalancersConfig(v *ClassicLoadBalancersConfig) *LoadBalancersConfig {
  44643. s.ClassicLoadBalancersConfig = v
  44644. return s
  44645. }
  44646. // SetTargetGroupsConfig sets the TargetGroupsConfig field's value.
  44647. func (s *LoadBalancersConfig) SetTargetGroupsConfig(v *TargetGroupsConfig) *LoadBalancersConfig {
  44648. s.TargetGroupsConfig = v
  44649. return s
  44650. }
  44651. // Describes a load permission.
  44652. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LoadPermission
  44653. type LoadPermission struct {
  44654. _ struct{} `type:"structure"`
  44655. // The name of the group.
  44656. Group *string `locationName:"group" type:"string" enum:"PermissionGroup"`
  44657. // The AWS account ID.
  44658. UserId *string `locationName:"userId" type:"string"`
  44659. }
  44660. // String returns the string representation
  44661. func (s LoadPermission) String() string {
  44662. return awsutil.Prettify(s)
  44663. }
  44664. // GoString returns the string representation
  44665. func (s LoadPermission) GoString() string {
  44666. return s.String()
  44667. }
  44668. // SetGroup sets the Group field's value.
  44669. func (s *LoadPermission) SetGroup(v string) *LoadPermission {
  44670. s.Group = &v
  44671. return s
  44672. }
  44673. // SetUserId sets the UserId field's value.
  44674. func (s *LoadPermission) SetUserId(v string) *LoadPermission {
  44675. s.UserId = &v
  44676. return s
  44677. }
  44678. // Describes modifications to the load permissions of an Amazon FPGA image (AFI).
  44679. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LoadPermissionModifications
  44680. type LoadPermissionModifications struct {
  44681. _ struct{} `type:"structure"`
  44682. // The load permissions to add.
  44683. Add []*LoadPermissionRequest `locationNameList:"item" type:"list"`
  44684. // The load permissions to remove.
  44685. Remove []*LoadPermissionRequest `locationNameList:"item" type:"list"`
  44686. }
  44687. // String returns the string representation
  44688. func (s LoadPermissionModifications) String() string {
  44689. return awsutil.Prettify(s)
  44690. }
  44691. // GoString returns the string representation
  44692. func (s LoadPermissionModifications) GoString() string {
  44693. return s.String()
  44694. }
  44695. // SetAdd sets the Add field's value.
  44696. func (s *LoadPermissionModifications) SetAdd(v []*LoadPermissionRequest) *LoadPermissionModifications {
  44697. s.Add = v
  44698. return s
  44699. }
  44700. // SetRemove sets the Remove field's value.
  44701. func (s *LoadPermissionModifications) SetRemove(v []*LoadPermissionRequest) *LoadPermissionModifications {
  44702. s.Remove = v
  44703. return s
  44704. }
  44705. // Describes a load permission.
  44706. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LoadPermissionRequest
  44707. type LoadPermissionRequest struct {
  44708. _ struct{} `type:"structure"`
  44709. // The name of the group.
  44710. Group *string `type:"string" enum:"PermissionGroup"`
  44711. // The AWS account ID.
  44712. UserId *string `type:"string"`
  44713. }
  44714. // String returns the string representation
  44715. func (s LoadPermissionRequest) String() string {
  44716. return awsutil.Prettify(s)
  44717. }
  44718. // GoString returns the string representation
  44719. func (s LoadPermissionRequest) GoString() string {
  44720. return s.String()
  44721. }
  44722. // SetGroup sets the Group field's value.
  44723. func (s *LoadPermissionRequest) SetGroup(v string) *LoadPermissionRequest {
  44724. s.Group = &v
  44725. return s
  44726. }
  44727. // SetUserId sets the UserId field's value.
  44728. func (s *LoadPermissionRequest) SetUserId(v string) *LoadPermissionRequest {
  44729. s.UserId = &v
  44730. return s
  44731. }
  44732. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFpgaImageAttributeRequest
  44733. type ModifyFpgaImageAttributeInput struct {
  44734. _ struct{} `type:"structure"`
  44735. // The name of the attribute.
  44736. Attribute *string `type:"string" enum:"FpgaImageAttributeName"`
  44737. // A description for the AFI.
  44738. Description *string `type:"string"`
  44739. // Checks whether you have the required permissions for the action, without
  44740. // actually making the request, and provides an error response. If you have
  44741. // the required permissions, the error response is DryRunOperation. Otherwise,
  44742. // it is UnauthorizedOperation.
  44743. DryRun *bool `type:"boolean"`
  44744. // The ID of the AFI.
  44745. //
  44746. // FpgaImageId is a required field
  44747. FpgaImageId *string `type:"string" required:"true"`
  44748. // The load permission for the AFI.
  44749. LoadPermission *LoadPermissionModifications `type:"structure"`
  44750. // A name for the AFI.
  44751. Name *string `type:"string"`
  44752. // The operation type.
  44753. OperationType *string `type:"string" enum:"OperationType"`
  44754. // One or more product codes. After you add a product code to an AFI, it can't
  44755. // be removed. This parameter is valid only when modifying the productCodes
  44756. // attribute.
  44757. ProductCodes []*string `locationName:"ProductCode" locationNameList:"ProductCode" type:"list"`
  44758. // One or more user groups. This parameter is valid only when modifying the
  44759. // loadPermission attribute.
  44760. UserGroups []*string `locationName:"UserGroup" locationNameList:"UserGroup" type:"list"`
  44761. // One or more AWS account IDs. This parameter is valid only when modifying
  44762. // the loadPermission attribute.
  44763. UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"`
  44764. }
  44765. // String returns the string representation
  44766. func (s ModifyFpgaImageAttributeInput) String() string {
  44767. return awsutil.Prettify(s)
  44768. }
  44769. // GoString returns the string representation
  44770. func (s ModifyFpgaImageAttributeInput) GoString() string {
  44771. return s.String()
  44772. }
  44773. // Validate inspects the fields of the type to determine if they are valid.
  44774. func (s *ModifyFpgaImageAttributeInput) Validate() error {
  44775. invalidParams := request.ErrInvalidParams{Context: "ModifyFpgaImageAttributeInput"}
  44776. if s.FpgaImageId == nil {
  44777. invalidParams.Add(request.NewErrParamRequired("FpgaImageId"))
  44778. }
  44779. if invalidParams.Len() > 0 {
  44780. return invalidParams
  44781. }
  44782. return nil
  44783. }
  44784. // SetAttribute sets the Attribute field's value.
  44785. func (s *ModifyFpgaImageAttributeInput) SetAttribute(v string) *ModifyFpgaImageAttributeInput {
  44786. s.Attribute = &v
  44787. return s
  44788. }
  44789. // SetDescription sets the Description field's value.
  44790. func (s *ModifyFpgaImageAttributeInput) SetDescription(v string) *ModifyFpgaImageAttributeInput {
  44791. s.Description = &v
  44792. return s
  44793. }
  44794. // SetDryRun sets the DryRun field's value.
  44795. func (s *ModifyFpgaImageAttributeInput) SetDryRun(v bool) *ModifyFpgaImageAttributeInput {
  44796. s.DryRun = &v
  44797. return s
  44798. }
  44799. // SetFpgaImageId sets the FpgaImageId field's value.
  44800. func (s *ModifyFpgaImageAttributeInput) SetFpgaImageId(v string) *ModifyFpgaImageAttributeInput {
  44801. s.FpgaImageId = &v
  44802. return s
  44803. }
  44804. // SetLoadPermission sets the LoadPermission field's value.
  44805. func (s *ModifyFpgaImageAttributeInput) SetLoadPermission(v *LoadPermissionModifications) *ModifyFpgaImageAttributeInput {
  44806. s.LoadPermission = v
  44807. return s
  44808. }
  44809. // SetName sets the Name field's value.
  44810. func (s *ModifyFpgaImageAttributeInput) SetName(v string) *ModifyFpgaImageAttributeInput {
  44811. s.Name = &v
  44812. return s
  44813. }
  44814. // SetOperationType sets the OperationType field's value.
  44815. func (s *ModifyFpgaImageAttributeInput) SetOperationType(v string) *ModifyFpgaImageAttributeInput {
  44816. s.OperationType = &v
  44817. return s
  44818. }
  44819. // SetProductCodes sets the ProductCodes field's value.
  44820. func (s *ModifyFpgaImageAttributeInput) SetProductCodes(v []*string) *ModifyFpgaImageAttributeInput {
  44821. s.ProductCodes = v
  44822. return s
  44823. }
  44824. // SetUserGroups sets the UserGroups field's value.
  44825. func (s *ModifyFpgaImageAttributeInput) SetUserGroups(v []*string) *ModifyFpgaImageAttributeInput {
  44826. s.UserGroups = v
  44827. return s
  44828. }
  44829. // SetUserIds sets the UserIds field's value.
  44830. func (s *ModifyFpgaImageAttributeInput) SetUserIds(v []*string) *ModifyFpgaImageAttributeInput {
  44831. s.UserIds = v
  44832. return s
  44833. }
  44834. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFpgaImageAttributeResult
  44835. type ModifyFpgaImageAttributeOutput struct {
  44836. _ struct{} `type:"structure"`
  44837. // Information about the attribute.
  44838. FpgaImageAttribute *FpgaImageAttribute `locationName:"fpgaImageAttribute" type:"structure"`
  44839. }
  44840. // String returns the string representation
  44841. func (s ModifyFpgaImageAttributeOutput) String() string {
  44842. return awsutil.Prettify(s)
  44843. }
  44844. // GoString returns the string representation
  44845. func (s ModifyFpgaImageAttributeOutput) GoString() string {
  44846. return s.String()
  44847. }
  44848. // SetFpgaImageAttribute sets the FpgaImageAttribute field's value.
  44849. func (s *ModifyFpgaImageAttributeOutput) SetFpgaImageAttribute(v *FpgaImageAttribute) *ModifyFpgaImageAttributeOutput {
  44850. s.FpgaImageAttribute = v
  44851. return s
  44852. }
  44853. // Contains the parameters for ModifyHosts.
  44854. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyHostsRequest
  44855. type ModifyHostsInput struct {
  44856. _ struct{} `type:"structure"`
  44857. // Specify whether to enable or disable auto-placement.
  44858. //
  44859. // AutoPlacement is a required field
  44860. AutoPlacement *string `locationName:"autoPlacement" type:"string" required:"true" enum:"AutoPlacement"`
  44861. // The host IDs of the Dedicated Hosts you want to modify.
  44862. //
  44863. // HostIds is a required field
  44864. HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list" required:"true"`
  44865. }
  44866. // String returns the string representation
  44867. func (s ModifyHostsInput) String() string {
  44868. return awsutil.Prettify(s)
  44869. }
  44870. // GoString returns the string representation
  44871. func (s ModifyHostsInput) GoString() string {
  44872. return s.String()
  44873. }
  44874. // Validate inspects the fields of the type to determine if they are valid.
  44875. func (s *ModifyHostsInput) Validate() error {
  44876. invalidParams := request.ErrInvalidParams{Context: "ModifyHostsInput"}
  44877. if s.AutoPlacement == nil {
  44878. invalidParams.Add(request.NewErrParamRequired("AutoPlacement"))
  44879. }
  44880. if s.HostIds == nil {
  44881. invalidParams.Add(request.NewErrParamRequired("HostIds"))
  44882. }
  44883. if invalidParams.Len() > 0 {
  44884. return invalidParams
  44885. }
  44886. return nil
  44887. }
  44888. // SetAutoPlacement sets the AutoPlacement field's value.
  44889. func (s *ModifyHostsInput) SetAutoPlacement(v string) *ModifyHostsInput {
  44890. s.AutoPlacement = &v
  44891. return s
  44892. }
  44893. // SetHostIds sets the HostIds field's value.
  44894. func (s *ModifyHostsInput) SetHostIds(v []*string) *ModifyHostsInput {
  44895. s.HostIds = v
  44896. return s
  44897. }
  44898. // Contains the output of ModifyHosts.
  44899. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyHostsResult
  44900. type ModifyHostsOutput struct {
  44901. _ struct{} `type:"structure"`
  44902. // The IDs of the Dedicated Hosts that were successfully modified.
  44903. Successful []*string `locationName:"successful" locationNameList:"item" type:"list"`
  44904. // The IDs of the Dedicated Hosts that could not be modified. Check whether
  44905. // the setting you requested can be used.
  44906. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  44907. }
  44908. // String returns the string representation
  44909. func (s ModifyHostsOutput) String() string {
  44910. return awsutil.Prettify(s)
  44911. }
  44912. // GoString returns the string representation
  44913. func (s ModifyHostsOutput) GoString() string {
  44914. return s.String()
  44915. }
  44916. // SetSuccessful sets the Successful field's value.
  44917. func (s *ModifyHostsOutput) SetSuccessful(v []*string) *ModifyHostsOutput {
  44918. s.Successful = v
  44919. return s
  44920. }
  44921. // SetUnsuccessful sets the Unsuccessful field's value.
  44922. func (s *ModifyHostsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *ModifyHostsOutput {
  44923. s.Unsuccessful = v
  44924. return s
  44925. }
  44926. // Contains the parameters of ModifyIdFormat.
  44927. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdFormatRequest
  44928. type ModifyIdFormatInput struct {
  44929. _ struct{} `type:"structure"`
  44930. // The type of resource: instance | reservation | snapshot | volume
  44931. //
  44932. // Resource is a required field
  44933. Resource *string `type:"string" required:"true"`
  44934. // Indicate whether the resource should use longer IDs (17-character IDs).
  44935. //
  44936. // UseLongIds is a required field
  44937. UseLongIds *bool `type:"boolean" required:"true"`
  44938. }
  44939. // String returns the string representation
  44940. func (s ModifyIdFormatInput) String() string {
  44941. return awsutil.Prettify(s)
  44942. }
  44943. // GoString returns the string representation
  44944. func (s ModifyIdFormatInput) GoString() string {
  44945. return s.String()
  44946. }
  44947. // Validate inspects the fields of the type to determine if they are valid.
  44948. func (s *ModifyIdFormatInput) Validate() error {
  44949. invalidParams := request.ErrInvalidParams{Context: "ModifyIdFormatInput"}
  44950. if s.Resource == nil {
  44951. invalidParams.Add(request.NewErrParamRequired("Resource"))
  44952. }
  44953. if s.UseLongIds == nil {
  44954. invalidParams.Add(request.NewErrParamRequired("UseLongIds"))
  44955. }
  44956. if invalidParams.Len() > 0 {
  44957. return invalidParams
  44958. }
  44959. return nil
  44960. }
  44961. // SetResource sets the Resource field's value.
  44962. func (s *ModifyIdFormatInput) SetResource(v string) *ModifyIdFormatInput {
  44963. s.Resource = &v
  44964. return s
  44965. }
  44966. // SetUseLongIds sets the UseLongIds field's value.
  44967. func (s *ModifyIdFormatInput) SetUseLongIds(v bool) *ModifyIdFormatInput {
  44968. s.UseLongIds = &v
  44969. return s
  44970. }
  44971. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdFormatOutput
  44972. type ModifyIdFormatOutput struct {
  44973. _ struct{} `type:"structure"`
  44974. }
  44975. // String returns the string representation
  44976. func (s ModifyIdFormatOutput) String() string {
  44977. return awsutil.Prettify(s)
  44978. }
  44979. // GoString returns the string representation
  44980. func (s ModifyIdFormatOutput) GoString() string {
  44981. return s.String()
  44982. }
  44983. // Contains the parameters of ModifyIdentityIdFormat.
  44984. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdentityIdFormatRequest
  44985. type ModifyIdentityIdFormatInput struct {
  44986. _ struct{} `type:"structure"`
  44987. // The ARN of the principal, which can be an IAM user, IAM role, or the root
  44988. // user. Specify all to modify the ID format for all IAM users, IAM roles, and
  44989. // the root user of the account.
  44990. //
  44991. // PrincipalArn is a required field
  44992. PrincipalArn *string `locationName:"principalArn" type:"string" required:"true"`
  44993. // The type of resource: instance | reservation | snapshot | volume
  44994. //
  44995. // Resource is a required field
  44996. Resource *string `locationName:"resource" type:"string" required:"true"`
  44997. // Indicates whether the resource should use longer IDs (17-character IDs)
  44998. //
  44999. // UseLongIds is a required field
  45000. UseLongIds *bool `locationName:"useLongIds" type:"boolean" required:"true"`
  45001. }
  45002. // String returns the string representation
  45003. func (s ModifyIdentityIdFormatInput) String() string {
  45004. return awsutil.Prettify(s)
  45005. }
  45006. // GoString returns the string representation
  45007. func (s ModifyIdentityIdFormatInput) GoString() string {
  45008. return s.String()
  45009. }
  45010. // Validate inspects the fields of the type to determine if they are valid.
  45011. func (s *ModifyIdentityIdFormatInput) Validate() error {
  45012. invalidParams := request.ErrInvalidParams{Context: "ModifyIdentityIdFormatInput"}
  45013. if s.PrincipalArn == nil {
  45014. invalidParams.Add(request.NewErrParamRequired("PrincipalArn"))
  45015. }
  45016. if s.Resource == nil {
  45017. invalidParams.Add(request.NewErrParamRequired("Resource"))
  45018. }
  45019. if s.UseLongIds == nil {
  45020. invalidParams.Add(request.NewErrParamRequired("UseLongIds"))
  45021. }
  45022. if invalidParams.Len() > 0 {
  45023. return invalidParams
  45024. }
  45025. return nil
  45026. }
  45027. // SetPrincipalArn sets the PrincipalArn field's value.
  45028. func (s *ModifyIdentityIdFormatInput) SetPrincipalArn(v string) *ModifyIdentityIdFormatInput {
  45029. s.PrincipalArn = &v
  45030. return s
  45031. }
  45032. // SetResource sets the Resource field's value.
  45033. func (s *ModifyIdentityIdFormatInput) SetResource(v string) *ModifyIdentityIdFormatInput {
  45034. s.Resource = &v
  45035. return s
  45036. }
  45037. // SetUseLongIds sets the UseLongIds field's value.
  45038. func (s *ModifyIdentityIdFormatInput) SetUseLongIds(v bool) *ModifyIdentityIdFormatInput {
  45039. s.UseLongIds = &v
  45040. return s
  45041. }
  45042. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdentityIdFormatOutput
  45043. type ModifyIdentityIdFormatOutput struct {
  45044. _ struct{} `type:"structure"`
  45045. }
  45046. // String returns the string representation
  45047. func (s ModifyIdentityIdFormatOutput) String() string {
  45048. return awsutil.Prettify(s)
  45049. }
  45050. // GoString returns the string representation
  45051. func (s ModifyIdentityIdFormatOutput) GoString() string {
  45052. return s.String()
  45053. }
  45054. // Contains the parameters for ModifyImageAttribute.
  45055. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyImageAttributeRequest
  45056. type ModifyImageAttributeInput struct {
  45057. _ struct{} `type:"structure"`
  45058. // The name of the attribute to modify. The valid values are description, launchPermission,
  45059. // and productCodes.
  45060. Attribute *string `type:"string"`
  45061. // A new description for the AMI.
  45062. Description *AttributeValue `type:"structure"`
  45063. // Checks whether you have the required permissions for the action, without
  45064. // actually making the request, and provides an error response. If you have
  45065. // the required permissions, the error response is DryRunOperation. Otherwise,
  45066. // it is UnauthorizedOperation.
  45067. DryRun *bool `locationName:"dryRun" type:"boolean"`
  45068. // The ID of the AMI.
  45069. //
  45070. // ImageId is a required field
  45071. ImageId *string `type:"string" required:"true"`
  45072. // A new launch permission for the AMI.
  45073. LaunchPermission *LaunchPermissionModifications `type:"structure"`
  45074. // The operation type. This parameter can be used only when the Attribute parameter
  45075. // is launchPermission.
  45076. OperationType *string `type:"string" enum:"OperationType"`
  45077. // One or more DevPay product codes. After you add a product code to an AMI,
  45078. // it can't be removed.
  45079. ProductCodes []*string `locationName:"ProductCode" locationNameList:"ProductCode" type:"list"`
  45080. // One or more user groups. This parameter can be used only when the Attribute
  45081. // parameter is launchPermission.
  45082. UserGroups []*string `locationName:"UserGroup" locationNameList:"UserGroup" type:"list"`
  45083. // One or more AWS account IDs. This parameter can be used only when the Attribute
  45084. // parameter is launchPermission.
  45085. UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"`
  45086. // The value of the attribute being modified. This parameter can be used only
  45087. // when the Attribute parameter is description or productCodes.
  45088. Value *string `type:"string"`
  45089. }
  45090. // String returns the string representation
  45091. func (s ModifyImageAttributeInput) String() string {
  45092. return awsutil.Prettify(s)
  45093. }
  45094. // GoString returns the string representation
  45095. func (s ModifyImageAttributeInput) GoString() string {
  45096. return s.String()
  45097. }
  45098. // Validate inspects the fields of the type to determine if they are valid.
  45099. func (s *ModifyImageAttributeInput) Validate() error {
  45100. invalidParams := request.ErrInvalidParams{Context: "ModifyImageAttributeInput"}
  45101. if s.ImageId == nil {
  45102. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  45103. }
  45104. if invalidParams.Len() > 0 {
  45105. return invalidParams
  45106. }
  45107. return nil
  45108. }
  45109. // SetAttribute sets the Attribute field's value.
  45110. func (s *ModifyImageAttributeInput) SetAttribute(v string) *ModifyImageAttributeInput {
  45111. s.Attribute = &v
  45112. return s
  45113. }
  45114. // SetDescription sets the Description field's value.
  45115. func (s *ModifyImageAttributeInput) SetDescription(v *AttributeValue) *ModifyImageAttributeInput {
  45116. s.Description = v
  45117. return s
  45118. }
  45119. // SetDryRun sets the DryRun field's value.
  45120. func (s *ModifyImageAttributeInput) SetDryRun(v bool) *ModifyImageAttributeInput {
  45121. s.DryRun = &v
  45122. return s
  45123. }
  45124. // SetImageId sets the ImageId field's value.
  45125. func (s *ModifyImageAttributeInput) SetImageId(v string) *ModifyImageAttributeInput {
  45126. s.ImageId = &v
  45127. return s
  45128. }
  45129. // SetLaunchPermission sets the LaunchPermission field's value.
  45130. func (s *ModifyImageAttributeInput) SetLaunchPermission(v *LaunchPermissionModifications) *ModifyImageAttributeInput {
  45131. s.LaunchPermission = v
  45132. return s
  45133. }
  45134. // SetOperationType sets the OperationType field's value.
  45135. func (s *ModifyImageAttributeInput) SetOperationType(v string) *ModifyImageAttributeInput {
  45136. s.OperationType = &v
  45137. return s
  45138. }
  45139. // SetProductCodes sets the ProductCodes field's value.
  45140. func (s *ModifyImageAttributeInput) SetProductCodes(v []*string) *ModifyImageAttributeInput {
  45141. s.ProductCodes = v
  45142. return s
  45143. }
  45144. // SetUserGroups sets the UserGroups field's value.
  45145. func (s *ModifyImageAttributeInput) SetUserGroups(v []*string) *ModifyImageAttributeInput {
  45146. s.UserGroups = v
  45147. return s
  45148. }
  45149. // SetUserIds sets the UserIds field's value.
  45150. func (s *ModifyImageAttributeInput) SetUserIds(v []*string) *ModifyImageAttributeInput {
  45151. s.UserIds = v
  45152. return s
  45153. }
  45154. // SetValue sets the Value field's value.
  45155. func (s *ModifyImageAttributeInput) SetValue(v string) *ModifyImageAttributeInput {
  45156. s.Value = &v
  45157. return s
  45158. }
  45159. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyImageAttributeOutput
  45160. type ModifyImageAttributeOutput struct {
  45161. _ struct{} `type:"structure"`
  45162. }
  45163. // String returns the string representation
  45164. func (s ModifyImageAttributeOutput) String() string {
  45165. return awsutil.Prettify(s)
  45166. }
  45167. // GoString returns the string representation
  45168. func (s ModifyImageAttributeOutput) GoString() string {
  45169. return s.String()
  45170. }
  45171. // Contains the parameters for ModifyInstanceAttribute.
  45172. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceAttributeRequest
  45173. type ModifyInstanceAttributeInput struct {
  45174. _ struct{} `type:"structure"`
  45175. // The name of the attribute.
  45176. Attribute *string `locationName:"attribute" type:"string" enum:"InstanceAttributeName"`
  45177. // Modifies the DeleteOnTermination attribute for volumes that are currently
  45178. // attached. The volume must be owned by the caller. If no value is specified
  45179. // for DeleteOnTermination, the default is true and the volume is deleted when
  45180. // the instance is terminated.
  45181. //
  45182. // To add instance store volumes to an Amazon EBS-backed instance, you must
  45183. // add them when you launch the instance. For more information, see Updating
  45184. // the Block Device Mapping when Launching an Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html#Using_OverridingAMIBDM)
  45185. // in the Amazon Elastic Compute Cloud User Guide.
  45186. BlockDeviceMappings []*InstanceBlockDeviceMappingSpecification `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  45187. // If the value is true, you can't terminate the instance using the Amazon EC2
  45188. // console, CLI, or API; otherwise, you can. You cannot use this parameter for
  45189. // Spot Instances.
  45190. DisableApiTermination *AttributeBooleanValue `locationName:"disableApiTermination" type:"structure"`
  45191. // Checks whether you have the required permissions for the action, without
  45192. // actually making the request, and provides an error response. If you have
  45193. // the required permissions, the error response is DryRunOperation. Otherwise,
  45194. // it is UnauthorizedOperation.
  45195. DryRun *bool `locationName:"dryRun" type:"boolean"`
  45196. // Specifies whether the instance is optimized for Amazon EBS I/O. This optimization
  45197. // provides dedicated throughput to Amazon EBS and an optimized configuration
  45198. // stack to provide optimal EBS I/O performance. This optimization isn't available
  45199. // with all instance types. Additional usage charges apply when using an EBS
  45200. // Optimized instance.
  45201. EbsOptimized *AttributeBooleanValue `locationName:"ebsOptimized" type:"structure"`
  45202. // Set to true to enable enhanced networking with ENA for the instance.
  45203. //
  45204. // This option is supported only for HVM instances. Specifying this option with
  45205. // a PV instance can make it unreachable.
  45206. EnaSupport *AttributeBooleanValue `locationName:"enaSupport" type:"structure"`
  45207. // [EC2-VPC] Changes the security groups of the instance. You must specify at
  45208. // least one security group, even if it's just the default security group for
  45209. // the VPC. You must specify the security group ID, not the security group name.
  45210. Groups []*string `locationName:"GroupId" locationNameList:"groupId" type:"list"`
  45211. // The ID of the instance.
  45212. //
  45213. // InstanceId is a required field
  45214. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  45215. // Specifies whether an instance stops or terminates when you initiate shutdown
  45216. // from the instance (using the operating system command for system shutdown).
  45217. InstanceInitiatedShutdownBehavior *AttributeValue `locationName:"instanceInitiatedShutdownBehavior" type:"structure"`
  45218. // Changes the instance type to the specified value. For more information, see
  45219. // Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).
  45220. // If the instance type is not valid, the error returned is InvalidInstanceAttributeValue.
  45221. InstanceType *AttributeValue `locationName:"instanceType" type:"structure"`
  45222. // Changes the instance's kernel to the specified value. We recommend that you
  45223. // use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB
  45224. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html).
  45225. Kernel *AttributeValue `locationName:"kernel" type:"structure"`
  45226. // Changes the instance's RAM disk to the specified value. We recommend that
  45227. // you use PV-GRUB instead of kernels and RAM disks. For more information, see
  45228. // PV-GRUB (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html).
  45229. Ramdisk *AttributeValue `locationName:"ramdisk" type:"structure"`
  45230. // Specifies whether source/destination checking is enabled. A value of true
  45231. // means that checking is enabled, and false means that checking is disabled.
  45232. // This value must be false for a NAT instance to perform NAT.
  45233. SourceDestCheck *AttributeBooleanValue `type:"structure"`
  45234. // Set to simple to enable enhanced networking with the Intel 82599 Virtual
  45235. // Function interface for the instance.
  45236. //
  45237. // There is no way to disable enhanced networking with the Intel 82599 Virtual
  45238. // Function interface at this time.
  45239. //
  45240. // This option is supported only for HVM instances. Specifying this option with
  45241. // a PV instance can make it unreachable.
  45242. SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
  45243. // Changes the instance's user data to the specified value. If you are using
  45244. // an AWS SDK or command line tool, base64-encoding is performed for you, and
  45245. // you can load the text from a file. Otherwise, you must provide base64-encoded
  45246. // text.
  45247. UserData *BlobAttributeValue `locationName:"userData" type:"structure"`
  45248. // A new value for the attribute. Use only with the kernel, ramdisk, userData,
  45249. // disableApiTermination, or instanceInitiatedShutdownBehavior attribute.
  45250. Value *string `locationName:"value" type:"string"`
  45251. }
  45252. // String returns the string representation
  45253. func (s ModifyInstanceAttributeInput) String() string {
  45254. return awsutil.Prettify(s)
  45255. }
  45256. // GoString returns the string representation
  45257. func (s ModifyInstanceAttributeInput) GoString() string {
  45258. return s.String()
  45259. }
  45260. // Validate inspects the fields of the type to determine if they are valid.
  45261. func (s *ModifyInstanceAttributeInput) Validate() error {
  45262. invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceAttributeInput"}
  45263. if s.InstanceId == nil {
  45264. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  45265. }
  45266. if invalidParams.Len() > 0 {
  45267. return invalidParams
  45268. }
  45269. return nil
  45270. }
  45271. // SetAttribute sets the Attribute field's value.
  45272. func (s *ModifyInstanceAttributeInput) SetAttribute(v string) *ModifyInstanceAttributeInput {
  45273. s.Attribute = &v
  45274. return s
  45275. }
  45276. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  45277. func (s *ModifyInstanceAttributeInput) SetBlockDeviceMappings(v []*InstanceBlockDeviceMappingSpecification) *ModifyInstanceAttributeInput {
  45278. s.BlockDeviceMappings = v
  45279. return s
  45280. }
  45281. // SetDisableApiTermination sets the DisableApiTermination field's value.
  45282. func (s *ModifyInstanceAttributeInput) SetDisableApiTermination(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
  45283. s.DisableApiTermination = v
  45284. return s
  45285. }
  45286. // SetDryRun sets the DryRun field's value.
  45287. func (s *ModifyInstanceAttributeInput) SetDryRun(v bool) *ModifyInstanceAttributeInput {
  45288. s.DryRun = &v
  45289. return s
  45290. }
  45291. // SetEbsOptimized sets the EbsOptimized field's value.
  45292. func (s *ModifyInstanceAttributeInput) SetEbsOptimized(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
  45293. s.EbsOptimized = v
  45294. return s
  45295. }
  45296. // SetEnaSupport sets the EnaSupport field's value.
  45297. func (s *ModifyInstanceAttributeInput) SetEnaSupport(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
  45298. s.EnaSupport = v
  45299. return s
  45300. }
  45301. // SetGroups sets the Groups field's value.
  45302. func (s *ModifyInstanceAttributeInput) SetGroups(v []*string) *ModifyInstanceAttributeInput {
  45303. s.Groups = v
  45304. return s
  45305. }
  45306. // SetInstanceId sets the InstanceId field's value.
  45307. func (s *ModifyInstanceAttributeInput) SetInstanceId(v string) *ModifyInstanceAttributeInput {
  45308. s.InstanceId = &v
  45309. return s
  45310. }
  45311. // SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
  45312. func (s *ModifyInstanceAttributeInput) SetInstanceInitiatedShutdownBehavior(v *AttributeValue) *ModifyInstanceAttributeInput {
  45313. s.InstanceInitiatedShutdownBehavior = v
  45314. return s
  45315. }
  45316. // SetInstanceType sets the InstanceType field's value.
  45317. func (s *ModifyInstanceAttributeInput) SetInstanceType(v *AttributeValue) *ModifyInstanceAttributeInput {
  45318. s.InstanceType = v
  45319. return s
  45320. }
  45321. // SetKernel sets the Kernel field's value.
  45322. func (s *ModifyInstanceAttributeInput) SetKernel(v *AttributeValue) *ModifyInstanceAttributeInput {
  45323. s.Kernel = v
  45324. return s
  45325. }
  45326. // SetRamdisk sets the Ramdisk field's value.
  45327. func (s *ModifyInstanceAttributeInput) SetRamdisk(v *AttributeValue) *ModifyInstanceAttributeInput {
  45328. s.Ramdisk = v
  45329. return s
  45330. }
  45331. // SetSourceDestCheck sets the SourceDestCheck field's value.
  45332. func (s *ModifyInstanceAttributeInput) SetSourceDestCheck(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
  45333. s.SourceDestCheck = v
  45334. return s
  45335. }
  45336. // SetSriovNetSupport sets the SriovNetSupport field's value.
  45337. func (s *ModifyInstanceAttributeInput) SetSriovNetSupport(v *AttributeValue) *ModifyInstanceAttributeInput {
  45338. s.SriovNetSupport = v
  45339. return s
  45340. }
  45341. // SetUserData sets the UserData field's value.
  45342. func (s *ModifyInstanceAttributeInput) SetUserData(v *BlobAttributeValue) *ModifyInstanceAttributeInput {
  45343. s.UserData = v
  45344. return s
  45345. }
  45346. // SetValue sets the Value field's value.
  45347. func (s *ModifyInstanceAttributeInput) SetValue(v string) *ModifyInstanceAttributeInput {
  45348. s.Value = &v
  45349. return s
  45350. }
  45351. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceAttributeOutput
  45352. type ModifyInstanceAttributeOutput struct {
  45353. _ struct{} `type:"structure"`
  45354. }
  45355. // String returns the string representation
  45356. func (s ModifyInstanceAttributeOutput) String() string {
  45357. return awsutil.Prettify(s)
  45358. }
  45359. // GoString returns the string representation
  45360. func (s ModifyInstanceAttributeOutput) GoString() string {
  45361. return s.String()
  45362. }
  45363. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceCreditSpecificationRequest
  45364. type ModifyInstanceCreditSpecificationInput struct {
  45365. _ struct{} `type:"structure"`
  45366. // A unique, case-sensitive token that you provide to ensure idempotency of
  45367. // your modification request. For more information, see Ensuring Idempotency
  45368. // (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  45369. ClientToken *string `type:"string"`
  45370. // Checks whether you have the required permissions for the action, without
  45371. // actually making the request, and provides an error response. If you have
  45372. // the required permissions, the error response is DryRunOperation. Otherwise,
  45373. // it is UnauthorizedOperation.
  45374. DryRun *bool `type:"boolean"`
  45375. // Information about the credit option for CPU usage.
  45376. //
  45377. // InstanceCreditSpecifications is a required field
  45378. InstanceCreditSpecifications []*InstanceCreditSpecificationRequest `locationName:"InstanceCreditSpecification" locationNameList:"item" type:"list" required:"true"`
  45379. }
  45380. // String returns the string representation
  45381. func (s ModifyInstanceCreditSpecificationInput) String() string {
  45382. return awsutil.Prettify(s)
  45383. }
  45384. // GoString returns the string representation
  45385. func (s ModifyInstanceCreditSpecificationInput) GoString() string {
  45386. return s.String()
  45387. }
  45388. // Validate inspects the fields of the type to determine if they are valid.
  45389. func (s *ModifyInstanceCreditSpecificationInput) Validate() error {
  45390. invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceCreditSpecificationInput"}
  45391. if s.InstanceCreditSpecifications == nil {
  45392. invalidParams.Add(request.NewErrParamRequired("InstanceCreditSpecifications"))
  45393. }
  45394. if invalidParams.Len() > 0 {
  45395. return invalidParams
  45396. }
  45397. return nil
  45398. }
  45399. // SetClientToken sets the ClientToken field's value.
  45400. func (s *ModifyInstanceCreditSpecificationInput) SetClientToken(v string) *ModifyInstanceCreditSpecificationInput {
  45401. s.ClientToken = &v
  45402. return s
  45403. }
  45404. // SetDryRun sets the DryRun field's value.
  45405. func (s *ModifyInstanceCreditSpecificationInput) SetDryRun(v bool) *ModifyInstanceCreditSpecificationInput {
  45406. s.DryRun = &v
  45407. return s
  45408. }
  45409. // SetInstanceCreditSpecifications sets the InstanceCreditSpecifications field's value.
  45410. func (s *ModifyInstanceCreditSpecificationInput) SetInstanceCreditSpecifications(v []*InstanceCreditSpecificationRequest) *ModifyInstanceCreditSpecificationInput {
  45411. s.InstanceCreditSpecifications = v
  45412. return s
  45413. }
  45414. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceCreditSpecificationResult
  45415. type ModifyInstanceCreditSpecificationOutput struct {
  45416. _ struct{} `type:"structure"`
  45417. // Information about the instances whose credit option for CPU usage was successfully
  45418. // modified.
  45419. SuccessfulInstanceCreditSpecifications []*SuccessfulInstanceCreditSpecificationItem `locationName:"successfulInstanceCreditSpecificationSet" locationNameList:"item" type:"list"`
  45420. // Information about the instances whose credit option for CPU usage was not
  45421. // modified.
  45422. UnsuccessfulInstanceCreditSpecifications []*UnsuccessfulInstanceCreditSpecificationItem `locationName:"unsuccessfulInstanceCreditSpecificationSet" locationNameList:"item" type:"list"`
  45423. }
  45424. // String returns the string representation
  45425. func (s ModifyInstanceCreditSpecificationOutput) String() string {
  45426. return awsutil.Prettify(s)
  45427. }
  45428. // GoString returns the string representation
  45429. func (s ModifyInstanceCreditSpecificationOutput) GoString() string {
  45430. return s.String()
  45431. }
  45432. // SetSuccessfulInstanceCreditSpecifications sets the SuccessfulInstanceCreditSpecifications field's value.
  45433. func (s *ModifyInstanceCreditSpecificationOutput) SetSuccessfulInstanceCreditSpecifications(v []*SuccessfulInstanceCreditSpecificationItem) *ModifyInstanceCreditSpecificationOutput {
  45434. s.SuccessfulInstanceCreditSpecifications = v
  45435. return s
  45436. }
  45437. // SetUnsuccessfulInstanceCreditSpecifications sets the UnsuccessfulInstanceCreditSpecifications field's value.
  45438. func (s *ModifyInstanceCreditSpecificationOutput) SetUnsuccessfulInstanceCreditSpecifications(v []*UnsuccessfulInstanceCreditSpecificationItem) *ModifyInstanceCreditSpecificationOutput {
  45439. s.UnsuccessfulInstanceCreditSpecifications = v
  45440. return s
  45441. }
  45442. // Contains the parameters for ModifyInstancePlacement.
  45443. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstancePlacementRequest
  45444. type ModifyInstancePlacementInput struct {
  45445. _ struct{} `type:"structure"`
  45446. // The new affinity setting for the instance.
  45447. Affinity *string `locationName:"affinity" type:"string" enum:"Affinity"`
  45448. // The ID of the Dedicated Host that the instance will have affinity with.
  45449. HostId *string `locationName:"hostId" type:"string"`
  45450. // The ID of the instance that you are modifying.
  45451. //
  45452. // InstanceId is a required field
  45453. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  45454. // The tenancy of the instance that you are modifying.
  45455. Tenancy *string `locationName:"tenancy" type:"string" enum:"HostTenancy"`
  45456. }
  45457. // String returns the string representation
  45458. func (s ModifyInstancePlacementInput) String() string {
  45459. return awsutil.Prettify(s)
  45460. }
  45461. // GoString returns the string representation
  45462. func (s ModifyInstancePlacementInput) GoString() string {
  45463. return s.String()
  45464. }
  45465. // Validate inspects the fields of the type to determine if they are valid.
  45466. func (s *ModifyInstancePlacementInput) Validate() error {
  45467. invalidParams := request.ErrInvalidParams{Context: "ModifyInstancePlacementInput"}
  45468. if s.InstanceId == nil {
  45469. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  45470. }
  45471. if invalidParams.Len() > 0 {
  45472. return invalidParams
  45473. }
  45474. return nil
  45475. }
  45476. // SetAffinity sets the Affinity field's value.
  45477. func (s *ModifyInstancePlacementInput) SetAffinity(v string) *ModifyInstancePlacementInput {
  45478. s.Affinity = &v
  45479. return s
  45480. }
  45481. // SetHostId sets the HostId field's value.
  45482. func (s *ModifyInstancePlacementInput) SetHostId(v string) *ModifyInstancePlacementInput {
  45483. s.HostId = &v
  45484. return s
  45485. }
  45486. // SetInstanceId sets the InstanceId field's value.
  45487. func (s *ModifyInstancePlacementInput) SetInstanceId(v string) *ModifyInstancePlacementInput {
  45488. s.InstanceId = &v
  45489. return s
  45490. }
  45491. // SetTenancy sets the Tenancy field's value.
  45492. func (s *ModifyInstancePlacementInput) SetTenancy(v string) *ModifyInstancePlacementInput {
  45493. s.Tenancy = &v
  45494. return s
  45495. }
  45496. // Contains the output of ModifyInstancePlacement.
  45497. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstancePlacementResult
  45498. type ModifyInstancePlacementOutput struct {
  45499. _ struct{} `type:"structure"`
  45500. // Is true if the request succeeds, and an error otherwise.
  45501. Return *bool `locationName:"return" type:"boolean"`
  45502. }
  45503. // String returns the string representation
  45504. func (s ModifyInstancePlacementOutput) String() string {
  45505. return awsutil.Prettify(s)
  45506. }
  45507. // GoString returns the string representation
  45508. func (s ModifyInstancePlacementOutput) GoString() string {
  45509. return s.String()
  45510. }
  45511. // SetReturn sets the Return field's value.
  45512. func (s *ModifyInstancePlacementOutput) SetReturn(v bool) *ModifyInstancePlacementOutput {
  45513. s.Return = &v
  45514. return s
  45515. }
  45516. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyLaunchTemplateRequest
  45517. type ModifyLaunchTemplateInput struct {
  45518. _ struct{} `type:"structure"`
  45519. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  45520. // the request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  45521. ClientToken *string `type:"string"`
  45522. // The version number of the launch template to set as the default version.
  45523. DefaultVersion *string `locationName:"SetDefaultVersion" type:"string"`
  45524. // Checks whether you have the required permissions for the action, without
  45525. // actually making the request, and provides an error response. If you have
  45526. // the required permissions, the error response is DryRunOperation. Otherwise,
  45527. // it is UnauthorizedOperation.
  45528. DryRun *bool `type:"boolean"`
  45529. // The ID of the launch template. You must specify either the launch template
  45530. // ID or launch template name in the request.
  45531. LaunchTemplateId *string `type:"string"`
  45532. // The name of the launch template. You must specify either the launch template
  45533. // ID or launch template name in the request.
  45534. LaunchTemplateName *string `min:"3" type:"string"`
  45535. }
  45536. // String returns the string representation
  45537. func (s ModifyLaunchTemplateInput) String() string {
  45538. return awsutil.Prettify(s)
  45539. }
  45540. // GoString returns the string representation
  45541. func (s ModifyLaunchTemplateInput) GoString() string {
  45542. return s.String()
  45543. }
  45544. // Validate inspects the fields of the type to determine if they are valid.
  45545. func (s *ModifyLaunchTemplateInput) Validate() error {
  45546. invalidParams := request.ErrInvalidParams{Context: "ModifyLaunchTemplateInput"}
  45547. if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
  45548. invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
  45549. }
  45550. if invalidParams.Len() > 0 {
  45551. return invalidParams
  45552. }
  45553. return nil
  45554. }
  45555. // SetClientToken sets the ClientToken field's value.
  45556. func (s *ModifyLaunchTemplateInput) SetClientToken(v string) *ModifyLaunchTemplateInput {
  45557. s.ClientToken = &v
  45558. return s
  45559. }
  45560. // SetDefaultVersion sets the DefaultVersion field's value.
  45561. func (s *ModifyLaunchTemplateInput) SetDefaultVersion(v string) *ModifyLaunchTemplateInput {
  45562. s.DefaultVersion = &v
  45563. return s
  45564. }
  45565. // SetDryRun sets the DryRun field's value.
  45566. func (s *ModifyLaunchTemplateInput) SetDryRun(v bool) *ModifyLaunchTemplateInput {
  45567. s.DryRun = &v
  45568. return s
  45569. }
  45570. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  45571. func (s *ModifyLaunchTemplateInput) SetLaunchTemplateId(v string) *ModifyLaunchTemplateInput {
  45572. s.LaunchTemplateId = &v
  45573. return s
  45574. }
  45575. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  45576. func (s *ModifyLaunchTemplateInput) SetLaunchTemplateName(v string) *ModifyLaunchTemplateInput {
  45577. s.LaunchTemplateName = &v
  45578. return s
  45579. }
  45580. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyLaunchTemplateResult
  45581. type ModifyLaunchTemplateOutput struct {
  45582. _ struct{} `type:"structure"`
  45583. // Information about the launch template.
  45584. LaunchTemplate *LaunchTemplate `locationName:"launchTemplate" type:"structure"`
  45585. }
  45586. // String returns the string representation
  45587. func (s ModifyLaunchTemplateOutput) String() string {
  45588. return awsutil.Prettify(s)
  45589. }
  45590. // GoString returns the string representation
  45591. func (s ModifyLaunchTemplateOutput) GoString() string {
  45592. return s.String()
  45593. }
  45594. // SetLaunchTemplate sets the LaunchTemplate field's value.
  45595. func (s *ModifyLaunchTemplateOutput) SetLaunchTemplate(v *LaunchTemplate) *ModifyLaunchTemplateOutput {
  45596. s.LaunchTemplate = v
  45597. return s
  45598. }
  45599. // Contains the parameters for ModifyNetworkInterfaceAttribute.
  45600. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyNetworkInterfaceAttributeRequest
  45601. type ModifyNetworkInterfaceAttributeInput struct {
  45602. _ struct{} `type:"structure"`
  45603. // Information about the interface attachment. If modifying the 'delete on termination'
  45604. // attribute, you must specify the ID of the interface attachment.
  45605. Attachment *NetworkInterfaceAttachmentChanges `locationName:"attachment" type:"structure"`
  45606. // A description for the network interface.
  45607. Description *AttributeValue `locationName:"description" type:"structure"`
  45608. // Checks whether you have the required permissions for the action, without
  45609. // actually making the request, and provides an error response. If you have
  45610. // the required permissions, the error response is DryRunOperation. Otherwise,
  45611. // it is UnauthorizedOperation.
  45612. DryRun *bool `locationName:"dryRun" type:"boolean"`
  45613. // Changes the security groups for the network interface. The new set of groups
  45614. // you specify replaces the current set. You must specify at least one group,
  45615. // even if it's just the default security group in the VPC. You must specify
  45616. // the ID of the security group, not the name.
  45617. Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  45618. // The ID of the network interface.
  45619. //
  45620. // NetworkInterfaceId is a required field
  45621. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  45622. // Indicates whether source/destination checking is enabled. A value of true
  45623. // means checking is enabled, and false means checking is disabled. This value
  45624. // must be false for a NAT instance to perform NAT. For more information, see
  45625. // NAT Instances (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
  45626. // in the Amazon Virtual Private Cloud User Guide.
  45627. SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
  45628. }
  45629. // String returns the string representation
  45630. func (s ModifyNetworkInterfaceAttributeInput) String() string {
  45631. return awsutil.Prettify(s)
  45632. }
  45633. // GoString returns the string representation
  45634. func (s ModifyNetworkInterfaceAttributeInput) GoString() string {
  45635. return s.String()
  45636. }
  45637. // Validate inspects the fields of the type to determine if they are valid.
  45638. func (s *ModifyNetworkInterfaceAttributeInput) Validate() error {
  45639. invalidParams := request.ErrInvalidParams{Context: "ModifyNetworkInterfaceAttributeInput"}
  45640. if s.NetworkInterfaceId == nil {
  45641. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  45642. }
  45643. if invalidParams.Len() > 0 {
  45644. return invalidParams
  45645. }
  45646. return nil
  45647. }
  45648. // SetAttachment sets the Attachment field's value.
  45649. func (s *ModifyNetworkInterfaceAttributeInput) SetAttachment(v *NetworkInterfaceAttachmentChanges) *ModifyNetworkInterfaceAttributeInput {
  45650. s.Attachment = v
  45651. return s
  45652. }
  45653. // SetDescription sets the Description field's value.
  45654. func (s *ModifyNetworkInterfaceAttributeInput) SetDescription(v *AttributeValue) *ModifyNetworkInterfaceAttributeInput {
  45655. s.Description = v
  45656. return s
  45657. }
  45658. // SetDryRun sets the DryRun field's value.
  45659. func (s *ModifyNetworkInterfaceAttributeInput) SetDryRun(v bool) *ModifyNetworkInterfaceAttributeInput {
  45660. s.DryRun = &v
  45661. return s
  45662. }
  45663. // SetGroups sets the Groups field's value.
  45664. func (s *ModifyNetworkInterfaceAttributeInput) SetGroups(v []*string) *ModifyNetworkInterfaceAttributeInput {
  45665. s.Groups = v
  45666. return s
  45667. }
  45668. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  45669. func (s *ModifyNetworkInterfaceAttributeInput) SetNetworkInterfaceId(v string) *ModifyNetworkInterfaceAttributeInput {
  45670. s.NetworkInterfaceId = &v
  45671. return s
  45672. }
  45673. // SetSourceDestCheck sets the SourceDestCheck field's value.
  45674. func (s *ModifyNetworkInterfaceAttributeInput) SetSourceDestCheck(v *AttributeBooleanValue) *ModifyNetworkInterfaceAttributeInput {
  45675. s.SourceDestCheck = v
  45676. return s
  45677. }
  45678. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyNetworkInterfaceAttributeOutput
  45679. type ModifyNetworkInterfaceAttributeOutput struct {
  45680. _ struct{} `type:"structure"`
  45681. }
  45682. // String returns the string representation
  45683. func (s ModifyNetworkInterfaceAttributeOutput) String() string {
  45684. return awsutil.Prettify(s)
  45685. }
  45686. // GoString returns the string representation
  45687. func (s ModifyNetworkInterfaceAttributeOutput) GoString() string {
  45688. return s.String()
  45689. }
  45690. // Contains the parameters for ModifyReservedInstances.
  45691. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyReservedInstancesRequest
  45692. type ModifyReservedInstancesInput struct {
  45693. _ struct{} `type:"structure"`
  45694. // A unique, case-sensitive token you provide to ensure idempotency of your
  45695. // modification request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  45696. ClientToken *string `locationName:"clientToken" type:"string"`
  45697. // The IDs of the Reserved Instances to modify.
  45698. //
  45699. // ReservedInstancesIds is a required field
  45700. ReservedInstancesIds []*string `locationName:"ReservedInstancesId" locationNameList:"ReservedInstancesId" type:"list" required:"true"`
  45701. // The configuration settings for the Reserved Instances to modify.
  45702. //
  45703. // TargetConfigurations is a required field
  45704. TargetConfigurations []*ReservedInstancesConfiguration `locationName:"ReservedInstancesConfigurationSetItemType" locationNameList:"item" type:"list" required:"true"`
  45705. }
  45706. // String returns the string representation
  45707. func (s ModifyReservedInstancesInput) String() string {
  45708. return awsutil.Prettify(s)
  45709. }
  45710. // GoString returns the string representation
  45711. func (s ModifyReservedInstancesInput) GoString() string {
  45712. return s.String()
  45713. }
  45714. // Validate inspects the fields of the type to determine if they are valid.
  45715. func (s *ModifyReservedInstancesInput) Validate() error {
  45716. invalidParams := request.ErrInvalidParams{Context: "ModifyReservedInstancesInput"}
  45717. if s.ReservedInstancesIds == nil {
  45718. invalidParams.Add(request.NewErrParamRequired("ReservedInstancesIds"))
  45719. }
  45720. if s.TargetConfigurations == nil {
  45721. invalidParams.Add(request.NewErrParamRequired("TargetConfigurations"))
  45722. }
  45723. if invalidParams.Len() > 0 {
  45724. return invalidParams
  45725. }
  45726. return nil
  45727. }
  45728. // SetClientToken sets the ClientToken field's value.
  45729. func (s *ModifyReservedInstancesInput) SetClientToken(v string) *ModifyReservedInstancesInput {
  45730. s.ClientToken = &v
  45731. return s
  45732. }
  45733. // SetReservedInstancesIds sets the ReservedInstancesIds field's value.
  45734. func (s *ModifyReservedInstancesInput) SetReservedInstancesIds(v []*string) *ModifyReservedInstancesInput {
  45735. s.ReservedInstancesIds = v
  45736. return s
  45737. }
  45738. // SetTargetConfigurations sets the TargetConfigurations field's value.
  45739. func (s *ModifyReservedInstancesInput) SetTargetConfigurations(v []*ReservedInstancesConfiguration) *ModifyReservedInstancesInput {
  45740. s.TargetConfigurations = v
  45741. return s
  45742. }
  45743. // Contains the output of ModifyReservedInstances.
  45744. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyReservedInstancesResult
  45745. type ModifyReservedInstancesOutput struct {
  45746. _ struct{} `type:"structure"`
  45747. // The ID for the modification.
  45748. ReservedInstancesModificationId *string `locationName:"reservedInstancesModificationId" type:"string"`
  45749. }
  45750. // String returns the string representation
  45751. func (s ModifyReservedInstancesOutput) String() string {
  45752. return awsutil.Prettify(s)
  45753. }
  45754. // GoString returns the string representation
  45755. func (s ModifyReservedInstancesOutput) GoString() string {
  45756. return s.String()
  45757. }
  45758. // SetReservedInstancesModificationId sets the ReservedInstancesModificationId field's value.
  45759. func (s *ModifyReservedInstancesOutput) SetReservedInstancesModificationId(v string) *ModifyReservedInstancesOutput {
  45760. s.ReservedInstancesModificationId = &v
  45761. return s
  45762. }
  45763. // Contains the parameters for ModifySnapshotAttribute.
  45764. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySnapshotAttributeRequest
  45765. type ModifySnapshotAttributeInput struct {
  45766. _ struct{} `type:"structure"`
  45767. // The snapshot attribute to modify.
  45768. //
  45769. // Only volume creation permissions may be modified at the customer level.
  45770. Attribute *string `type:"string" enum:"SnapshotAttributeName"`
  45771. // A JSON representation of the snapshot attribute modification.
  45772. CreateVolumePermission *CreateVolumePermissionModifications `type:"structure"`
  45773. // Checks whether you have the required permissions for the action, without
  45774. // actually making the request, and provides an error response. If you have
  45775. // the required permissions, the error response is DryRunOperation. Otherwise,
  45776. // it is UnauthorizedOperation.
  45777. DryRun *bool `locationName:"dryRun" type:"boolean"`
  45778. // The group to modify for the snapshot.
  45779. GroupNames []*string `locationName:"UserGroup" locationNameList:"GroupName" type:"list"`
  45780. // The type of operation to perform to the attribute.
  45781. OperationType *string `type:"string" enum:"OperationType"`
  45782. // The ID of the snapshot.
  45783. //
  45784. // SnapshotId is a required field
  45785. SnapshotId *string `type:"string" required:"true"`
  45786. // The account ID to modify for the snapshot.
  45787. UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"`
  45788. }
  45789. // String returns the string representation
  45790. func (s ModifySnapshotAttributeInput) String() string {
  45791. return awsutil.Prettify(s)
  45792. }
  45793. // GoString returns the string representation
  45794. func (s ModifySnapshotAttributeInput) GoString() string {
  45795. return s.String()
  45796. }
  45797. // Validate inspects the fields of the type to determine if they are valid.
  45798. func (s *ModifySnapshotAttributeInput) Validate() error {
  45799. invalidParams := request.ErrInvalidParams{Context: "ModifySnapshotAttributeInput"}
  45800. if s.SnapshotId == nil {
  45801. invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
  45802. }
  45803. if invalidParams.Len() > 0 {
  45804. return invalidParams
  45805. }
  45806. return nil
  45807. }
  45808. // SetAttribute sets the Attribute field's value.
  45809. func (s *ModifySnapshotAttributeInput) SetAttribute(v string) *ModifySnapshotAttributeInput {
  45810. s.Attribute = &v
  45811. return s
  45812. }
  45813. // SetCreateVolumePermission sets the CreateVolumePermission field's value.
  45814. func (s *ModifySnapshotAttributeInput) SetCreateVolumePermission(v *CreateVolumePermissionModifications) *ModifySnapshotAttributeInput {
  45815. s.CreateVolumePermission = v
  45816. return s
  45817. }
  45818. // SetDryRun sets the DryRun field's value.
  45819. func (s *ModifySnapshotAttributeInput) SetDryRun(v bool) *ModifySnapshotAttributeInput {
  45820. s.DryRun = &v
  45821. return s
  45822. }
  45823. // SetGroupNames sets the GroupNames field's value.
  45824. func (s *ModifySnapshotAttributeInput) SetGroupNames(v []*string) *ModifySnapshotAttributeInput {
  45825. s.GroupNames = v
  45826. return s
  45827. }
  45828. // SetOperationType sets the OperationType field's value.
  45829. func (s *ModifySnapshotAttributeInput) SetOperationType(v string) *ModifySnapshotAttributeInput {
  45830. s.OperationType = &v
  45831. return s
  45832. }
  45833. // SetSnapshotId sets the SnapshotId field's value.
  45834. func (s *ModifySnapshotAttributeInput) SetSnapshotId(v string) *ModifySnapshotAttributeInput {
  45835. s.SnapshotId = &v
  45836. return s
  45837. }
  45838. // SetUserIds sets the UserIds field's value.
  45839. func (s *ModifySnapshotAttributeInput) SetUserIds(v []*string) *ModifySnapshotAttributeInput {
  45840. s.UserIds = v
  45841. return s
  45842. }
  45843. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySnapshotAttributeOutput
  45844. type ModifySnapshotAttributeOutput struct {
  45845. _ struct{} `type:"structure"`
  45846. }
  45847. // String returns the string representation
  45848. func (s ModifySnapshotAttributeOutput) String() string {
  45849. return awsutil.Prettify(s)
  45850. }
  45851. // GoString returns the string representation
  45852. func (s ModifySnapshotAttributeOutput) GoString() string {
  45853. return s.String()
  45854. }
  45855. // Contains the parameters for ModifySpotFleetRequest.
  45856. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySpotFleetRequestRequest
  45857. type ModifySpotFleetRequestInput struct {
  45858. _ struct{} `type:"structure"`
  45859. // Indicates whether running Spot Instances should be terminated if the target
  45860. // capacity of the Spot Fleet request is decreased below the current size of
  45861. // the Spot Fleet.
  45862. ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"ExcessCapacityTerminationPolicy"`
  45863. // The ID of the Spot Fleet request.
  45864. //
  45865. // SpotFleetRequestId is a required field
  45866. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  45867. // The size of the fleet.
  45868. TargetCapacity *int64 `locationName:"targetCapacity" type:"integer"`
  45869. }
  45870. // String returns the string representation
  45871. func (s ModifySpotFleetRequestInput) String() string {
  45872. return awsutil.Prettify(s)
  45873. }
  45874. // GoString returns the string representation
  45875. func (s ModifySpotFleetRequestInput) GoString() string {
  45876. return s.String()
  45877. }
  45878. // Validate inspects the fields of the type to determine if they are valid.
  45879. func (s *ModifySpotFleetRequestInput) Validate() error {
  45880. invalidParams := request.ErrInvalidParams{Context: "ModifySpotFleetRequestInput"}
  45881. if s.SpotFleetRequestId == nil {
  45882. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
  45883. }
  45884. if invalidParams.Len() > 0 {
  45885. return invalidParams
  45886. }
  45887. return nil
  45888. }
  45889. // SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
  45890. func (s *ModifySpotFleetRequestInput) SetExcessCapacityTerminationPolicy(v string) *ModifySpotFleetRequestInput {
  45891. s.ExcessCapacityTerminationPolicy = &v
  45892. return s
  45893. }
  45894. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  45895. func (s *ModifySpotFleetRequestInput) SetSpotFleetRequestId(v string) *ModifySpotFleetRequestInput {
  45896. s.SpotFleetRequestId = &v
  45897. return s
  45898. }
  45899. // SetTargetCapacity sets the TargetCapacity field's value.
  45900. func (s *ModifySpotFleetRequestInput) SetTargetCapacity(v int64) *ModifySpotFleetRequestInput {
  45901. s.TargetCapacity = &v
  45902. return s
  45903. }
  45904. // Contains the output of ModifySpotFleetRequest.
  45905. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySpotFleetRequestResponse
  45906. type ModifySpotFleetRequestOutput struct {
  45907. _ struct{} `type:"structure"`
  45908. // Is true if the request succeeds, and an error otherwise.
  45909. Return *bool `locationName:"return" type:"boolean"`
  45910. }
  45911. // String returns the string representation
  45912. func (s ModifySpotFleetRequestOutput) String() string {
  45913. return awsutil.Prettify(s)
  45914. }
  45915. // GoString returns the string representation
  45916. func (s ModifySpotFleetRequestOutput) GoString() string {
  45917. return s.String()
  45918. }
  45919. // SetReturn sets the Return field's value.
  45920. func (s *ModifySpotFleetRequestOutput) SetReturn(v bool) *ModifySpotFleetRequestOutput {
  45921. s.Return = &v
  45922. return s
  45923. }
  45924. // Contains the parameters for ModifySubnetAttribute.
  45925. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySubnetAttributeRequest
  45926. type ModifySubnetAttributeInput struct {
  45927. _ struct{} `type:"structure"`
  45928. // Specify true to indicate that network interfaces created in the specified
  45929. // subnet should be assigned an IPv6 address. This includes a network interface
  45930. // that's created when launching an instance into the subnet (the instance therefore
  45931. // receives an IPv6 address).
  45932. //
  45933. // If you enable the IPv6 addressing feature for your subnet, your network interface
  45934. // or instance only receives an IPv6 address if it's created using version 2016-11-15
  45935. // or later of the Amazon EC2 API.
  45936. AssignIpv6AddressOnCreation *AttributeBooleanValue `type:"structure"`
  45937. // Specify true to indicate that network interfaces created in the specified
  45938. // subnet should be assigned a public IPv4 address. This includes a network
  45939. // interface that's created when launching an instance into the subnet (the
  45940. // instance therefore receives a public IPv4 address).
  45941. MapPublicIpOnLaunch *AttributeBooleanValue `type:"structure"`
  45942. // The ID of the subnet.
  45943. //
  45944. // SubnetId is a required field
  45945. SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
  45946. }
  45947. // String returns the string representation
  45948. func (s ModifySubnetAttributeInput) String() string {
  45949. return awsutil.Prettify(s)
  45950. }
  45951. // GoString returns the string representation
  45952. func (s ModifySubnetAttributeInput) GoString() string {
  45953. return s.String()
  45954. }
  45955. // Validate inspects the fields of the type to determine if they are valid.
  45956. func (s *ModifySubnetAttributeInput) Validate() error {
  45957. invalidParams := request.ErrInvalidParams{Context: "ModifySubnetAttributeInput"}
  45958. if s.SubnetId == nil {
  45959. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  45960. }
  45961. if invalidParams.Len() > 0 {
  45962. return invalidParams
  45963. }
  45964. return nil
  45965. }
  45966. // SetAssignIpv6AddressOnCreation sets the AssignIpv6AddressOnCreation field's value.
  45967. func (s *ModifySubnetAttributeInput) SetAssignIpv6AddressOnCreation(v *AttributeBooleanValue) *ModifySubnetAttributeInput {
  45968. s.AssignIpv6AddressOnCreation = v
  45969. return s
  45970. }
  45971. // SetMapPublicIpOnLaunch sets the MapPublicIpOnLaunch field's value.
  45972. func (s *ModifySubnetAttributeInput) SetMapPublicIpOnLaunch(v *AttributeBooleanValue) *ModifySubnetAttributeInput {
  45973. s.MapPublicIpOnLaunch = v
  45974. return s
  45975. }
  45976. // SetSubnetId sets the SubnetId field's value.
  45977. func (s *ModifySubnetAttributeInput) SetSubnetId(v string) *ModifySubnetAttributeInput {
  45978. s.SubnetId = &v
  45979. return s
  45980. }
  45981. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySubnetAttributeOutput
  45982. type ModifySubnetAttributeOutput struct {
  45983. _ struct{} `type:"structure"`
  45984. }
  45985. // String returns the string representation
  45986. func (s ModifySubnetAttributeOutput) String() string {
  45987. return awsutil.Prettify(s)
  45988. }
  45989. // GoString returns the string representation
  45990. func (s ModifySubnetAttributeOutput) GoString() string {
  45991. return s.String()
  45992. }
  45993. // Contains the parameters for ModifyVolumeAttribute.
  45994. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeAttributeRequest
  45995. type ModifyVolumeAttributeInput struct {
  45996. _ struct{} `type:"structure"`
  45997. // Indicates whether the volume should be auto-enabled for I/O operations.
  45998. AutoEnableIO *AttributeBooleanValue `type:"structure"`
  45999. // Checks whether you have the required permissions for the action, without
  46000. // actually making the request, and provides an error response. If you have
  46001. // the required permissions, the error response is DryRunOperation. Otherwise,
  46002. // it is UnauthorizedOperation.
  46003. DryRun *bool `locationName:"dryRun" type:"boolean"`
  46004. // The ID of the volume.
  46005. //
  46006. // VolumeId is a required field
  46007. VolumeId *string `type:"string" required:"true"`
  46008. }
  46009. // String returns the string representation
  46010. func (s ModifyVolumeAttributeInput) String() string {
  46011. return awsutil.Prettify(s)
  46012. }
  46013. // GoString returns the string representation
  46014. func (s ModifyVolumeAttributeInput) GoString() string {
  46015. return s.String()
  46016. }
  46017. // Validate inspects the fields of the type to determine if they are valid.
  46018. func (s *ModifyVolumeAttributeInput) Validate() error {
  46019. invalidParams := request.ErrInvalidParams{Context: "ModifyVolumeAttributeInput"}
  46020. if s.VolumeId == nil {
  46021. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  46022. }
  46023. if invalidParams.Len() > 0 {
  46024. return invalidParams
  46025. }
  46026. return nil
  46027. }
  46028. // SetAutoEnableIO sets the AutoEnableIO field's value.
  46029. func (s *ModifyVolumeAttributeInput) SetAutoEnableIO(v *AttributeBooleanValue) *ModifyVolumeAttributeInput {
  46030. s.AutoEnableIO = v
  46031. return s
  46032. }
  46033. // SetDryRun sets the DryRun field's value.
  46034. func (s *ModifyVolumeAttributeInput) SetDryRun(v bool) *ModifyVolumeAttributeInput {
  46035. s.DryRun = &v
  46036. return s
  46037. }
  46038. // SetVolumeId sets the VolumeId field's value.
  46039. func (s *ModifyVolumeAttributeInput) SetVolumeId(v string) *ModifyVolumeAttributeInput {
  46040. s.VolumeId = &v
  46041. return s
  46042. }
  46043. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeAttributeOutput
  46044. type ModifyVolumeAttributeOutput struct {
  46045. _ struct{} `type:"structure"`
  46046. }
  46047. // String returns the string representation
  46048. func (s ModifyVolumeAttributeOutput) String() string {
  46049. return awsutil.Prettify(s)
  46050. }
  46051. // GoString returns the string representation
  46052. func (s ModifyVolumeAttributeOutput) GoString() string {
  46053. return s.String()
  46054. }
  46055. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeRequest
  46056. type ModifyVolumeInput struct {
  46057. _ struct{} `type:"structure"`
  46058. // Checks whether you have the required permissions for the action, without
  46059. // actually making the request, and provides an error response. If you have
  46060. // the required permissions, the error response is DryRunOperation. Otherwise,
  46061. // it is UnauthorizedOperation.
  46062. DryRun *bool `type:"boolean"`
  46063. // Target IOPS rate of the volume to be modified.
  46064. //
  46065. // Only valid for Provisioned IOPS SSD (io1) volumes. For more information about
  46066. // io1 IOPS configuration, see http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html#EBSVolumeTypes_piops
  46067. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html#EBSVolumeTypes_piops).
  46068. //
  46069. // Default: If no IOPS value is specified, the existing value is retained.
  46070. Iops *int64 `type:"integer"`
  46071. // Target size in GiB of the volume to be modified. Target volume size must
  46072. // be greater than or equal to than the existing size of the volume. For information
  46073. // about available EBS volume sizes, see http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html
  46074. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html).
  46075. //
  46076. // Default: If no size is specified, the existing size is retained.
  46077. Size *int64 `type:"integer"`
  46078. // VolumeId is a required field
  46079. VolumeId *string `type:"string" required:"true"`
  46080. // Target EBS volume type of the volume to be modified
  46081. //
  46082. // The API does not support modifications for volume type standard. You also
  46083. // cannot change the type of a volume to standard.
  46084. //
  46085. // Default: If no type is specified, the existing type is retained.
  46086. VolumeType *string `type:"string" enum:"VolumeType"`
  46087. }
  46088. // String returns the string representation
  46089. func (s ModifyVolumeInput) String() string {
  46090. return awsutil.Prettify(s)
  46091. }
  46092. // GoString returns the string representation
  46093. func (s ModifyVolumeInput) GoString() string {
  46094. return s.String()
  46095. }
  46096. // Validate inspects the fields of the type to determine if they are valid.
  46097. func (s *ModifyVolumeInput) Validate() error {
  46098. invalidParams := request.ErrInvalidParams{Context: "ModifyVolumeInput"}
  46099. if s.VolumeId == nil {
  46100. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  46101. }
  46102. if invalidParams.Len() > 0 {
  46103. return invalidParams
  46104. }
  46105. return nil
  46106. }
  46107. // SetDryRun sets the DryRun field's value.
  46108. func (s *ModifyVolumeInput) SetDryRun(v bool) *ModifyVolumeInput {
  46109. s.DryRun = &v
  46110. return s
  46111. }
  46112. // SetIops sets the Iops field's value.
  46113. func (s *ModifyVolumeInput) SetIops(v int64) *ModifyVolumeInput {
  46114. s.Iops = &v
  46115. return s
  46116. }
  46117. // SetSize sets the Size field's value.
  46118. func (s *ModifyVolumeInput) SetSize(v int64) *ModifyVolumeInput {
  46119. s.Size = &v
  46120. return s
  46121. }
  46122. // SetVolumeId sets the VolumeId field's value.
  46123. func (s *ModifyVolumeInput) SetVolumeId(v string) *ModifyVolumeInput {
  46124. s.VolumeId = &v
  46125. return s
  46126. }
  46127. // SetVolumeType sets the VolumeType field's value.
  46128. func (s *ModifyVolumeInput) SetVolumeType(v string) *ModifyVolumeInput {
  46129. s.VolumeType = &v
  46130. return s
  46131. }
  46132. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeResult
  46133. type ModifyVolumeOutput struct {
  46134. _ struct{} `type:"structure"`
  46135. // A VolumeModification object.
  46136. VolumeModification *VolumeModification `locationName:"volumeModification" type:"structure"`
  46137. }
  46138. // String returns the string representation
  46139. func (s ModifyVolumeOutput) String() string {
  46140. return awsutil.Prettify(s)
  46141. }
  46142. // GoString returns the string representation
  46143. func (s ModifyVolumeOutput) GoString() string {
  46144. return s.String()
  46145. }
  46146. // SetVolumeModification sets the VolumeModification field's value.
  46147. func (s *ModifyVolumeOutput) SetVolumeModification(v *VolumeModification) *ModifyVolumeOutput {
  46148. s.VolumeModification = v
  46149. return s
  46150. }
  46151. // Contains the parameters for ModifyVpcAttribute.
  46152. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcAttributeRequest
  46153. type ModifyVpcAttributeInput struct {
  46154. _ struct{} `type:"structure"`
  46155. // Indicates whether the instances launched in the VPC get DNS hostnames. If
  46156. // enabled, instances in the VPC get DNS hostnames; otherwise, they do not.
  46157. //
  46158. // You cannot modify the DNS resolution and DNS hostnames attributes in the
  46159. // same request. Use separate requests for each attribute. You can only enable
  46160. // DNS hostnames if you've enabled DNS support.
  46161. EnableDnsHostnames *AttributeBooleanValue `type:"structure"`
  46162. // Indicates whether the DNS resolution is supported for the VPC. If enabled,
  46163. // queries to the Amazon provided DNS server at the 169.254.169.253 IP address,
  46164. // or the reserved IP address at the base of the VPC network range "plus two"
  46165. // will succeed. If disabled, the Amazon provided DNS service in the VPC that
  46166. // resolves public DNS hostnames to IP addresses is not enabled.
  46167. //
  46168. // You cannot modify the DNS resolution and DNS hostnames attributes in the
  46169. // same request. Use separate requests for each attribute.
  46170. EnableDnsSupport *AttributeBooleanValue `type:"structure"`
  46171. // The ID of the VPC.
  46172. //
  46173. // VpcId is a required field
  46174. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  46175. }
  46176. // String returns the string representation
  46177. func (s ModifyVpcAttributeInput) String() string {
  46178. return awsutil.Prettify(s)
  46179. }
  46180. // GoString returns the string representation
  46181. func (s ModifyVpcAttributeInput) GoString() string {
  46182. return s.String()
  46183. }
  46184. // Validate inspects the fields of the type to determine if they are valid.
  46185. func (s *ModifyVpcAttributeInput) Validate() error {
  46186. invalidParams := request.ErrInvalidParams{Context: "ModifyVpcAttributeInput"}
  46187. if s.VpcId == nil {
  46188. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  46189. }
  46190. if invalidParams.Len() > 0 {
  46191. return invalidParams
  46192. }
  46193. return nil
  46194. }
  46195. // SetEnableDnsHostnames sets the EnableDnsHostnames field's value.
  46196. func (s *ModifyVpcAttributeInput) SetEnableDnsHostnames(v *AttributeBooleanValue) *ModifyVpcAttributeInput {
  46197. s.EnableDnsHostnames = v
  46198. return s
  46199. }
  46200. // SetEnableDnsSupport sets the EnableDnsSupport field's value.
  46201. func (s *ModifyVpcAttributeInput) SetEnableDnsSupport(v *AttributeBooleanValue) *ModifyVpcAttributeInput {
  46202. s.EnableDnsSupport = v
  46203. return s
  46204. }
  46205. // SetVpcId sets the VpcId field's value.
  46206. func (s *ModifyVpcAttributeInput) SetVpcId(v string) *ModifyVpcAttributeInput {
  46207. s.VpcId = &v
  46208. return s
  46209. }
  46210. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcAttributeOutput
  46211. type ModifyVpcAttributeOutput struct {
  46212. _ struct{} `type:"structure"`
  46213. }
  46214. // String returns the string representation
  46215. func (s ModifyVpcAttributeOutput) String() string {
  46216. return awsutil.Prettify(s)
  46217. }
  46218. // GoString returns the string representation
  46219. func (s ModifyVpcAttributeOutput) GoString() string {
  46220. return s.String()
  46221. }
  46222. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointConnectionNotificationRequest
  46223. type ModifyVpcEndpointConnectionNotificationInput struct {
  46224. _ struct{} `type:"structure"`
  46225. // One or more events for the endpoint. Valid values are Accept, Connect, Delete,
  46226. // and Reject.
  46227. ConnectionEvents []*string `locationNameList:"item" type:"list"`
  46228. // The ARN for the SNS topic for the notification.
  46229. ConnectionNotificationArn *string `type:"string"`
  46230. // The ID of the notification.
  46231. //
  46232. // ConnectionNotificationId is a required field
  46233. ConnectionNotificationId *string `type:"string" required:"true"`
  46234. // Checks whether you have the required permissions for the action, without
  46235. // actually making the request, and provides an error response. If you have
  46236. // the required permissions, the error response is DryRunOperation. Otherwise,
  46237. // it is UnauthorizedOperation.
  46238. DryRun *bool `type:"boolean"`
  46239. }
  46240. // String returns the string representation
  46241. func (s ModifyVpcEndpointConnectionNotificationInput) String() string {
  46242. return awsutil.Prettify(s)
  46243. }
  46244. // GoString returns the string representation
  46245. func (s ModifyVpcEndpointConnectionNotificationInput) GoString() string {
  46246. return s.String()
  46247. }
  46248. // Validate inspects the fields of the type to determine if they are valid.
  46249. func (s *ModifyVpcEndpointConnectionNotificationInput) Validate() error {
  46250. invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointConnectionNotificationInput"}
  46251. if s.ConnectionNotificationId == nil {
  46252. invalidParams.Add(request.NewErrParamRequired("ConnectionNotificationId"))
  46253. }
  46254. if invalidParams.Len() > 0 {
  46255. return invalidParams
  46256. }
  46257. return nil
  46258. }
  46259. // SetConnectionEvents sets the ConnectionEvents field's value.
  46260. func (s *ModifyVpcEndpointConnectionNotificationInput) SetConnectionEvents(v []*string) *ModifyVpcEndpointConnectionNotificationInput {
  46261. s.ConnectionEvents = v
  46262. return s
  46263. }
  46264. // SetConnectionNotificationArn sets the ConnectionNotificationArn field's value.
  46265. func (s *ModifyVpcEndpointConnectionNotificationInput) SetConnectionNotificationArn(v string) *ModifyVpcEndpointConnectionNotificationInput {
  46266. s.ConnectionNotificationArn = &v
  46267. return s
  46268. }
  46269. // SetConnectionNotificationId sets the ConnectionNotificationId field's value.
  46270. func (s *ModifyVpcEndpointConnectionNotificationInput) SetConnectionNotificationId(v string) *ModifyVpcEndpointConnectionNotificationInput {
  46271. s.ConnectionNotificationId = &v
  46272. return s
  46273. }
  46274. // SetDryRun sets the DryRun field's value.
  46275. func (s *ModifyVpcEndpointConnectionNotificationInput) SetDryRun(v bool) *ModifyVpcEndpointConnectionNotificationInput {
  46276. s.DryRun = &v
  46277. return s
  46278. }
  46279. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointConnectionNotificationResult
  46280. type ModifyVpcEndpointConnectionNotificationOutput struct {
  46281. _ struct{} `type:"structure"`
  46282. // Returns true if the request succeeds; otherwise, it returns an error.
  46283. ReturnValue *bool `locationName:"return" type:"boolean"`
  46284. }
  46285. // String returns the string representation
  46286. func (s ModifyVpcEndpointConnectionNotificationOutput) String() string {
  46287. return awsutil.Prettify(s)
  46288. }
  46289. // GoString returns the string representation
  46290. func (s ModifyVpcEndpointConnectionNotificationOutput) GoString() string {
  46291. return s.String()
  46292. }
  46293. // SetReturnValue sets the ReturnValue field's value.
  46294. func (s *ModifyVpcEndpointConnectionNotificationOutput) SetReturnValue(v bool) *ModifyVpcEndpointConnectionNotificationOutput {
  46295. s.ReturnValue = &v
  46296. return s
  46297. }
  46298. // Contains the parameters for ModifyVpcEndpoint.
  46299. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointRequest
  46300. type ModifyVpcEndpointInput struct {
  46301. _ struct{} `type:"structure"`
  46302. // (Gateway endpoint) One or more route tables IDs to associate with the endpoint.
  46303. AddRouteTableIds []*string `locationName:"AddRouteTableId" locationNameList:"item" type:"list"`
  46304. // (Interface endpoint) One or more security group IDs to associate with the
  46305. // network interface.
  46306. AddSecurityGroupIds []*string `locationName:"AddSecurityGroupId" locationNameList:"item" type:"list"`
  46307. // (Interface endpoint) One or more subnet IDs in which to serve the endpoint.
  46308. AddSubnetIds []*string `locationName:"AddSubnetId" locationNameList:"item" type:"list"`
  46309. // Checks whether you have the required permissions for the action, without
  46310. // actually making the request, and provides an error response. If you have
  46311. // the required permissions, the error response is DryRunOperation. Otherwise,
  46312. // it is UnauthorizedOperation.
  46313. DryRun *bool `type:"boolean"`
  46314. // (Gateway endpoint) A policy document to attach to the endpoint. The policy
  46315. // must be in valid JSON format.
  46316. PolicyDocument *string `type:"string"`
  46317. // (Interface endpoint) Indicate whether a private hosted zone is associated
  46318. // with the VPC.
  46319. PrivateDnsEnabled *bool `type:"boolean"`
  46320. // (Gateway endpoint) One or more route table IDs to disassociate from the endpoint.
  46321. RemoveRouteTableIds []*string `locationName:"RemoveRouteTableId" locationNameList:"item" type:"list"`
  46322. // (Interface endpoint) One or more security group IDs to disassociate from
  46323. // the network interface.
  46324. RemoveSecurityGroupIds []*string `locationName:"RemoveSecurityGroupId" locationNameList:"item" type:"list"`
  46325. // (Interface endpoint) One or more subnets IDs in which to remove the endpoint.
  46326. RemoveSubnetIds []*string `locationName:"RemoveSubnetId" locationNameList:"item" type:"list"`
  46327. // (Gateway endpoint) Specify true to reset the policy document to the default
  46328. // policy. The default policy allows full access to the service.
  46329. ResetPolicy *bool `type:"boolean"`
  46330. // The ID of the endpoint.
  46331. //
  46332. // VpcEndpointId is a required field
  46333. VpcEndpointId *string `type:"string" required:"true"`
  46334. }
  46335. // String returns the string representation
  46336. func (s ModifyVpcEndpointInput) String() string {
  46337. return awsutil.Prettify(s)
  46338. }
  46339. // GoString returns the string representation
  46340. func (s ModifyVpcEndpointInput) GoString() string {
  46341. return s.String()
  46342. }
  46343. // Validate inspects the fields of the type to determine if they are valid.
  46344. func (s *ModifyVpcEndpointInput) Validate() error {
  46345. invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointInput"}
  46346. if s.VpcEndpointId == nil {
  46347. invalidParams.Add(request.NewErrParamRequired("VpcEndpointId"))
  46348. }
  46349. if invalidParams.Len() > 0 {
  46350. return invalidParams
  46351. }
  46352. return nil
  46353. }
  46354. // SetAddRouteTableIds sets the AddRouteTableIds field's value.
  46355. func (s *ModifyVpcEndpointInput) SetAddRouteTableIds(v []*string) *ModifyVpcEndpointInput {
  46356. s.AddRouteTableIds = v
  46357. return s
  46358. }
  46359. // SetAddSecurityGroupIds sets the AddSecurityGroupIds field's value.
  46360. func (s *ModifyVpcEndpointInput) SetAddSecurityGroupIds(v []*string) *ModifyVpcEndpointInput {
  46361. s.AddSecurityGroupIds = v
  46362. return s
  46363. }
  46364. // SetAddSubnetIds sets the AddSubnetIds field's value.
  46365. func (s *ModifyVpcEndpointInput) SetAddSubnetIds(v []*string) *ModifyVpcEndpointInput {
  46366. s.AddSubnetIds = v
  46367. return s
  46368. }
  46369. // SetDryRun sets the DryRun field's value.
  46370. func (s *ModifyVpcEndpointInput) SetDryRun(v bool) *ModifyVpcEndpointInput {
  46371. s.DryRun = &v
  46372. return s
  46373. }
  46374. // SetPolicyDocument sets the PolicyDocument field's value.
  46375. func (s *ModifyVpcEndpointInput) SetPolicyDocument(v string) *ModifyVpcEndpointInput {
  46376. s.PolicyDocument = &v
  46377. return s
  46378. }
  46379. // SetPrivateDnsEnabled sets the PrivateDnsEnabled field's value.
  46380. func (s *ModifyVpcEndpointInput) SetPrivateDnsEnabled(v bool) *ModifyVpcEndpointInput {
  46381. s.PrivateDnsEnabled = &v
  46382. return s
  46383. }
  46384. // SetRemoveRouteTableIds sets the RemoveRouteTableIds field's value.
  46385. func (s *ModifyVpcEndpointInput) SetRemoveRouteTableIds(v []*string) *ModifyVpcEndpointInput {
  46386. s.RemoveRouteTableIds = v
  46387. return s
  46388. }
  46389. // SetRemoveSecurityGroupIds sets the RemoveSecurityGroupIds field's value.
  46390. func (s *ModifyVpcEndpointInput) SetRemoveSecurityGroupIds(v []*string) *ModifyVpcEndpointInput {
  46391. s.RemoveSecurityGroupIds = v
  46392. return s
  46393. }
  46394. // SetRemoveSubnetIds sets the RemoveSubnetIds field's value.
  46395. func (s *ModifyVpcEndpointInput) SetRemoveSubnetIds(v []*string) *ModifyVpcEndpointInput {
  46396. s.RemoveSubnetIds = v
  46397. return s
  46398. }
  46399. // SetResetPolicy sets the ResetPolicy field's value.
  46400. func (s *ModifyVpcEndpointInput) SetResetPolicy(v bool) *ModifyVpcEndpointInput {
  46401. s.ResetPolicy = &v
  46402. return s
  46403. }
  46404. // SetVpcEndpointId sets the VpcEndpointId field's value.
  46405. func (s *ModifyVpcEndpointInput) SetVpcEndpointId(v string) *ModifyVpcEndpointInput {
  46406. s.VpcEndpointId = &v
  46407. return s
  46408. }
  46409. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointResult
  46410. type ModifyVpcEndpointOutput struct {
  46411. _ struct{} `type:"structure"`
  46412. // Returns true if the request succeeds; otherwise, it returns an error.
  46413. Return *bool `locationName:"return" type:"boolean"`
  46414. }
  46415. // String returns the string representation
  46416. func (s ModifyVpcEndpointOutput) String() string {
  46417. return awsutil.Prettify(s)
  46418. }
  46419. // GoString returns the string representation
  46420. func (s ModifyVpcEndpointOutput) GoString() string {
  46421. return s.String()
  46422. }
  46423. // SetReturn sets the Return field's value.
  46424. func (s *ModifyVpcEndpointOutput) SetReturn(v bool) *ModifyVpcEndpointOutput {
  46425. s.Return = &v
  46426. return s
  46427. }
  46428. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServiceConfigurationRequest
  46429. type ModifyVpcEndpointServiceConfigurationInput struct {
  46430. _ struct{} `type:"structure"`
  46431. // Indicate whether requests to create an endpoint to your service must be accepted.
  46432. AcceptanceRequired *bool `type:"boolean"`
  46433. // The Amazon Resource Names (ARNs) of Network Load Balancers to add to your
  46434. // service configuration.
  46435. AddNetworkLoadBalancerArns []*string `locationName:"addNetworkLoadBalancerArn" locationNameList:"item" type:"list"`
  46436. // Checks whether you have the required permissions for the action, without
  46437. // actually making the request, and provides an error response. If you have
  46438. // the required permissions, the error response is DryRunOperation. Otherwise,
  46439. // it is UnauthorizedOperation.
  46440. DryRun *bool `type:"boolean"`
  46441. // The Amazon Resource Names (ARNs) of Network Load Balancers to remove from
  46442. // your service configuration.
  46443. RemoveNetworkLoadBalancerArns []*string `locationName:"removeNetworkLoadBalancerArn" locationNameList:"item" type:"list"`
  46444. // The ID of the service.
  46445. //
  46446. // ServiceId is a required field
  46447. ServiceId *string `type:"string" required:"true"`
  46448. }
  46449. // String returns the string representation
  46450. func (s ModifyVpcEndpointServiceConfigurationInput) String() string {
  46451. return awsutil.Prettify(s)
  46452. }
  46453. // GoString returns the string representation
  46454. func (s ModifyVpcEndpointServiceConfigurationInput) GoString() string {
  46455. return s.String()
  46456. }
  46457. // Validate inspects the fields of the type to determine if they are valid.
  46458. func (s *ModifyVpcEndpointServiceConfigurationInput) Validate() error {
  46459. invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointServiceConfigurationInput"}
  46460. if s.ServiceId == nil {
  46461. invalidParams.Add(request.NewErrParamRequired("ServiceId"))
  46462. }
  46463. if invalidParams.Len() > 0 {
  46464. return invalidParams
  46465. }
  46466. return nil
  46467. }
  46468. // SetAcceptanceRequired sets the AcceptanceRequired field's value.
  46469. func (s *ModifyVpcEndpointServiceConfigurationInput) SetAcceptanceRequired(v bool) *ModifyVpcEndpointServiceConfigurationInput {
  46470. s.AcceptanceRequired = &v
  46471. return s
  46472. }
  46473. // SetAddNetworkLoadBalancerArns sets the AddNetworkLoadBalancerArns field's value.
  46474. func (s *ModifyVpcEndpointServiceConfigurationInput) SetAddNetworkLoadBalancerArns(v []*string) *ModifyVpcEndpointServiceConfigurationInput {
  46475. s.AddNetworkLoadBalancerArns = v
  46476. return s
  46477. }
  46478. // SetDryRun sets the DryRun field's value.
  46479. func (s *ModifyVpcEndpointServiceConfigurationInput) SetDryRun(v bool) *ModifyVpcEndpointServiceConfigurationInput {
  46480. s.DryRun = &v
  46481. return s
  46482. }
  46483. // SetRemoveNetworkLoadBalancerArns sets the RemoveNetworkLoadBalancerArns field's value.
  46484. func (s *ModifyVpcEndpointServiceConfigurationInput) SetRemoveNetworkLoadBalancerArns(v []*string) *ModifyVpcEndpointServiceConfigurationInput {
  46485. s.RemoveNetworkLoadBalancerArns = v
  46486. return s
  46487. }
  46488. // SetServiceId sets the ServiceId field's value.
  46489. func (s *ModifyVpcEndpointServiceConfigurationInput) SetServiceId(v string) *ModifyVpcEndpointServiceConfigurationInput {
  46490. s.ServiceId = &v
  46491. return s
  46492. }
  46493. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServiceConfigurationResult
  46494. type ModifyVpcEndpointServiceConfigurationOutput struct {
  46495. _ struct{} `type:"structure"`
  46496. // Returns true if the request succeeds; otherwise, it returns an error.
  46497. Return *bool `locationName:"return" type:"boolean"`
  46498. }
  46499. // String returns the string representation
  46500. func (s ModifyVpcEndpointServiceConfigurationOutput) String() string {
  46501. return awsutil.Prettify(s)
  46502. }
  46503. // GoString returns the string representation
  46504. func (s ModifyVpcEndpointServiceConfigurationOutput) GoString() string {
  46505. return s.String()
  46506. }
  46507. // SetReturn sets the Return field's value.
  46508. func (s *ModifyVpcEndpointServiceConfigurationOutput) SetReturn(v bool) *ModifyVpcEndpointServiceConfigurationOutput {
  46509. s.Return = &v
  46510. return s
  46511. }
  46512. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServicePermissionsRequest
  46513. type ModifyVpcEndpointServicePermissionsInput struct {
  46514. _ struct{} `type:"structure"`
  46515. // One or more Amazon Resource Names (ARNs) of principals for which to allow
  46516. // permission. Specify * to allow all principals.
  46517. AddAllowedPrincipals []*string `locationNameList:"item" type:"list"`
  46518. // Checks whether you have the required permissions for the action, without
  46519. // actually making the request, and provides an error response. If you have
  46520. // the required permissions, the error response is DryRunOperation. Otherwise,
  46521. // it is UnauthorizedOperation.
  46522. DryRun *bool `type:"boolean"`
  46523. // One or more Amazon Resource Names (ARNs) of principals for which to remove
  46524. // permission.
  46525. RemoveAllowedPrincipals []*string `locationNameList:"item" type:"list"`
  46526. // The ID of the service.
  46527. //
  46528. // ServiceId is a required field
  46529. ServiceId *string `type:"string" required:"true"`
  46530. }
  46531. // String returns the string representation
  46532. func (s ModifyVpcEndpointServicePermissionsInput) String() string {
  46533. return awsutil.Prettify(s)
  46534. }
  46535. // GoString returns the string representation
  46536. func (s ModifyVpcEndpointServicePermissionsInput) GoString() string {
  46537. return s.String()
  46538. }
  46539. // Validate inspects the fields of the type to determine if they are valid.
  46540. func (s *ModifyVpcEndpointServicePermissionsInput) Validate() error {
  46541. invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointServicePermissionsInput"}
  46542. if s.ServiceId == nil {
  46543. invalidParams.Add(request.NewErrParamRequired("ServiceId"))
  46544. }
  46545. if invalidParams.Len() > 0 {
  46546. return invalidParams
  46547. }
  46548. return nil
  46549. }
  46550. // SetAddAllowedPrincipals sets the AddAllowedPrincipals field's value.
  46551. func (s *ModifyVpcEndpointServicePermissionsInput) SetAddAllowedPrincipals(v []*string) *ModifyVpcEndpointServicePermissionsInput {
  46552. s.AddAllowedPrincipals = v
  46553. return s
  46554. }
  46555. // SetDryRun sets the DryRun field's value.
  46556. func (s *ModifyVpcEndpointServicePermissionsInput) SetDryRun(v bool) *ModifyVpcEndpointServicePermissionsInput {
  46557. s.DryRun = &v
  46558. return s
  46559. }
  46560. // SetRemoveAllowedPrincipals sets the RemoveAllowedPrincipals field's value.
  46561. func (s *ModifyVpcEndpointServicePermissionsInput) SetRemoveAllowedPrincipals(v []*string) *ModifyVpcEndpointServicePermissionsInput {
  46562. s.RemoveAllowedPrincipals = v
  46563. return s
  46564. }
  46565. // SetServiceId sets the ServiceId field's value.
  46566. func (s *ModifyVpcEndpointServicePermissionsInput) SetServiceId(v string) *ModifyVpcEndpointServicePermissionsInput {
  46567. s.ServiceId = &v
  46568. return s
  46569. }
  46570. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServicePermissionsResult
  46571. type ModifyVpcEndpointServicePermissionsOutput struct {
  46572. _ struct{} `type:"structure"`
  46573. // Returns true if the request succeeds; otherwise, it returns an error.
  46574. ReturnValue *bool `locationName:"return" type:"boolean"`
  46575. }
  46576. // String returns the string representation
  46577. func (s ModifyVpcEndpointServicePermissionsOutput) String() string {
  46578. return awsutil.Prettify(s)
  46579. }
  46580. // GoString returns the string representation
  46581. func (s ModifyVpcEndpointServicePermissionsOutput) GoString() string {
  46582. return s.String()
  46583. }
  46584. // SetReturnValue sets the ReturnValue field's value.
  46585. func (s *ModifyVpcEndpointServicePermissionsOutput) SetReturnValue(v bool) *ModifyVpcEndpointServicePermissionsOutput {
  46586. s.ReturnValue = &v
  46587. return s
  46588. }
  46589. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcPeeringConnectionOptionsRequest
  46590. type ModifyVpcPeeringConnectionOptionsInput struct {
  46591. _ struct{} `type:"structure"`
  46592. // The VPC peering connection options for the accepter VPC.
  46593. AccepterPeeringConnectionOptions *PeeringConnectionOptionsRequest `type:"structure"`
  46594. // Checks whether you have the required permissions for the operation, without
  46595. // actually making the request, and provides an error response. If you have
  46596. // the required permissions, the error response is DryRunOperation. Otherwise,
  46597. // it is UnauthorizedOperation.
  46598. DryRun *bool `type:"boolean"`
  46599. // The VPC peering connection options for the requester VPC.
  46600. RequesterPeeringConnectionOptions *PeeringConnectionOptionsRequest `type:"structure"`
  46601. // The ID of the VPC peering connection.
  46602. //
  46603. // VpcPeeringConnectionId is a required field
  46604. VpcPeeringConnectionId *string `type:"string" required:"true"`
  46605. }
  46606. // String returns the string representation
  46607. func (s ModifyVpcPeeringConnectionOptionsInput) String() string {
  46608. return awsutil.Prettify(s)
  46609. }
  46610. // GoString returns the string representation
  46611. func (s ModifyVpcPeeringConnectionOptionsInput) GoString() string {
  46612. return s.String()
  46613. }
  46614. // Validate inspects the fields of the type to determine if they are valid.
  46615. func (s *ModifyVpcPeeringConnectionOptionsInput) Validate() error {
  46616. invalidParams := request.ErrInvalidParams{Context: "ModifyVpcPeeringConnectionOptionsInput"}
  46617. if s.VpcPeeringConnectionId == nil {
  46618. invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
  46619. }
  46620. if invalidParams.Len() > 0 {
  46621. return invalidParams
  46622. }
  46623. return nil
  46624. }
  46625. // SetAccepterPeeringConnectionOptions sets the AccepterPeeringConnectionOptions field's value.
  46626. func (s *ModifyVpcPeeringConnectionOptionsInput) SetAccepterPeeringConnectionOptions(v *PeeringConnectionOptionsRequest) *ModifyVpcPeeringConnectionOptionsInput {
  46627. s.AccepterPeeringConnectionOptions = v
  46628. return s
  46629. }
  46630. // SetDryRun sets the DryRun field's value.
  46631. func (s *ModifyVpcPeeringConnectionOptionsInput) SetDryRun(v bool) *ModifyVpcPeeringConnectionOptionsInput {
  46632. s.DryRun = &v
  46633. return s
  46634. }
  46635. // SetRequesterPeeringConnectionOptions sets the RequesterPeeringConnectionOptions field's value.
  46636. func (s *ModifyVpcPeeringConnectionOptionsInput) SetRequesterPeeringConnectionOptions(v *PeeringConnectionOptionsRequest) *ModifyVpcPeeringConnectionOptionsInput {
  46637. s.RequesterPeeringConnectionOptions = v
  46638. return s
  46639. }
  46640. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  46641. func (s *ModifyVpcPeeringConnectionOptionsInput) SetVpcPeeringConnectionId(v string) *ModifyVpcPeeringConnectionOptionsInput {
  46642. s.VpcPeeringConnectionId = &v
  46643. return s
  46644. }
  46645. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcPeeringConnectionOptionsResult
  46646. type ModifyVpcPeeringConnectionOptionsOutput struct {
  46647. _ struct{} `type:"structure"`
  46648. // Information about the VPC peering connection options for the accepter VPC.
  46649. AccepterPeeringConnectionOptions *PeeringConnectionOptions `locationName:"accepterPeeringConnectionOptions" type:"structure"`
  46650. // Information about the VPC peering connection options for the requester VPC.
  46651. RequesterPeeringConnectionOptions *PeeringConnectionOptions `locationName:"requesterPeeringConnectionOptions" type:"structure"`
  46652. }
  46653. // String returns the string representation
  46654. func (s ModifyVpcPeeringConnectionOptionsOutput) String() string {
  46655. return awsutil.Prettify(s)
  46656. }
  46657. // GoString returns the string representation
  46658. func (s ModifyVpcPeeringConnectionOptionsOutput) GoString() string {
  46659. return s.String()
  46660. }
  46661. // SetAccepterPeeringConnectionOptions sets the AccepterPeeringConnectionOptions field's value.
  46662. func (s *ModifyVpcPeeringConnectionOptionsOutput) SetAccepterPeeringConnectionOptions(v *PeeringConnectionOptions) *ModifyVpcPeeringConnectionOptionsOutput {
  46663. s.AccepterPeeringConnectionOptions = v
  46664. return s
  46665. }
  46666. // SetRequesterPeeringConnectionOptions sets the RequesterPeeringConnectionOptions field's value.
  46667. func (s *ModifyVpcPeeringConnectionOptionsOutput) SetRequesterPeeringConnectionOptions(v *PeeringConnectionOptions) *ModifyVpcPeeringConnectionOptionsOutput {
  46668. s.RequesterPeeringConnectionOptions = v
  46669. return s
  46670. }
  46671. // Contains the parameters for ModifyVpcTenancy.
  46672. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcTenancyRequest
  46673. type ModifyVpcTenancyInput struct {
  46674. _ struct{} `type:"structure"`
  46675. // Checks whether you have the required permissions for the operation, without
  46676. // actually making the request, and provides an error response. If you have
  46677. // the required permissions, the error response is DryRunOperation. Otherwise,
  46678. // it is UnauthorizedOperation.
  46679. DryRun *bool `type:"boolean"`
  46680. // The instance tenancy attribute for the VPC.
  46681. //
  46682. // InstanceTenancy is a required field
  46683. InstanceTenancy *string `type:"string" required:"true" enum:"VpcTenancy"`
  46684. // The ID of the VPC.
  46685. //
  46686. // VpcId is a required field
  46687. VpcId *string `type:"string" required:"true"`
  46688. }
  46689. // String returns the string representation
  46690. func (s ModifyVpcTenancyInput) String() string {
  46691. return awsutil.Prettify(s)
  46692. }
  46693. // GoString returns the string representation
  46694. func (s ModifyVpcTenancyInput) GoString() string {
  46695. return s.String()
  46696. }
  46697. // Validate inspects the fields of the type to determine if they are valid.
  46698. func (s *ModifyVpcTenancyInput) Validate() error {
  46699. invalidParams := request.ErrInvalidParams{Context: "ModifyVpcTenancyInput"}
  46700. if s.InstanceTenancy == nil {
  46701. invalidParams.Add(request.NewErrParamRequired("InstanceTenancy"))
  46702. }
  46703. if s.VpcId == nil {
  46704. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  46705. }
  46706. if invalidParams.Len() > 0 {
  46707. return invalidParams
  46708. }
  46709. return nil
  46710. }
  46711. // SetDryRun sets the DryRun field's value.
  46712. func (s *ModifyVpcTenancyInput) SetDryRun(v bool) *ModifyVpcTenancyInput {
  46713. s.DryRun = &v
  46714. return s
  46715. }
  46716. // SetInstanceTenancy sets the InstanceTenancy field's value.
  46717. func (s *ModifyVpcTenancyInput) SetInstanceTenancy(v string) *ModifyVpcTenancyInput {
  46718. s.InstanceTenancy = &v
  46719. return s
  46720. }
  46721. // SetVpcId sets the VpcId field's value.
  46722. func (s *ModifyVpcTenancyInput) SetVpcId(v string) *ModifyVpcTenancyInput {
  46723. s.VpcId = &v
  46724. return s
  46725. }
  46726. // Contains the output of ModifyVpcTenancy.
  46727. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcTenancyResult
  46728. type ModifyVpcTenancyOutput struct {
  46729. _ struct{} `type:"structure"`
  46730. // Returns true if the request succeeds; otherwise, returns an error.
  46731. ReturnValue *bool `locationName:"return" type:"boolean"`
  46732. }
  46733. // String returns the string representation
  46734. func (s ModifyVpcTenancyOutput) String() string {
  46735. return awsutil.Prettify(s)
  46736. }
  46737. // GoString returns the string representation
  46738. func (s ModifyVpcTenancyOutput) GoString() string {
  46739. return s.String()
  46740. }
  46741. // SetReturnValue sets the ReturnValue field's value.
  46742. func (s *ModifyVpcTenancyOutput) SetReturnValue(v bool) *ModifyVpcTenancyOutput {
  46743. s.ReturnValue = &v
  46744. return s
  46745. }
  46746. // Contains the parameters for MonitorInstances.
  46747. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MonitorInstancesRequest
  46748. type MonitorInstancesInput struct {
  46749. _ struct{} `type:"structure"`
  46750. // Checks whether you have the required permissions for the action, without
  46751. // actually making the request, and provides an error response. If you have
  46752. // the required permissions, the error response is DryRunOperation. Otherwise,
  46753. // it is UnauthorizedOperation.
  46754. DryRun *bool `locationName:"dryRun" type:"boolean"`
  46755. // One or more instance IDs.
  46756. //
  46757. // InstanceIds is a required field
  46758. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  46759. }
  46760. // String returns the string representation
  46761. func (s MonitorInstancesInput) String() string {
  46762. return awsutil.Prettify(s)
  46763. }
  46764. // GoString returns the string representation
  46765. func (s MonitorInstancesInput) GoString() string {
  46766. return s.String()
  46767. }
  46768. // Validate inspects the fields of the type to determine if they are valid.
  46769. func (s *MonitorInstancesInput) Validate() error {
  46770. invalidParams := request.ErrInvalidParams{Context: "MonitorInstancesInput"}
  46771. if s.InstanceIds == nil {
  46772. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  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 *MonitorInstancesInput) SetDryRun(v bool) *MonitorInstancesInput {
  46781. s.DryRun = &v
  46782. return s
  46783. }
  46784. // SetInstanceIds sets the InstanceIds field's value.
  46785. func (s *MonitorInstancesInput) SetInstanceIds(v []*string) *MonitorInstancesInput {
  46786. s.InstanceIds = v
  46787. return s
  46788. }
  46789. // Contains the output of MonitorInstances.
  46790. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MonitorInstancesResult
  46791. type MonitorInstancesOutput struct {
  46792. _ struct{} `type:"structure"`
  46793. // The monitoring information.
  46794. InstanceMonitorings []*InstanceMonitoring `locationName:"instancesSet" locationNameList:"item" type:"list"`
  46795. }
  46796. // String returns the string representation
  46797. func (s MonitorInstancesOutput) String() string {
  46798. return awsutil.Prettify(s)
  46799. }
  46800. // GoString returns the string representation
  46801. func (s MonitorInstancesOutput) GoString() string {
  46802. return s.String()
  46803. }
  46804. // SetInstanceMonitorings sets the InstanceMonitorings field's value.
  46805. func (s *MonitorInstancesOutput) SetInstanceMonitorings(v []*InstanceMonitoring) *MonitorInstancesOutput {
  46806. s.InstanceMonitorings = v
  46807. return s
  46808. }
  46809. // Describes the monitoring of an instance.
  46810. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Monitoring
  46811. type Monitoring struct {
  46812. _ struct{} `type:"structure"`
  46813. // Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring
  46814. // is enabled.
  46815. State *string `locationName:"state" type:"string" enum:"MonitoringState"`
  46816. }
  46817. // String returns the string representation
  46818. func (s Monitoring) String() string {
  46819. return awsutil.Prettify(s)
  46820. }
  46821. // GoString returns the string representation
  46822. func (s Monitoring) GoString() string {
  46823. return s.String()
  46824. }
  46825. // SetState sets the State field's value.
  46826. func (s *Monitoring) SetState(v string) *Monitoring {
  46827. s.State = &v
  46828. return s
  46829. }
  46830. // Contains the parameters for MoveAddressToVpc.
  46831. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MoveAddressToVpcRequest
  46832. type MoveAddressToVpcInput struct {
  46833. _ struct{} `type:"structure"`
  46834. // Checks whether you have the required permissions for the action, without
  46835. // actually making the request, and provides an error response. If you have
  46836. // the required permissions, the error response is DryRunOperation. Otherwise,
  46837. // it is UnauthorizedOperation.
  46838. DryRun *bool `locationName:"dryRun" type:"boolean"`
  46839. // The Elastic IP address.
  46840. //
  46841. // PublicIp is a required field
  46842. PublicIp *string `locationName:"publicIp" type:"string" required:"true"`
  46843. }
  46844. // String returns the string representation
  46845. func (s MoveAddressToVpcInput) String() string {
  46846. return awsutil.Prettify(s)
  46847. }
  46848. // GoString returns the string representation
  46849. func (s MoveAddressToVpcInput) GoString() string {
  46850. return s.String()
  46851. }
  46852. // Validate inspects the fields of the type to determine if they are valid.
  46853. func (s *MoveAddressToVpcInput) Validate() error {
  46854. invalidParams := request.ErrInvalidParams{Context: "MoveAddressToVpcInput"}
  46855. if s.PublicIp == nil {
  46856. invalidParams.Add(request.NewErrParamRequired("PublicIp"))
  46857. }
  46858. if invalidParams.Len() > 0 {
  46859. return invalidParams
  46860. }
  46861. return nil
  46862. }
  46863. // SetDryRun sets the DryRun field's value.
  46864. func (s *MoveAddressToVpcInput) SetDryRun(v bool) *MoveAddressToVpcInput {
  46865. s.DryRun = &v
  46866. return s
  46867. }
  46868. // SetPublicIp sets the PublicIp field's value.
  46869. func (s *MoveAddressToVpcInput) SetPublicIp(v string) *MoveAddressToVpcInput {
  46870. s.PublicIp = &v
  46871. return s
  46872. }
  46873. // Contains the output of MoveAddressToVpc.
  46874. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MoveAddressToVpcResult
  46875. type MoveAddressToVpcOutput struct {
  46876. _ struct{} `type:"structure"`
  46877. // The allocation ID for the Elastic IP address.
  46878. AllocationId *string `locationName:"allocationId" type:"string"`
  46879. // The status of the move of the IP address.
  46880. Status *string `locationName:"status" type:"string" enum:"Status"`
  46881. }
  46882. // String returns the string representation
  46883. func (s MoveAddressToVpcOutput) String() string {
  46884. return awsutil.Prettify(s)
  46885. }
  46886. // GoString returns the string representation
  46887. func (s MoveAddressToVpcOutput) GoString() string {
  46888. return s.String()
  46889. }
  46890. // SetAllocationId sets the AllocationId field's value.
  46891. func (s *MoveAddressToVpcOutput) SetAllocationId(v string) *MoveAddressToVpcOutput {
  46892. s.AllocationId = &v
  46893. return s
  46894. }
  46895. // SetStatus sets the Status field's value.
  46896. func (s *MoveAddressToVpcOutput) SetStatus(v string) *MoveAddressToVpcOutput {
  46897. s.Status = &v
  46898. return s
  46899. }
  46900. // Describes the status of a moving Elastic IP address.
  46901. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MovingAddressStatus
  46902. type MovingAddressStatus struct {
  46903. _ struct{} `type:"structure"`
  46904. // The status of the Elastic IP address that's being moved to the EC2-VPC platform,
  46905. // or restored to the EC2-Classic platform.
  46906. MoveStatus *string `locationName:"moveStatus" type:"string" enum:"MoveStatus"`
  46907. // The Elastic IP address.
  46908. PublicIp *string `locationName:"publicIp" type:"string"`
  46909. }
  46910. // String returns the string representation
  46911. func (s MovingAddressStatus) String() string {
  46912. return awsutil.Prettify(s)
  46913. }
  46914. // GoString returns the string representation
  46915. func (s MovingAddressStatus) GoString() string {
  46916. return s.String()
  46917. }
  46918. // SetMoveStatus sets the MoveStatus field's value.
  46919. func (s *MovingAddressStatus) SetMoveStatus(v string) *MovingAddressStatus {
  46920. s.MoveStatus = &v
  46921. return s
  46922. }
  46923. // SetPublicIp sets the PublicIp field's value.
  46924. func (s *MovingAddressStatus) SetPublicIp(v string) *MovingAddressStatus {
  46925. s.PublicIp = &v
  46926. return s
  46927. }
  46928. // Describes a NAT gateway.
  46929. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NatGateway
  46930. type NatGateway struct {
  46931. _ struct{} `type:"structure"`
  46932. // The date and time the NAT gateway was created.
  46933. CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"`
  46934. // The date and time the NAT gateway was deleted, if applicable.
  46935. DeleteTime *time.Time `locationName:"deleteTime" type:"timestamp" timestampFormat:"iso8601"`
  46936. // If the NAT gateway could not be created, specifies the error code for the
  46937. // failure. (InsufficientFreeAddressesInSubnet | Gateway.NotAttached | InvalidAllocationID.NotFound
  46938. // | Resource.AlreadyAssociated | InternalError | InvalidSubnetID.NotFound)
  46939. FailureCode *string `locationName:"failureCode" type:"string"`
  46940. // If the NAT gateway could not be created, specifies the error message for
  46941. // the failure, that corresponds to the error code.
  46942. //
  46943. // * For InsufficientFreeAddressesInSubnet: "Subnet has insufficient free
  46944. // addresses to create this NAT gateway"
  46945. //
  46946. // * For Gateway.NotAttached: "Network vpc-xxxxxxxx has no Internet gateway
  46947. // attached"
  46948. //
  46949. // * For InvalidAllocationID.NotFound: "Elastic IP address eipalloc-xxxxxxxx
  46950. // could not be associated with this NAT gateway"
  46951. //
  46952. // * For Resource.AlreadyAssociated: "Elastic IP address eipalloc-xxxxxxxx
  46953. // is already associated"
  46954. //
  46955. // * For InternalError: "Network interface eni-xxxxxxxx, created and used
  46956. // internally by this NAT gateway is in an invalid state. Please try again."
  46957. //
  46958. // * For InvalidSubnetID.NotFound: "The specified subnet subnet-xxxxxxxx
  46959. // does not exist or could not be found."
  46960. FailureMessage *string `locationName:"failureMessage" type:"string"`
  46961. // Information about the IP addresses and network interface associated with
  46962. // the NAT gateway.
  46963. NatGatewayAddresses []*NatGatewayAddress `locationName:"natGatewayAddressSet" locationNameList:"item" type:"list"`
  46964. // The ID of the NAT gateway.
  46965. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  46966. // Reserved. If you need to sustain traffic greater than the documented limits
  46967. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  46968. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  46969. ProvisionedBandwidth *ProvisionedBandwidth `locationName:"provisionedBandwidth" type:"structure"`
  46970. // The state of the NAT gateway.
  46971. //
  46972. // * pending: The NAT gateway is being created and is not ready to process
  46973. // traffic.
  46974. //
  46975. // * failed: The NAT gateway could not be created. Check the failureCode
  46976. // and failureMessage fields for the reason.
  46977. //
  46978. // * available: The NAT gateway is able to process traffic. This status remains
  46979. // until you delete the NAT gateway, and does not indicate the health of
  46980. // the NAT gateway.
  46981. //
  46982. // * deleting: The NAT gateway is in the process of being terminated and
  46983. // may still be processing traffic.
  46984. //
  46985. // * deleted: The NAT gateway has been terminated and is no longer processing
  46986. // traffic.
  46987. State *string `locationName:"state" type:"string" enum:"NatGatewayState"`
  46988. // The ID of the subnet in which the NAT gateway is located.
  46989. SubnetId *string `locationName:"subnetId" type:"string"`
  46990. // The tags for the NAT gateway.
  46991. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  46992. // The ID of the VPC in which the NAT gateway is located.
  46993. VpcId *string `locationName:"vpcId" type:"string"`
  46994. }
  46995. // String returns the string representation
  46996. func (s NatGateway) String() string {
  46997. return awsutil.Prettify(s)
  46998. }
  46999. // GoString returns the string representation
  47000. func (s NatGateway) GoString() string {
  47001. return s.String()
  47002. }
  47003. // SetCreateTime sets the CreateTime field's value.
  47004. func (s *NatGateway) SetCreateTime(v time.Time) *NatGateway {
  47005. s.CreateTime = &v
  47006. return s
  47007. }
  47008. // SetDeleteTime sets the DeleteTime field's value.
  47009. func (s *NatGateway) SetDeleteTime(v time.Time) *NatGateway {
  47010. s.DeleteTime = &v
  47011. return s
  47012. }
  47013. // SetFailureCode sets the FailureCode field's value.
  47014. func (s *NatGateway) SetFailureCode(v string) *NatGateway {
  47015. s.FailureCode = &v
  47016. return s
  47017. }
  47018. // SetFailureMessage sets the FailureMessage field's value.
  47019. func (s *NatGateway) SetFailureMessage(v string) *NatGateway {
  47020. s.FailureMessage = &v
  47021. return s
  47022. }
  47023. // SetNatGatewayAddresses sets the NatGatewayAddresses field's value.
  47024. func (s *NatGateway) SetNatGatewayAddresses(v []*NatGatewayAddress) *NatGateway {
  47025. s.NatGatewayAddresses = v
  47026. return s
  47027. }
  47028. // SetNatGatewayId sets the NatGatewayId field's value.
  47029. func (s *NatGateway) SetNatGatewayId(v string) *NatGateway {
  47030. s.NatGatewayId = &v
  47031. return s
  47032. }
  47033. // SetProvisionedBandwidth sets the ProvisionedBandwidth field's value.
  47034. func (s *NatGateway) SetProvisionedBandwidth(v *ProvisionedBandwidth) *NatGateway {
  47035. s.ProvisionedBandwidth = v
  47036. return s
  47037. }
  47038. // SetState sets the State field's value.
  47039. func (s *NatGateway) SetState(v string) *NatGateway {
  47040. s.State = &v
  47041. return s
  47042. }
  47043. // SetSubnetId sets the SubnetId field's value.
  47044. func (s *NatGateway) SetSubnetId(v string) *NatGateway {
  47045. s.SubnetId = &v
  47046. return s
  47047. }
  47048. // SetTags sets the Tags field's value.
  47049. func (s *NatGateway) SetTags(v []*Tag) *NatGateway {
  47050. s.Tags = v
  47051. return s
  47052. }
  47053. // SetVpcId sets the VpcId field's value.
  47054. func (s *NatGateway) SetVpcId(v string) *NatGateway {
  47055. s.VpcId = &v
  47056. return s
  47057. }
  47058. // Describes the IP addresses and network interface associated with a NAT gateway.
  47059. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NatGatewayAddress
  47060. type NatGatewayAddress struct {
  47061. _ struct{} `type:"structure"`
  47062. // The allocation ID of the Elastic IP address that's associated with the NAT
  47063. // gateway.
  47064. AllocationId *string `locationName:"allocationId" type:"string"`
  47065. // The ID of the network interface associated with the NAT gateway.
  47066. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  47067. // The private IP address associated with the Elastic IP address.
  47068. PrivateIp *string `locationName:"privateIp" type:"string"`
  47069. // The Elastic IP address associated with the NAT gateway.
  47070. PublicIp *string `locationName:"publicIp" type:"string"`
  47071. }
  47072. // String returns the string representation
  47073. func (s NatGatewayAddress) String() string {
  47074. return awsutil.Prettify(s)
  47075. }
  47076. // GoString returns the string representation
  47077. func (s NatGatewayAddress) GoString() string {
  47078. return s.String()
  47079. }
  47080. // SetAllocationId sets the AllocationId field's value.
  47081. func (s *NatGatewayAddress) SetAllocationId(v string) *NatGatewayAddress {
  47082. s.AllocationId = &v
  47083. return s
  47084. }
  47085. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  47086. func (s *NatGatewayAddress) SetNetworkInterfaceId(v string) *NatGatewayAddress {
  47087. s.NetworkInterfaceId = &v
  47088. return s
  47089. }
  47090. // SetPrivateIp sets the PrivateIp field's value.
  47091. func (s *NatGatewayAddress) SetPrivateIp(v string) *NatGatewayAddress {
  47092. s.PrivateIp = &v
  47093. return s
  47094. }
  47095. // SetPublicIp sets the PublicIp field's value.
  47096. func (s *NatGatewayAddress) SetPublicIp(v string) *NatGatewayAddress {
  47097. s.PublicIp = &v
  47098. return s
  47099. }
  47100. // Describes a network ACL.
  47101. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkAcl
  47102. type NetworkAcl struct {
  47103. _ struct{} `type:"structure"`
  47104. // Any associations between the network ACL and one or more subnets
  47105. Associations []*NetworkAclAssociation `locationName:"associationSet" locationNameList:"item" type:"list"`
  47106. // One or more entries (rules) in the network ACL.
  47107. Entries []*NetworkAclEntry `locationName:"entrySet" locationNameList:"item" type:"list"`
  47108. // Indicates whether this is the default network ACL for the VPC.
  47109. IsDefault *bool `locationName:"default" type:"boolean"`
  47110. // The ID of the network ACL.
  47111. NetworkAclId *string `locationName:"networkAclId" type:"string"`
  47112. // Any tags assigned to the network ACL.
  47113. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  47114. // The ID of the VPC for the network ACL.
  47115. VpcId *string `locationName:"vpcId" type:"string"`
  47116. }
  47117. // String returns the string representation
  47118. func (s NetworkAcl) String() string {
  47119. return awsutil.Prettify(s)
  47120. }
  47121. // GoString returns the string representation
  47122. func (s NetworkAcl) GoString() string {
  47123. return s.String()
  47124. }
  47125. // SetAssociations sets the Associations field's value.
  47126. func (s *NetworkAcl) SetAssociations(v []*NetworkAclAssociation) *NetworkAcl {
  47127. s.Associations = v
  47128. return s
  47129. }
  47130. // SetEntries sets the Entries field's value.
  47131. func (s *NetworkAcl) SetEntries(v []*NetworkAclEntry) *NetworkAcl {
  47132. s.Entries = v
  47133. return s
  47134. }
  47135. // SetIsDefault sets the IsDefault field's value.
  47136. func (s *NetworkAcl) SetIsDefault(v bool) *NetworkAcl {
  47137. s.IsDefault = &v
  47138. return s
  47139. }
  47140. // SetNetworkAclId sets the NetworkAclId field's value.
  47141. func (s *NetworkAcl) SetNetworkAclId(v string) *NetworkAcl {
  47142. s.NetworkAclId = &v
  47143. return s
  47144. }
  47145. // SetTags sets the Tags field's value.
  47146. func (s *NetworkAcl) SetTags(v []*Tag) *NetworkAcl {
  47147. s.Tags = v
  47148. return s
  47149. }
  47150. // SetVpcId sets the VpcId field's value.
  47151. func (s *NetworkAcl) SetVpcId(v string) *NetworkAcl {
  47152. s.VpcId = &v
  47153. return s
  47154. }
  47155. // Describes an association between a network ACL and a subnet.
  47156. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkAclAssociation
  47157. type NetworkAclAssociation struct {
  47158. _ struct{} `type:"structure"`
  47159. // The ID of the association between a network ACL and a subnet.
  47160. NetworkAclAssociationId *string `locationName:"networkAclAssociationId" type:"string"`
  47161. // The ID of the network ACL.
  47162. NetworkAclId *string `locationName:"networkAclId" type:"string"`
  47163. // The ID of the subnet.
  47164. SubnetId *string `locationName:"subnetId" type:"string"`
  47165. }
  47166. // String returns the string representation
  47167. func (s NetworkAclAssociation) String() string {
  47168. return awsutil.Prettify(s)
  47169. }
  47170. // GoString returns the string representation
  47171. func (s NetworkAclAssociation) GoString() string {
  47172. return s.String()
  47173. }
  47174. // SetNetworkAclAssociationId sets the NetworkAclAssociationId field's value.
  47175. func (s *NetworkAclAssociation) SetNetworkAclAssociationId(v string) *NetworkAclAssociation {
  47176. s.NetworkAclAssociationId = &v
  47177. return s
  47178. }
  47179. // SetNetworkAclId sets the NetworkAclId field's value.
  47180. func (s *NetworkAclAssociation) SetNetworkAclId(v string) *NetworkAclAssociation {
  47181. s.NetworkAclId = &v
  47182. return s
  47183. }
  47184. // SetSubnetId sets the SubnetId field's value.
  47185. func (s *NetworkAclAssociation) SetSubnetId(v string) *NetworkAclAssociation {
  47186. s.SubnetId = &v
  47187. return s
  47188. }
  47189. // Describes an entry in a network ACL.
  47190. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkAclEntry
  47191. type NetworkAclEntry struct {
  47192. _ struct{} `type:"structure"`
  47193. // The IPv4 network range to allow or deny, in CIDR notation.
  47194. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  47195. // Indicates whether the rule is an egress rule (applied to traffic leaving
  47196. // the subnet).
  47197. Egress *bool `locationName:"egress" type:"boolean"`
  47198. // ICMP protocol: The ICMP type and code.
  47199. IcmpTypeCode *IcmpTypeCode `locationName:"icmpTypeCode" type:"structure"`
  47200. // The IPv6 network range to allow or deny, in CIDR notation.
  47201. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
  47202. // TCP or UDP protocols: The range of ports the rule applies to.
  47203. PortRange *PortRange `locationName:"portRange" type:"structure"`
  47204. // The protocol. A value of -1 means all protocols.
  47205. Protocol *string `locationName:"protocol" type:"string"`
  47206. // Indicates whether to allow or deny the traffic that matches the rule.
  47207. RuleAction *string `locationName:"ruleAction" type:"string" enum:"RuleAction"`
  47208. // The rule number for the entry. ACL entries are processed in ascending order
  47209. // by rule number.
  47210. RuleNumber *int64 `locationName:"ruleNumber" type:"integer"`
  47211. }
  47212. // String returns the string representation
  47213. func (s NetworkAclEntry) String() string {
  47214. return awsutil.Prettify(s)
  47215. }
  47216. // GoString returns the string representation
  47217. func (s NetworkAclEntry) GoString() string {
  47218. return s.String()
  47219. }
  47220. // SetCidrBlock sets the CidrBlock field's value.
  47221. func (s *NetworkAclEntry) SetCidrBlock(v string) *NetworkAclEntry {
  47222. s.CidrBlock = &v
  47223. return s
  47224. }
  47225. // SetEgress sets the Egress field's value.
  47226. func (s *NetworkAclEntry) SetEgress(v bool) *NetworkAclEntry {
  47227. s.Egress = &v
  47228. return s
  47229. }
  47230. // SetIcmpTypeCode sets the IcmpTypeCode field's value.
  47231. func (s *NetworkAclEntry) SetIcmpTypeCode(v *IcmpTypeCode) *NetworkAclEntry {
  47232. s.IcmpTypeCode = v
  47233. return s
  47234. }
  47235. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  47236. func (s *NetworkAclEntry) SetIpv6CidrBlock(v string) *NetworkAclEntry {
  47237. s.Ipv6CidrBlock = &v
  47238. return s
  47239. }
  47240. // SetPortRange sets the PortRange field's value.
  47241. func (s *NetworkAclEntry) SetPortRange(v *PortRange) *NetworkAclEntry {
  47242. s.PortRange = v
  47243. return s
  47244. }
  47245. // SetProtocol sets the Protocol field's value.
  47246. func (s *NetworkAclEntry) SetProtocol(v string) *NetworkAclEntry {
  47247. s.Protocol = &v
  47248. return s
  47249. }
  47250. // SetRuleAction sets the RuleAction field's value.
  47251. func (s *NetworkAclEntry) SetRuleAction(v string) *NetworkAclEntry {
  47252. s.RuleAction = &v
  47253. return s
  47254. }
  47255. // SetRuleNumber sets the RuleNumber field's value.
  47256. func (s *NetworkAclEntry) SetRuleNumber(v int64) *NetworkAclEntry {
  47257. s.RuleNumber = &v
  47258. return s
  47259. }
  47260. // Describes a network interface.
  47261. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkInterface
  47262. type NetworkInterface struct {
  47263. _ struct{} `type:"structure"`
  47264. // The association information for an Elastic IP address (IPv4) associated with
  47265. // the network interface.
  47266. Association *NetworkInterfaceAssociation `locationName:"association" type:"structure"`
  47267. // The network interface attachment.
  47268. Attachment *NetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
  47269. // The Availability Zone.
  47270. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  47271. // A description.
  47272. Description *string `locationName:"description" type:"string"`
  47273. // Any security groups for the network interface.
  47274. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  47275. // The type of interface.
  47276. InterfaceType *string `locationName:"interfaceType" type:"string" enum:"NetworkInterfaceType"`
  47277. // The IPv6 addresses associated with the network interface.
  47278. Ipv6Addresses []*NetworkInterfaceIpv6Address `locationName:"ipv6AddressesSet" locationNameList:"item" type:"list"`
  47279. // The MAC address.
  47280. MacAddress *string `locationName:"macAddress" type:"string"`
  47281. // The ID of the network interface.
  47282. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  47283. // The AWS account ID of the owner of the network interface.
  47284. OwnerId *string `locationName:"ownerId" type:"string"`
  47285. // The private DNS name.
  47286. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  47287. // The IPv4 address of the network interface within the subnet.
  47288. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  47289. // The private IPv4 addresses associated with the network interface.
  47290. PrivateIpAddresses []*NetworkInterfacePrivateIpAddress `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"`
  47291. // The ID of the entity that launched the instance on your behalf (for example,
  47292. // AWS Management Console or Auto Scaling).
  47293. RequesterId *string `locationName:"requesterId" type:"string"`
  47294. // Indicates whether the network interface is being managed by AWS.
  47295. RequesterManaged *bool `locationName:"requesterManaged" type:"boolean"`
  47296. // Indicates whether traffic to or from the instance is validated.
  47297. SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
  47298. // The status of the network interface.
  47299. Status *string `locationName:"status" type:"string" enum:"NetworkInterfaceStatus"`
  47300. // The ID of the subnet.
  47301. SubnetId *string `locationName:"subnetId" type:"string"`
  47302. // Any tags assigned to the network interface.
  47303. TagSet []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  47304. // The ID of the VPC.
  47305. VpcId *string `locationName:"vpcId" type:"string"`
  47306. }
  47307. // String returns the string representation
  47308. func (s NetworkInterface) String() string {
  47309. return awsutil.Prettify(s)
  47310. }
  47311. // GoString returns the string representation
  47312. func (s NetworkInterface) GoString() string {
  47313. return s.String()
  47314. }
  47315. // SetAssociation sets the Association field's value.
  47316. func (s *NetworkInterface) SetAssociation(v *NetworkInterfaceAssociation) *NetworkInterface {
  47317. s.Association = v
  47318. return s
  47319. }
  47320. // SetAttachment sets the Attachment field's value.
  47321. func (s *NetworkInterface) SetAttachment(v *NetworkInterfaceAttachment) *NetworkInterface {
  47322. s.Attachment = v
  47323. return s
  47324. }
  47325. // SetAvailabilityZone sets the AvailabilityZone field's value.
  47326. func (s *NetworkInterface) SetAvailabilityZone(v string) *NetworkInterface {
  47327. s.AvailabilityZone = &v
  47328. return s
  47329. }
  47330. // SetDescription sets the Description field's value.
  47331. func (s *NetworkInterface) SetDescription(v string) *NetworkInterface {
  47332. s.Description = &v
  47333. return s
  47334. }
  47335. // SetGroups sets the Groups field's value.
  47336. func (s *NetworkInterface) SetGroups(v []*GroupIdentifier) *NetworkInterface {
  47337. s.Groups = v
  47338. return s
  47339. }
  47340. // SetInterfaceType sets the InterfaceType field's value.
  47341. func (s *NetworkInterface) SetInterfaceType(v string) *NetworkInterface {
  47342. s.InterfaceType = &v
  47343. return s
  47344. }
  47345. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  47346. func (s *NetworkInterface) SetIpv6Addresses(v []*NetworkInterfaceIpv6Address) *NetworkInterface {
  47347. s.Ipv6Addresses = v
  47348. return s
  47349. }
  47350. // SetMacAddress sets the MacAddress field's value.
  47351. func (s *NetworkInterface) SetMacAddress(v string) *NetworkInterface {
  47352. s.MacAddress = &v
  47353. return s
  47354. }
  47355. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  47356. func (s *NetworkInterface) SetNetworkInterfaceId(v string) *NetworkInterface {
  47357. s.NetworkInterfaceId = &v
  47358. return s
  47359. }
  47360. // SetOwnerId sets the OwnerId field's value.
  47361. func (s *NetworkInterface) SetOwnerId(v string) *NetworkInterface {
  47362. s.OwnerId = &v
  47363. return s
  47364. }
  47365. // SetPrivateDnsName sets the PrivateDnsName field's value.
  47366. func (s *NetworkInterface) SetPrivateDnsName(v string) *NetworkInterface {
  47367. s.PrivateDnsName = &v
  47368. return s
  47369. }
  47370. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  47371. func (s *NetworkInterface) SetPrivateIpAddress(v string) *NetworkInterface {
  47372. s.PrivateIpAddress = &v
  47373. return s
  47374. }
  47375. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  47376. func (s *NetworkInterface) SetPrivateIpAddresses(v []*NetworkInterfacePrivateIpAddress) *NetworkInterface {
  47377. s.PrivateIpAddresses = v
  47378. return s
  47379. }
  47380. // SetRequesterId sets the RequesterId field's value.
  47381. func (s *NetworkInterface) SetRequesterId(v string) *NetworkInterface {
  47382. s.RequesterId = &v
  47383. return s
  47384. }
  47385. // SetRequesterManaged sets the RequesterManaged field's value.
  47386. func (s *NetworkInterface) SetRequesterManaged(v bool) *NetworkInterface {
  47387. s.RequesterManaged = &v
  47388. return s
  47389. }
  47390. // SetSourceDestCheck sets the SourceDestCheck field's value.
  47391. func (s *NetworkInterface) SetSourceDestCheck(v bool) *NetworkInterface {
  47392. s.SourceDestCheck = &v
  47393. return s
  47394. }
  47395. // SetStatus sets the Status field's value.
  47396. func (s *NetworkInterface) SetStatus(v string) *NetworkInterface {
  47397. s.Status = &v
  47398. return s
  47399. }
  47400. // SetSubnetId sets the SubnetId field's value.
  47401. func (s *NetworkInterface) SetSubnetId(v string) *NetworkInterface {
  47402. s.SubnetId = &v
  47403. return s
  47404. }
  47405. // SetTagSet sets the TagSet field's value.
  47406. func (s *NetworkInterface) SetTagSet(v []*Tag) *NetworkInterface {
  47407. s.TagSet = v
  47408. return s
  47409. }
  47410. // SetVpcId sets the VpcId field's value.
  47411. func (s *NetworkInterface) SetVpcId(v string) *NetworkInterface {
  47412. s.VpcId = &v
  47413. return s
  47414. }
  47415. // Describes association information for an Elastic IP address (IPv4 only).
  47416. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkInterfaceAssociation
  47417. type NetworkInterfaceAssociation struct {
  47418. _ struct{} `type:"structure"`
  47419. // The allocation ID.
  47420. AllocationId *string `locationName:"allocationId" type:"string"`
  47421. // The association ID.
  47422. AssociationId *string `locationName:"associationId" type:"string"`
  47423. // The ID of the Elastic IP address owner.
  47424. IpOwnerId *string `locationName:"ipOwnerId" type:"string"`
  47425. // The public DNS name.
  47426. PublicDnsName *string `locationName:"publicDnsName" type:"string"`
  47427. // The address of the Elastic IP address bound to the network interface.
  47428. PublicIp *string `locationName:"publicIp" type:"string"`
  47429. }
  47430. // String returns the string representation
  47431. func (s NetworkInterfaceAssociation) String() string {
  47432. return awsutil.Prettify(s)
  47433. }
  47434. // GoString returns the string representation
  47435. func (s NetworkInterfaceAssociation) GoString() string {
  47436. return s.String()
  47437. }
  47438. // SetAllocationId sets the AllocationId field's value.
  47439. func (s *NetworkInterfaceAssociation) SetAllocationId(v string) *NetworkInterfaceAssociation {
  47440. s.AllocationId = &v
  47441. return s
  47442. }
  47443. // SetAssociationId sets the AssociationId field's value.
  47444. func (s *NetworkInterfaceAssociation) SetAssociationId(v string) *NetworkInterfaceAssociation {
  47445. s.AssociationId = &v
  47446. return s
  47447. }
  47448. // SetIpOwnerId sets the IpOwnerId field's value.
  47449. func (s *NetworkInterfaceAssociation) SetIpOwnerId(v string) *NetworkInterfaceAssociation {
  47450. s.IpOwnerId = &v
  47451. return s
  47452. }
  47453. // SetPublicDnsName sets the PublicDnsName field's value.
  47454. func (s *NetworkInterfaceAssociation) SetPublicDnsName(v string) *NetworkInterfaceAssociation {
  47455. s.PublicDnsName = &v
  47456. return s
  47457. }
  47458. // SetPublicIp sets the PublicIp field's value.
  47459. func (s *NetworkInterfaceAssociation) SetPublicIp(v string) *NetworkInterfaceAssociation {
  47460. s.PublicIp = &v
  47461. return s
  47462. }
  47463. // Describes a network interface attachment.
  47464. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkInterfaceAttachment
  47465. type NetworkInterfaceAttachment struct {
  47466. _ struct{} `type:"structure"`
  47467. // The timestamp indicating when the attachment initiated.
  47468. AttachTime *time.Time `locationName:"attachTime" type:"timestamp" timestampFormat:"iso8601"`
  47469. // The ID of the network interface attachment.
  47470. AttachmentId *string `locationName:"attachmentId" type:"string"`
  47471. // Indicates whether the network interface is deleted when the instance is terminated.
  47472. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  47473. // The device index of the network interface attachment on the instance.
  47474. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
  47475. // The ID of the instance.
  47476. InstanceId *string `locationName:"instanceId" type:"string"`
  47477. // The AWS account ID of the owner of the instance.
  47478. InstanceOwnerId *string `locationName:"instanceOwnerId" type:"string"`
  47479. // The attachment state.
  47480. Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
  47481. }
  47482. // String returns the string representation
  47483. func (s NetworkInterfaceAttachment) String() string {
  47484. return awsutil.Prettify(s)
  47485. }
  47486. // GoString returns the string representation
  47487. func (s NetworkInterfaceAttachment) GoString() string {
  47488. return s.String()
  47489. }
  47490. // SetAttachTime sets the AttachTime field's value.
  47491. func (s *NetworkInterfaceAttachment) SetAttachTime(v time.Time) *NetworkInterfaceAttachment {
  47492. s.AttachTime = &v
  47493. return s
  47494. }
  47495. // SetAttachmentId sets the AttachmentId field's value.
  47496. func (s *NetworkInterfaceAttachment) SetAttachmentId(v string) *NetworkInterfaceAttachment {
  47497. s.AttachmentId = &v
  47498. return s
  47499. }
  47500. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  47501. func (s *NetworkInterfaceAttachment) SetDeleteOnTermination(v bool) *NetworkInterfaceAttachment {
  47502. s.DeleteOnTermination = &v
  47503. return s
  47504. }
  47505. // SetDeviceIndex sets the DeviceIndex field's value.
  47506. func (s *NetworkInterfaceAttachment) SetDeviceIndex(v int64) *NetworkInterfaceAttachment {
  47507. s.DeviceIndex = &v
  47508. return s
  47509. }
  47510. // SetInstanceId sets the InstanceId field's value.
  47511. func (s *NetworkInterfaceAttachment) SetInstanceId(v string) *NetworkInterfaceAttachment {
  47512. s.InstanceId = &v
  47513. return s
  47514. }
  47515. // SetInstanceOwnerId sets the InstanceOwnerId field's value.
  47516. func (s *NetworkInterfaceAttachment) SetInstanceOwnerId(v string) *NetworkInterfaceAttachment {
  47517. s.InstanceOwnerId = &v
  47518. return s
  47519. }
  47520. // SetStatus sets the Status field's value.
  47521. func (s *NetworkInterfaceAttachment) SetStatus(v string) *NetworkInterfaceAttachment {
  47522. s.Status = &v
  47523. return s
  47524. }
  47525. // Describes an attachment change.
  47526. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkInterfaceAttachmentChanges
  47527. type NetworkInterfaceAttachmentChanges struct {
  47528. _ struct{} `type:"structure"`
  47529. // The ID of the network interface attachment.
  47530. AttachmentId *string `locationName:"attachmentId" type:"string"`
  47531. // Indicates whether the network interface is deleted when the instance is terminated.
  47532. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  47533. }
  47534. // String returns the string representation
  47535. func (s NetworkInterfaceAttachmentChanges) String() string {
  47536. return awsutil.Prettify(s)
  47537. }
  47538. // GoString returns the string representation
  47539. func (s NetworkInterfaceAttachmentChanges) GoString() string {
  47540. return s.String()
  47541. }
  47542. // SetAttachmentId sets the AttachmentId field's value.
  47543. func (s *NetworkInterfaceAttachmentChanges) SetAttachmentId(v string) *NetworkInterfaceAttachmentChanges {
  47544. s.AttachmentId = &v
  47545. return s
  47546. }
  47547. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  47548. func (s *NetworkInterfaceAttachmentChanges) SetDeleteOnTermination(v bool) *NetworkInterfaceAttachmentChanges {
  47549. s.DeleteOnTermination = &v
  47550. return s
  47551. }
  47552. // Describes an IPv6 address associated with a network interface.
  47553. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkInterfaceIpv6Address
  47554. type NetworkInterfaceIpv6Address struct {
  47555. _ struct{} `type:"structure"`
  47556. // The IPv6 address.
  47557. Ipv6Address *string `locationName:"ipv6Address" type:"string"`
  47558. }
  47559. // String returns the string representation
  47560. func (s NetworkInterfaceIpv6Address) String() string {
  47561. return awsutil.Prettify(s)
  47562. }
  47563. // GoString returns the string representation
  47564. func (s NetworkInterfaceIpv6Address) GoString() string {
  47565. return s.String()
  47566. }
  47567. // SetIpv6Address sets the Ipv6Address field's value.
  47568. func (s *NetworkInterfaceIpv6Address) SetIpv6Address(v string) *NetworkInterfaceIpv6Address {
  47569. s.Ipv6Address = &v
  47570. return s
  47571. }
  47572. // Describes a permission for a network interface.
  47573. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkInterfacePermission
  47574. type NetworkInterfacePermission struct {
  47575. _ struct{} `type:"structure"`
  47576. // The AWS account ID.
  47577. AwsAccountId *string `locationName:"awsAccountId" type:"string"`
  47578. // The AWS service.
  47579. AwsService *string `locationName:"awsService" type:"string"`
  47580. // The ID of the network interface.
  47581. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  47582. // The ID of the network interface permission.
  47583. NetworkInterfacePermissionId *string `locationName:"networkInterfacePermissionId" type:"string"`
  47584. // The type of permission.
  47585. Permission *string `locationName:"permission" type:"string" enum:"InterfacePermissionType"`
  47586. // Information about the state of the permission.
  47587. PermissionState *NetworkInterfacePermissionState `locationName:"permissionState" type:"structure"`
  47588. }
  47589. // String returns the string representation
  47590. func (s NetworkInterfacePermission) String() string {
  47591. return awsutil.Prettify(s)
  47592. }
  47593. // GoString returns the string representation
  47594. func (s NetworkInterfacePermission) GoString() string {
  47595. return s.String()
  47596. }
  47597. // SetAwsAccountId sets the AwsAccountId field's value.
  47598. func (s *NetworkInterfacePermission) SetAwsAccountId(v string) *NetworkInterfacePermission {
  47599. s.AwsAccountId = &v
  47600. return s
  47601. }
  47602. // SetAwsService sets the AwsService field's value.
  47603. func (s *NetworkInterfacePermission) SetAwsService(v string) *NetworkInterfacePermission {
  47604. s.AwsService = &v
  47605. return s
  47606. }
  47607. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  47608. func (s *NetworkInterfacePermission) SetNetworkInterfaceId(v string) *NetworkInterfacePermission {
  47609. s.NetworkInterfaceId = &v
  47610. return s
  47611. }
  47612. // SetNetworkInterfacePermissionId sets the NetworkInterfacePermissionId field's value.
  47613. func (s *NetworkInterfacePermission) SetNetworkInterfacePermissionId(v string) *NetworkInterfacePermission {
  47614. s.NetworkInterfacePermissionId = &v
  47615. return s
  47616. }
  47617. // SetPermission sets the Permission field's value.
  47618. func (s *NetworkInterfacePermission) SetPermission(v string) *NetworkInterfacePermission {
  47619. s.Permission = &v
  47620. return s
  47621. }
  47622. // SetPermissionState sets the PermissionState field's value.
  47623. func (s *NetworkInterfacePermission) SetPermissionState(v *NetworkInterfacePermissionState) *NetworkInterfacePermission {
  47624. s.PermissionState = v
  47625. return s
  47626. }
  47627. // Describes the state of a network interface permission.
  47628. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkInterfacePermissionState
  47629. type NetworkInterfacePermissionState struct {
  47630. _ struct{} `type:"structure"`
  47631. // The state of the permission.
  47632. State *string `locationName:"state" type:"string" enum:"NetworkInterfacePermissionStateCode"`
  47633. // A status message, if applicable.
  47634. StatusMessage *string `locationName:"statusMessage" type:"string"`
  47635. }
  47636. // String returns the string representation
  47637. func (s NetworkInterfacePermissionState) String() string {
  47638. return awsutil.Prettify(s)
  47639. }
  47640. // GoString returns the string representation
  47641. func (s NetworkInterfacePermissionState) GoString() string {
  47642. return s.String()
  47643. }
  47644. // SetState sets the State field's value.
  47645. func (s *NetworkInterfacePermissionState) SetState(v string) *NetworkInterfacePermissionState {
  47646. s.State = &v
  47647. return s
  47648. }
  47649. // SetStatusMessage sets the StatusMessage field's value.
  47650. func (s *NetworkInterfacePermissionState) SetStatusMessage(v string) *NetworkInterfacePermissionState {
  47651. s.StatusMessage = &v
  47652. return s
  47653. }
  47654. // Describes the private IPv4 address of a network interface.
  47655. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkInterfacePrivateIpAddress
  47656. type NetworkInterfacePrivateIpAddress struct {
  47657. _ struct{} `type:"structure"`
  47658. // The association information for an Elastic IP address (IPv4) associated with
  47659. // the network interface.
  47660. Association *NetworkInterfaceAssociation `locationName:"association" type:"structure"`
  47661. // Indicates whether this IPv4 address is the primary private IPv4 address of
  47662. // the network interface.
  47663. Primary *bool `locationName:"primary" type:"boolean"`
  47664. // The private DNS name.
  47665. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  47666. // The private IPv4 address.
  47667. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  47668. }
  47669. // String returns the string representation
  47670. func (s NetworkInterfacePrivateIpAddress) String() string {
  47671. return awsutil.Prettify(s)
  47672. }
  47673. // GoString returns the string representation
  47674. func (s NetworkInterfacePrivateIpAddress) GoString() string {
  47675. return s.String()
  47676. }
  47677. // SetAssociation sets the Association field's value.
  47678. func (s *NetworkInterfacePrivateIpAddress) SetAssociation(v *NetworkInterfaceAssociation) *NetworkInterfacePrivateIpAddress {
  47679. s.Association = v
  47680. return s
  47681. }
  47682. // SetPrimary sets the Primary field's value.
  47683. func (s *NetworkInterfacePrivateIpAddress) SetPrimary(v bool) *NetworkInterfacePrivateIpAddress {
  47684. s.Primary = &v
  47685. return s
  47686. }
  47687. // SetPrivateDnsName sets the PrivateDnsName field's value.
  47688. func (s *NetworkInterfacePrivateIpAddress) SetPrivateDnsName(v string) *NetworkInterfacePrivateIpAddress {
  47689. s.PrivateDnsName = &v
  47690. return s
  47691. }
  47692. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  47693. func (s *NetworkInterfacePrivateIpAddress) SetPrivateIpAddress(v string) *NetworkInterfacePrivateIpAddress {
  47694. s.PrivateIpAddress = &v
  47695. return s
  47696. }
  47697. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NewDhcpConfiguration
  47698. type NewDhcpConfiguration struct {
  47699. _ struct{} `type:"structure"`
  47700. Key *string `locationName:"key" type:"string"`
  47701. Values []*string `locationName:"Value" locationNameList:"item" type:"list"`
  47702. }
  47703. // String returns the string representation
  47704. func (s NewDhcpConfiguration) String() string {
  47705. return awsutil.Prettify(s)
  47706. }
  47707. // GoString returns the string representation
  47708. func (s NewDhcpConfiguration) GoString() string {
  47709. return s.String()
  47710. }
  47711. // SetKey sets the Key field's value.
  47712. func (s *NewDhcpConfiguration) SetKey(v string) *NewDhcpConfiguration {
  47713. s.Key = &v
  47714. return s
  47715. }
  47716. // SetValues sets the Values field's value.
  47717. func (s *NewDhcpConfiguration) SetValues(v []*string) *NewDhcpConfiguration {
  47718. s.Values = v
  47719. return s
  47720. }
  47721. // Describes the data that identifies an Amazon FPGA image (AFI) on the PCI
  47722. // bus.
  47723. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PciId
  47724. type PciId struct {
  47725. _ struct{} `type:"structure"`
  47726. // The ID of the device.
  47727. DeviceId *string `type:"string"`
  47728. // The ID of the subsystem.
  47729. SubsystemId *string `type:"string"`
  47730. // The ID of the vendor for the subsystem.
  47731. SubsystemVendorId *string `type:"string"`
  47732. // The ID of the vendor.
  47733. VendorId *string `type:"string"`
  47734. }
  47735. // String returns the string representation
  47736. func (s PciId) String() string {
  47737. return awsutil.Prettify(s)
  47738. }
  47739. // GoString returns the string representation
  47740. func (s PciId) GoString() string {
  47741. return s.String()
  47742. }
  47743. // SetDeviceId sets the DeviceId field's value.
  47744. func (s *PciId) SetDeviceId(v string) *PciId {
  47745. s.DeviceId = &v
  47746. return s
  47747. }
  47748. // SetSubsystemId sets the SubsystemId field's value.
  47749. func (s *PciId) SetSubsystemId(v string) *PciId {
  47750. s.SubsystemId = &v
  47751. return s
  47752. }
  47753. // SetSubsystemVendorId sets the SubsystemVendorId field's value.
  47754. func (s *PciId) SetSubsystemVendorId(v string) *PciId {
  47755. s.SubsystemVendorId = &v
  47756. return s
  47757. }
  47758. // SetVendorId sets the VendorId field's value.
  47759. func (s *PciId) SetVendorId(v string) *PciId {
  47760. s.VendorId = &v
  47761. return s
  47762. }
  47763. // Describes the VPC peering connection options.
  47764. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PeeringConnectionOptions
  47765. type PeeringConnectionOptions struct {
  47766. _ struct{} `type:"structure"`
  47767. // If true, enables a local VPC to resolve public DNS hostnames to private IP
  47768. // addresses when queried from instances in the peer VPC.
  47769. AllowDnsResolutionFromRemoteVpc *bool `locationName:"allowDnsResolutionFromRemoteVpc" type:"boolean"`
  47770. // If true, enables outbound communication from an EC2-Classic instance that's
  47771. // linked to a local VPC via ClassicLink to instances in a peer VPC.
  47772. AllowEgressFromLocalClassicLinkToRemoteVpc *bool `locationName:"allowEgressFromLocalClassicLinkToRemoteVpc" type:"boolean"`
  47773. // If true, enables outbound communication from instances in a local VPC to
  47774. // an EC2-Classic instance that's linked to a peer VPC via ClassicLink.
  47775. AllowEgressFromLocalVpcToRemoteClassicLink *bool `locationName:"allowEgressFromLocalVpcToRemoteClassicLink" type:"boolean"`
  47776. }
  47777. // String returns the string representation
  47778. func (s PeeringConnectionOptions) String() string {
  47779. return awsutil.Prettify(s)
  47780. }
  47781. // GoString returns the string representation
  47782. func (s PeeringConnectionOptions) GoString() string {
  47783. return s.String()
  47784. }
  47785. // SetAllowDnsResolutionFromRemoteVpc sets the AllowDnsResolutionFromRemoteVpc field's value.
  47786. func (s *PeeringConnectionOptions) SetAllowDnsResolutionFromRemoteVpc(v bool) *PeeringConnectionOptions {
  47787. s.AllowDnsResolutionFromRemoteVpc = &v
  47788. return s
  47789. }
  47790. // SetAllowEgressFromLocalClassicLinkToRemoteVpc sets the AllowEgressFromLocalClassicLinkToRemoteVpc field's value.
  47791. func (s *PeeringConnectionOptions) SetAllowEgressFromLocalClassicLinkToRemoteVpc(v bool) *PeeringConnectionOptions {
  47792. s.AllowEgressFromLocalClassicLinkToRemoteVpc = &v
  47793. return s
  47794. }
  47795. // SetAllowEgressFromLocalVpcToRemoteClassicLink sets the AllowEgressFromLocalVpcToRemoteClassicLink field's value.
  47796. func (s *PeeringConnectionOptions) SetAllowEgressFromLocalVpcToRemoteClassicLink(v bool) *PeeringConnectionOptions {
  47797. s.AllowEgressFromLocalVpcToRemoteClassicLink = &v
  47798. return s
  47799. }
  47800. // The VPC peering connection options.
  47801. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PeeringConnectionOptionsRequest
  47802. type PeeringConnectionOptionsRequest struct {
  47803. _ struct{} `type:"structure"`
  47804. // If true, enables a local VPC to resolve public DNS hostnames to private IP
  47805. // addresses when queried from instances in the peer VPC.
  47806. AllowDnsResolutionFromRemoteVpc *bool `type:"boolean"`
  47807. // If true, enables outbound communication from an EC2-Classic instance that's
  47808. // linked to a local VPC via ClassicLink to instances in a peer VPC.
  47809. AllowEgressFromLocalClassicLinkToRemoteVpc *bool `type:"boolean"`
  47810. // If true, enables outbound communication from instances in a local VPC to
  47811. // an EC2-Classic instance that's linked to a peer VPC via ClassicLink.
  47812. AllowEgressFromLocalVpcToRemoteClassicLink *bool `type:"boolean"`
  47813. }
  47814. // String returns the string representation
  47815. func (s PeeringConnectionOptionsRequest) String() string {
  47816. return awsutil.Prettify(s)
  47817. }
  47818. // GoString returns the string representation
  47819. func (s PeeringConnectionOptionsRequest) GoString() string {
  47820. return s.String()
  47821. }
  47822. // SetAllowDnsResolutionFromRemoteVpc sets the AllowDnsResolutionFromRemoteVpc field's value.
  47823. func (s *PeeringConnectionOptionsRequest) SetAllowDnsResolutionFromRemoteVpc(v bool) *PeeringConnectionOptionsRequest {
  47824. s.AllowDnsResolutionFromRemoteVpc = &v
  47825. return s
  47826. }
  47827. // SetAllowEgressFromLocalClassicLinkToRemoteVpc sets the AllowEgressFromLocalClassicLinkToRemoteVpc field's value.
  47828. func (s *PeeringConnectionOptionsRequest) SetAllowEgressFromLocalClassicLinkToRemoteVpc(v bool) *PeeringConnectionOptionsRequest {
  47829. s.AllowEgressFromLocalClassicLinkToRemoteVpc = &v
  47830. return s
  47831. }
  47832. // SetAllowEgressFromLocalVpcToRemoteClassicLink sets the AllowEgressFromLocalVpcToRemoteClassicLink field's value.
  47833. func (s *PeeringConnectionOptionsRequest) SetAllowEgressFromLocalVpcToRemoteClassicLink(v bool) *PeeringConnectionOptionsRequest {
  47834. s.AllowEgressFromLocalVpcToRemoteClassicLink = &v
  47835. return s
  47836. }
  47837. // Describes the placement of an instance.
  47838. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Placement
  47839. type Placement struct {
  47840. _ struct{} `type:"structure"`
  47841. // The affinity setting for the instance on the Dedicated Host. This parameter
  47842. // is not supported for the ImportInstance command.
  47843. Affinity *string `locationName:"affinity" type:"string"`
  47844. // The Availability Zone of the instance.
  47845. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  47846. // The name of the placement group the instance is in (for cluster compute instances).
  47847. GroupName *string `locationName:"groupName" type:"string"`
  47848. // The ID of the Dedicated Host on which the instance resides. This parameter
  47849. // is not supported for the ImportInstance command.
  47850. HostId *string `locationName:"hostId" type:"string"`
  47851. // Reserved for future use.
  47852. SpreadDomain *string `locationName:"spreadDomain" type:"string"`
  47853. // The tenancy of the instance (if the instance is running in a VPC). An instance
  47854. // with a tenancy of dedicated runs on single-tenant hardware. The host tenancy
  47855. // is not supported for the ImportInstance command.
  47856. Tenancy *string `locationName:"tenancy" type:"string" enum:"Tenancy"`
  47857. }
  47858. // String returns the string representation
  47859. func (s Placement) String() string {
  47860. return awsutil.Prettify(s)
  47861. }
  47862. // GoString returns the string representation
  47863. func (s Placement) GoString() string {
  47864. return s.String()
  47865. }
  47866. // SetAffinity sets the Affinity field's value.
  47867. func (s *Placement) SetAffinity(v string) *Placement {
  47868. s.Affinity = &v
  47869. return s
  47870. }
  47871. // SetAvailabilityZone sets the AvailabilityZone field's value.
  47872. func (s *Placement) SetAvailabilityZone(v string) *Placement {
  47873. s.AvailabilityZone = &v
  47874. return s
  47875. }
  47876. // SetGroupName sets the GroupName field's value.
  47877. func (s *Placement) SetGroupName(v string) *Placement {
  47878. s.GroupName = &v
  47879. return s
  47880. }
  47881. // SetHostId sets the HostId field's value.
  47882. func (s *Placement) SetHostId(v string) *Placement {
  47883. s.HostId = &v
  47884. return s
  47885. }
  47886. // SetSpreadDomain sets the SpreadDomain field's value.
  47887. func (s *Placement) SetSpreadDomain(v string) *Placement {
  47888. s.SpreadDomain = &v
  47889. return s
  47890. }
  47891. // SetTenancy sets the Tenancy field's value.
  47892. func (s *Placement) SetTenancy(v string) *Placement {
  47893. s.Tenancy = &v
  47894. return s
  47895. }
  47896. // Describes a placement group.
  47897. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PlacementGroup
  47898. type PlacementGroup struct {
  47899. _ struct{} `type:"structure"`
  47900. // The name of the placement group.
  47901. GroupName *string `locationName:"groupName" type:"string"`
  47902. // The state of the placement group.
  47903. State *string `locationName:"state" type:"string" enum:"PlacementGroupState"`
  47904. // The placement strategy.
  47905. Strategy *string `locationName:"strategy" type:"string" enum:"PlacementStrategy"`
  47906. }
  47907. // String returns the string representation
  47908. func (s PlacementGroup) String() string {
  47909. return awsutil.Prettify(s)
  47910. }
  47911. // GoString returns the string representation
  47912. func (s PlacementGroup) GoString() string {
  47913. return s.String()
  47914. }
  47915. // SetGroupName sets the GroupName field's value.
  47916. func (s *PlacementGroup) SetGroupName(v string) *PlacementGroup {
  47917. s.GroupName = &v
  47918. return s
  47919. }
  47920. // SetState sets the State field's value.
  47921. func (s *PlacementGroup) SetState(v string) *PlacementGroup {
  47922. s.State = &v
  47923. return s
  47924. }
  47925. // SetStrategy sets the Strategy field's value.
  47926. func (s *PlacementGroup) SetStrategy(v string) *PlacementGroup {
  47927. s.Strategy = &v
  47928. return s
  47929. }
  47930. // Describes a range of ports.
  47931. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PortRange
  47932. type PortRange struct {
  47933. _ struct{} `type:"structure"`
  47934. // The first port in the range.
  47935. From *int64 `locationName:"from" type:"integer"`
  47936. // The last port in the range.
  47937. To *int64 `locationName:"to" type:"integer"`
  47938. }
  47939. // String returns the string representation
  47940. func (s PortRange) String() string {
  47941. return awsutil.Prettify(s)
  47942. }
  47943. // GoString returns the string representation
  47944. func (s PortRange) GoString() string {
  47945. return s.String()
  47946. }
  47947. // SetFrom sets the From field's value.
  47948. func (s *PortRange) SetFrom(v int64) *PortRange {
  47949. s.From = &v
  47950. return s
  47951. }
  47952. // SetTo sets the To field's value.
  47953. func (s *PortRange) SetTo(v int64) *PortRange {
  47954. s.To = &v
  47955. return s
  47956. }
  47957. // Describes prefixes for AWS services.
  47958. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PrefixList
  47959. type PrefixList struct {
  47960. _ struct{} `type:"structure"`
  47961. // The IP address range of the AWS service.
  47962. Cidrs []*string `locationName:"cidrSet" locationNameList:"item" type:"list"`
  47963. // The ID of the prefix.
  47964. PrefixListId *string `locationName:"prefixListId" type:"string"`
  47965. // The name of the prefix.
  47966. PrefixListName *string `locationName:"prefixListName" type:"string"`
  47967. }
  47968. // String returns the string representation
  47969. func (s PrefixList) String() string {
  47970. return awsutil.Prettify(s)
  47971. }
  47972. // GoString returns the string representation
  47973. func (s PrefixList) GoString() string {
  47974. return s.String()
  47975. }
  47976. // SetCidrs sets the Cidrs field's value.
  47977. func (s *PrefixList) SetCidrs(v []*string) *PrefixList {
  47978. s.Cidrs = v
  47979. return s
  47980. }
  47981. // SetPrefixListId sets the PrefixListId field's value.
  47982. func (s *PrefixList) SetPrefixListId(v string) *PrefixList {
  47983. s.PrefixListId = &v
  47984. return s
  47985. }
  47986. // SetPrefixListName sets the PrefixListName field's value.
  47987. func (s *PrefixList) SetPrefixListName(v string) *PrefixList {
  47988. s.PrefixListName = &v
  47989. return s
  47990. }
  47991. // [EC2-VPC only] The ID of the prefix.
  47992. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PrefixListId
  47993. type PrefixListId struct {
  47994. _ struct{} `type:"structure"`
  47995. // A description for the security group rule that references this prefix list
  47996. // ID.
  47997. //
  47998. // Constraints: Up to 255 characters in length. Allowed characters are a-z,
  47999. // A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*
  48000. Description *string `locationName:"description" type:"string"`
  48001. // The ID of the prefix.
  48002. PrefixListId *string `locationName:"prefixListId" type:"string"`
  48003. }
  48004. // String returns the string representation
  48005. func (s PrefixListId) String() string {
  48006. return awsutil.Prettify(s)
  48007. }
  48008. // GoString returns the string representation
  48009. func (s PrefixListId) GoString() string {
  48010. return s.String()
  48011. }
  48012. // SetDescription sets the Description field's value.
  48013. func (s *PrefixListId) SetDescription(v string) *PrefixListId {
  48014. s.Description = &v
  48015. return s
  48016. }
  48017. // SetPrefixListId sets the PrefixListId field's value.
  48018. func (s *PrefixListId) SetPrefixListId(v string) *PrefixListId {
  48019. s.PrefixListId = &v
  48020. return s
  48021. }
  48022. // Describes the price for a Reserved Instance.
  48023. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PriceSchedule
  48024. type PriceSchedule struct {
  48025. _ struct{} `type:"structure"`
  48026. // The current price schedule, as determined by the term remaining for the Reserved
  48027. // Instance in the listing.
  48028. //
  48029. // A specific price schedule is always in effect, but only one price schedule
  48030. // can be active at any time. Take, for example, a Reserved Instance listing
  48031. // that has five months remaining in its term. When you specify price schedules
  48032. // for five months and two months, this means that schedule 1, covering the
  48033. // first three months of the remaining term, will be active during months 5,
  48034. // 4, and 3. Then schedule 2, covering the last two months of the term, will
  48035. // be active for months 2 and 1.
  48036. Active *bool `locationName:"active" type:"boolean"`
  48037. // The currency for transacting the Reserved Instance resale. At this time,
  48038. // the only supported currency is USD.
  48039. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  48040. // The fixed price for the term.
  48041. Price *float64 `locationName:"price" type:"double"`
  48042. // The number of months remaining in the reservation. For example, 2 is the
  48043. // second to the last month before the capacity reservation expires.
  48044. Term *int64 `locationName:"term" type:"long"`
  48045. }
  48046. // String returns the string representation
  48047. func (s PriceSchedule) String() string {
  48048. return awsutil.Prettify(s)
  48049. }
  48050. // GoString returns the string representation
  48051. func (s PriceSchedule) GoString() string {
  48052. return s.String()
  48053. }
  48054. // SetActive sets the Active field's value.
  48055. func (s *PriceSchedule) SetActive(v bool) *PriceSchedule {
  48056. s.Active = &v
  48057. return s
  48058. }
  48059. // SetCurrencyCode sets the CurrencyCode field's value.
  48060. func (s *PriceSchedule) SetCurrencyCode(v string) *PriceSchedule {
  48061. s.CurrencyCode = &v
  48062. return s
  48063. }
  48064. // SetPrice sets the Price field's value.
  48065. func (s *PriceSchedule) SetPrice(v float64) *PriceSchedule {
  48066. s.Price = &v
  48067. return s
  48068. }
  48069. // SetTerm sets the Term field's value.
  48070. func (s *PriceSchedule) SetTerm(v int64) *PriceSchedule {
  48071. s.Term = &v
  48072. return s
  48073. }
  48074. // Describes the price for a Reserved Instance.
  48075. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PriceScheduleSpecification
  48076. type PriceScheduleSpecification struct {
  48077. _ struct{} `type:"structure"`
  48078. // The currency for transacting the Reserved Instance resale. At this time,
  48079. // the only supported currency is USD.
  48080. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  48081. // The fixed price for the term.
  48082. Price *float64 `locationName:"price" type:"double"`
  48083. // The number of months remaining in the reservation. For example, 2 is the
  48084. // second to the last month before the capacity reservation expires.
  48085. Term *int64 `locationName:"term" type:"long"`
  48086. }
  48087. // String returns the string representation
  48088. func (s PriceScheduleSpecification) String() string {
  48089. return awsutil.Prettify(s)
  48090. }
  48091. // GoString returns the string representation
  48092. func (s PriceScheduleSpecification) GoString() string {
  48093. return s.String()
  48094. }
  48095. // SetCurrencyCode sets the CurrencyCode field's value.
  48096. func (s *PriceScheduleSpecification) SetCurrencyCode(v string) *PriceScheduleSpecification {
  48097. s.CurrencyCode = &v
  48098. return s
  48099. }
  48100. // SetPrice sets the Price field's value.
  48101. func (s *PriceScheduleSpecification) SetPrice(v float64) *PriceScheduleSpecification {
  48102. s.Price = &v
  48103. return s
  48104. }
  48105. // SetTerm sets the Term field's value.
  48106. func (s *PriceScheduleSpecification) SetTerm(v int64) *PriceScheduleSpecification {
  48107. s.Term = &v
  48108. return s
  48109. }
  48110. // Describes a Reserved Instance offering.
  48111. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PricingDetail
  48112. type PricingDetail struct {
  48113. _ struct{} `type:"structure"`
  48114. // The number of reservations available for the price.
  48115. Count *int64 `locationName:"count" type:"integer"`
  48116. // The price per instance.
  48117. Price *float64 `locationName:"price" type:"double"`
  48118. }
  48119. // String returns the string representation
  48120. func (s PricingDetail) String() string {
  48121. return awsutil.Prettify(s)
  48122. }
  48123. // GoString returns the string representation
  48124. func (s PricingDetail) GoString() string {
  48125. return s.String()
  48126. }
  48127. // SetCount sets the Count field's value.
  48128. func (s *PricingDetail) SetCount(v int64) *PricingDetail {
  48129. s.Count = &v
  48130. return s
  48131. }
  48132. // SetPrice sets the Price field's value.
  48133. func (s *PricingDetail) SetPrice(v float64) *PricingDetail {
  48134. s.Price = &v
  48135. return s
  48136. }
  48137. // Describes a secondary private IPv4 address for a network interface.
  48138. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PrivateIpAddressSpecification
  48139. type PrivateIpAddressSpecification struct {
  48140. _ struct{} `type:"structure"`
  48141. // Indicates whether the private IPv4 address is the primary private IPv4 address.
  48142. // Only one IPv4 address can be designated as primary.
  48143. Primary *bool `locationName:"primary" type:"boolean"`
  48144. // The private IPv4 addresses.
  48145. //
  48146. // PrivateIpAddress is a required field
  48147. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string" required:"true"`
  48148. }
  48149. // String returns the string representation
  48150. func (s PrivateIpAddressSpecification) String() string {
  48151. return awsutil.Prettify(s)
  48152. }
  48153. // GoString returns the string representation
  48154. func (s PrivateIpAddressSpecification) GoString() string {
  48155. return s.String()
  48156. }
  48157. // Validate inspects the fields of the type to determine if they are valid.
  48158. func (s *PrivateIpAddressSpecification) Validate() error {
  48159. invalidParams := request.ErrInvalidParams{Context: "PrivateIpAddressSpecification"}
  48160. if s.PrivateIpAddress == nil {
  48161. invalidParams.Add(request.NewErrParamRequired("PrivateIpAddress"))
  48162. }
  48163. if invalidParams.Len() > 0 {
  48164. return invalidParams
  48165. }
  48166. return nil
  48167. }
  48168. // SetPrimary sets the Primary field's value.
  48169. func (s *PrivateIpAddressSpecification) SetPrimary(v bool) *PrivateIpAddressSpecification {
  48170. s.Primary = &v
  48171. return s
  48172. }
  48173. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  48174. func (s *PrivateIpAddressSpecification) SetPrivateIpAddress(v string) *PrivateIpAddressSpecification {
  48175. s.PrivateIpAddress = &v
  48176. return s
  48177. }
  48178. // Describes a product code.
  48179. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ProductCode
  48180. type ProductCode struct {
  48181. _ struct{} `type:"structure"`
  48182. // The product code.
  48183. ProductCodeId *string `locationName:"productCode" type:"string"`
  48184. // The type of product code.
  48185. ProductCodeType *string `locationName:"type" type:"string" enum:"ProductCodeValues"`
  48186. }
  48187. // String returns the string representation
  48188. func (s ProductCode) String() string {
  48189. return awsutil.Prettify(s)
  48190. }
  48191. // GoString returns the string representation
  48192. func (s ProductCode) GoString() string {
  48193. return s.String()
  48194. }
  48195. // SetProductCodeId sets the ProductCodeId field's value.
  48196. func (s *ProductCode) SetProductCodeId(v string) *ProductCode {
  48197. s.ProductCodeId = &v
  48198. return s
  48199. }
  48200. // SetProductCodeType sets the ProductCodeType field's value.
  48201. func (s *ProductCode) SetProductCodeType(v string) *ProductCode {
  48202. s.ProductCodeType = &v
  48203. return s
  48204. }
  48205. // Describes a virtual private gateway propagating route.
  48206. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PropagatingVgw
  48207. type PropagatingVgw struct {
  48208. _ struct{} `type:"structure"`
  48209. // The ID of the virtual private gateway (VGW).
  48210. GatewayId *string `locationName:"gatewayId" type:"string"`
  48211. }
  48212. // String returns the string representation
  48213. func (s PropagatingVgw) String() string {
  48214. return awsutil.Prettify(s)
  48215. }
  48216. // GoString returns the string representation
  48217. func (s PropagatingVgw) GoString() string {
  48218. return s.String()
  48219. }
  48220. // SetGatewayId sets the GatewayId field's value.
  48221. func (s *PropagatingVgw) SetGatewayId(v string) *PropagatingVgw {
  48222. s.GatewayId = &v
  48223. return s
  48224. }
  48225. // Reserved. If you need to sustain traffic greater than the documented limits
  48226. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  48227. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  48228. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ProvisionedBandwidth
  48229. type ProvisionedBandwidth struct {
  48230. _ struct{} `type:"structure"`
  48231. // Reserved. If you need to sustain traffic greater than the documented limits
  48232. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  48233. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  48234. ProvisionTime *time.Time `locationName:"provisionTime" type:"timestamp" timestampFormat:"iso8601"`
  48235. // Reserved. If you need to sustain traffic greater than the documented limits
  48236. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  48237. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  48238. Provisioned *string `locationName:"provisioned" type:"string"`
  48239. // Reserved. If you need to sustain traffic greater than the documented limits
  48240. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  48241. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  48242. RequestTime *time.Time `locationName:"requestTime" type:"timestamp" timestampFormat:"iso8601"`
  48243. // Reserved. If you need to sustain traffic greater than the documented limits
  48244. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  48245. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  48246. Requested *string `locationName:"requested" type:"string"`
  48247. // Reserved. If you need to sustain traffic greater than the documented limits
  48248. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  48249. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  48250. Status *string `locationName:"status" type:"string"`
  48251. }
  48252. // String returns the string representation
  48253. func (s ProvisionedBandwidth) String() string {
  48254. return awsutil.Prettify(s)
  48255. }
  48256. // GoString returns the string representation
  48257. func (s ProvisionedBandwidth) GoString() string {
  48258. return s.String()
  48259. }
  48260. // SetProvisionTime sets the ProvisionTime field's value.
  48261. func (s *ProvisionedBandwidth) SetProvisionTime(v time.Time) *ProvisionedBandwidth {
  48262. s.ProvisionTime = &v
  48263. return s
  48264. }
  48265. // SetProvisioned sets the Provisioned field's value.
  48266. func (s *ProvisionedBandwidth) SetProvisioned(v string) *ProvisionedBandwidth {
  48267. s.Provisioned = &v
  48268. return s
  48269. }
  48270. // SetRequestTime sets the RequestTime field's value.
  48271. func (s *ProvisionedBandwidth) SetRequestTime(v time.Time) *ProvisionedBandwidth {
  48272. s.RequestTime = &v
  48273. return s
  48274. }
  48275. // SetRequested sets the Requested field's value.
  48276. func (s *ProvisionedBandwidth) SetRequested(v string) *ProvisionedBandwidth {
  48277. s.Requested = &v
  48278. return s
  48279. }
  48280. // SetStatus sets the Status field's value.
  48281. func (s *ProvisionedBandwidth) SetStatus(v string) *ProvisionedBandwidth {
  48282. s.Status = &v
  48283. return s
  48284. }
  48285. // Describes the result of the purchase.
  48286. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Purchase
  48287. type Purchase struct {
  48288. _ struct{} `type:"structure"`
  48289. // The currency in which the UpfrontPrice and HourlyPrice amounts are specified.
  48290. // At this time, the only supported currency is USD.
  48291. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  48292. // The duration of the reservation's term in seconds.
  48293. Duration *int64 `locationName:"duration" type:"integer"`
  48294. // The IDs of the Dedicated Hosts associated with the reservation.
  48295. HostIdSet []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
  48296. // The ID of the reservation.
  48297. HostReservationId *string `locationName:"hostReservationId" type:"string"`
  48298. // The hourly price of the reservation per hour.
  48299. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  48300. // The instance family on the Dedicated Host that the reservation can be associated
  48301. // with.
  48302. InstanceFamily *string `locationName:"instanceFamily" type:"string"`
  48303. // The payment option for the reservation.
  48304. PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
  48305. // The upfront price of the reservation.
  48306. UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
  48307. }
  48308. // String returns the string representation
  48309. func (s Purchase) String() string {
  48310. return awsutil.Prettify(s)
  48311. }
  48312. // GoString returns the string representation
  48313. func (s Purchase) GoString() string {
  48314. return s.String()
  48315. }
  48316. // SetCurrencyCode sets the CurrencyCode field's value.
  48317. func (s *Purchase) SetCurrencyCode(v string) *Purchase {
  48318. s.CurrencyCode = &v
  48319. return s
  48320. }
  48321. // SetDuration sets the Duration field's value.
  48322. func (s *Purchase) SetDuration(v int64) *Purchase {
  48323. s.Duration = &v
  48324. return s
  48325. }
  48326. // SetHostIdSet sets the HostIdSet field's value.
  48327. func (s *Purchase) SetHostIdSet(v []*string) *Purchase {
  48328. s.HostIdSet = v
  48329. return s
  48330. }
  48331. // SetHostReservationId sets the HostReservationId field's value.
  48332. func (s *Purchase) SetHostReservationId(v string) *Purchase {
  48333. s.HostReservationId = &v
  48334. return s
  48335. }
  48336. // SetHourlyPrice sets the HourlyPrice field's value.
  48337. func (s *Purchase) SetHourlyPrice(v string) *Purchase {
  48338. s.HourlyPrice = &v
  48339. return s
  48340. }
  48341. // SetInstanceFamily sets the InstanceFamily field's value.
  48342. func (s *Purchase) SetInstanceFamily(v string) *Purchase {
  48343. s.InstanceFamily = &v
  48344. return s
  48345. }
  48346. // SetPaymentOption sets the PaymentOption field's value.
  48347. func (s *Purchase) SetPaymentOption(v string) *Purchase {
  48348. s.PaymentOption = &v
  48349. return s
  48350. }
  48351. // SetUpfrontPrice sets the UpfrontPrice field's value.
  48352. func (s *Purchase) SetUpfrontPrice(v string) *Purchase {
  48353. s.UpfrontPrice = &v
  48354. return s
  48355. }
  48356. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseHostReservationRequest
  48357. type PurchaseHostReservationInput struct {
  48358. _ struct{} `type:"structure"`
  48359. // Unique, case-sensitive identifier you provide to ensure idempotency of the
  48360. // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  48361. // in the Amazon Elastic Compute Cloud User Guide.
  48362. ClientToken *string `type:"string"`
  48363. // The currency in which the totalUpfrontPrice, LimitPrice, and totalHourlyPrice
  48364. // amounts are specified. At this time, the only supported currency is USD.
  48365. CurrencyCode *string `type:"string" enum:"CurrencyCodeValues"`
  48366. // The ID/s of the Dedicated Host/s that the reservation will be associated
  48367. // with.
  48368. //
  48369. // HostIdSet is a required field
  48370. HostIdSet []*string `locationNameList:"item" type:"list" required:"true"`
  48371. // The specified limit is checked against the total upfront cost of the reservation
  48372. // (calculated as the offering's upfront cost multiplied by the host count).
  48373. // If the total upfront cost is greater than the specified price limit, the
  48374. // request will fail. This is used to ensure that the purchase does not exceed
  48375. // the expected upfront cost of the purchase. At this time, the only supported
  48376. // currency is USD. For example, to indicate a limit price of USD 100, specify
  48377. // 100.00.
  48378. LimitPrice *string `type:"string"`
  48379. // The ID of the offering.
  48380. //
  48381. // OfferingId is a required field
  48382. OfferingId *string `type:"string" required:"true"`
  48383. }
  48384. // String returns the string representation
  48385. func (s PurchaseHostReservationInput) String() string {
  48386. return awsutil.Prettify(s)
  48387. }
  48388. // GoString returns the string representation
  48389. func (s PurchaseHostReservationInput) GoString() string {
  48390. return s.String()
  48391. }
  48392. // Validate inspects the fields of the type to determine if they are valid.
  48393. func (s *PurchaseHostReservationInput) Validate() error {
  48394. invalidParams := request.ErrInvalidParams{Context: "PurchaseHostReservationInput"}
  48395. if s.HostIdSet == nil {
  48396. invalidParams.Add(request.NewErrParamRequired("HostIdSet"))
  48397. }
  48398. if s.OfferingId == nil {
  48399. invalidParams.Add(request.NewErrParamRequired("OfferingId"))
  48400. }
  48401. if invalidParams.Len() > 0 {
  48402. return invalidParams
  48403. }
  48404. return nil
  48405. }
  48406. // SetClientToken sets the ClientToken field's value.
  48407. func (s *PurchaseHostReservationInput) SetClientToken(v string) *PurchaseHostReservationInput {
  48408. s.ClientToken = &v
  48409. return s
  48410. }
  48411. // SetCurrencyCode sets the CurrencyCode field's value.
  48412. func (s *PurchaseHostReservationInput) SetCurrencyCode(v string) *PurchaseHostReservationInput {
  48413. s.CurrencyCode = &v
  48414. return s
  48415. }
  48416. // SetHostIdSet sets the HostIdSet field's value.
  48417. func (s *PurchaseHostReservationInput) SetHostIdSet(v []*string) *PurchaseHostReservationInput {
  48418. s.HostIdSet = v
  48419. return s
  48420. }
  48421. // SetLimitPrice sets the LimitPrice field's value.
  48422. func (s *PurchaseHostReservationInput) SetLimitPrice(v string) *PurchaseHostReservationInput {
  48423. s.LimitPrice = &v
  48424. return s
  48425. }
  48426. // SetOfferingId sets the OfferingId field's value.
  48427. func (s *PurchaseHostReservationInput) SetOfferingId(v string) *PurchaseHostReservationInput {
  48428. s.OfferingId = &v
  48429. return s
  48430. }
  48431. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseHostReservationResult
  48432. type PurchaseHostReservationOutput struct {
  48433. _ struct{} `type:"structure"`
  48434. // Unique, case-sensitive identifier you provide to ensure idempotency of the
  48435. // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  48436. // in the Amazon Elastic Compute Cloud User Guide
  48437. ClientToken *string `locationName:"clientToken" type:"string"`
  48438. // The currency in which the totalUpfrontPrice and totalHourlyPrice amounts
  48439. // are specified. At this time, the only supported currency is USD.
  48440. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  48441. // Describes the details of the purchase.
  48442. Purchase []*Purchase `locationName:"purchase" locationNameList:"item" type:"list"`
  48443. // The total hourly price of the reservation calculated per hour.
  48444. TotalHourlyPrice *string `locationName:"totalHourlyPrice" type:"string"`
  48445. // The total amount that will be charged to your account when you purchase the
  48446. // reservation.
  48447. TotalUpfrontPrice *string `locationName:"totalUpfrontPrice" type:"string"`
  48448. }
  48449. // String returns the string representation
  48450. func (s PurchaseHostReservationOutput) String() string {
  48451. return awsutil.Prettify(s)
  48452. }
  48453. // GoString returns the string representation
  48454. func (s PurchaseHostReservationOutput) GoString() string {
  48455. return s.String()
  48456. }
  48457. // SetClientToken sets the ClientToken field's value.
  48458. func (s *PurchaseHostReservationOutput) SetClientToken(v string) *PurchaseHostReservationOutput {
  48459. s.ClientToken = &v
  48460. return s
  48461. }
  48462. // SetCurrencyCode sets the CurrencyCode field's value.
  48463. func (s *PurchaseHostReservationOutput) SetCurrencyCode(v string) *PurchaseHostReservationOutput {
  48464. s.CurrencyCode = &v
  48465. return s
  48466. }
  48467. // SetPurchase sets the Purchase field's value.
  48468. func (s *PurchaseHostReservationOutput) SetPurchase(v []*Purchase) *PurchaseHostReservationOutput {
  48469. s.Purchase = v
  48470. return s
  48471. }
  48472. // SetTotalHourlyPrice sets the TotalHourlyPrice field's value.
  48473. func (s *PurchaseHostReservationOutput) SetTotalHourlyPrice(v string) *PurchaseHostReservationOutput {
  48474. s.TotalHourlyPrice = &v
  48475. return s
  48476. }
  48477. // SetTotalUpfrontPrice sets the TotalUpfrontPrice field's value.
  48478. func (s *PurchaseHostReservationOutput) SetTotalUpfrontPrice(v string) *PurchaseHostReservationOutput {
  48479. s.TotalUpfrontPrice = &v
  48480. return s
  48481. }
  48482. // Describes a request to purchase Scheduled Instances.
  48483. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseRequest
  48484. type PurchaseRequest struct {
  48485. _ struct{} `type:"structure"`
  48486. // The number of instances.
  48487. //
  48488. // InstanceCount is a required field
  48489. InstanceCount *int64 `type:"integer" required:"true"`
  48490. // The purchase token.
  48491. //
  48492. // PurchaseToken is a required field
  48493. PurchaseToken *string `type:"string" required:"true"`
  48494. }
  48495. // String returns the string representation
  48496. func (s PurchaseRequest) String() string {
  48497. return awsutil.Prettify(s)
  48498. }
  48499. // GoString returns the string representation
  48500. func (s PurchaseRequest) GoString() string {
  48501. return s.String()
  48502. }
  48503. // Validate inspects the fields of the type to determine if they are valid.
  48504. func (s *PurchaseRequest) Validate() error {
  48505. invalidParams := request.ErrInvalidParams{Context: "PurchaseRequest"}
  48506. if s.InstanceCount == nil {
  48507. invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
  48508. }
  48509. if s.PurchaseToken == nil {
  48510. invalidParams.Add(request.NewErrParamRequired("PurchaseToken"))
  48511. }
  48512. if invalidParams.Len() > 0 {
  48513. return invalidParams
  48514. }
  48515. return nil
  48516. }
  48517. // SetInstanceCount sets the InstanceCount field's value.
  48518. func (s *PurchaseRequest) SetInstanceCount(v int64) *PurchaseRequest {
  48519. s.InstanceCount = &v
  48520. return s
  48521. }
  48522. // SetPurchaseToken sets the PurchaseToken field's value.
  48523. func (s *PurchaseRequest) SetPurchaseToken(v string) *PurchaseRequest {
  48524. s.PurchaseToken = &v
  48525. return s
  48526. }
  48527. // Contains the parameters for PurchaseReservedInstancesOffering.
  48528. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseReservedInstancesOfferingRequest
  48529. type PurchaseReservedInstancesOfferingInput struct {
  48530. _ struct{} `type:"structure"`
  48531. // Checks whether you have the required permissions for the action, without
  48532. // actually making the request, and provides an error response. If you have
  48533. // the required permissions, the error response is DryRunOperation. Otherwise,
  48534. // it is UnauthorizedOperation.
  48535. DryRun *bool `locationName:"dryRun" type:"boolean"`
  48536. // The number of Reserved Instances to purchase.
  48537. //
  48538. // InstanceCount is a required field
  48539. InstanceCount *int64 `type:"integer" required:"true"`
  48540. // Specified for Reserved Instance Marketplace offerings to limit the total
  48541. // order and ensure that the Reserved Instances are not purchased at unexpected
  48542. // prices.
  48543. LimitPrice *ReservedInstanceLimitPrice `locationName:"limitPrice" type:"structure"`
  48544. // The ID of the Reserved Instance offering to purchase.
  48545. //
  48546. // ReservedInstancesOfferingId is a required field
  48547. ReservedInstancesOfferingId *string `type:"string" required:"true"`
  48548. }
  48549. // String returns the string representation
  48550. func (s PurchaseReservedInstancesOfferingInput) String() string {
  48551. return awsutil.Prettify(s)
  48552. }
  48553. // GoString returns the string representation
  48554. func (s PurchaseReservedInstancesOfferingInput) GoString() string {
  48555. return s.String()
  48556. }
  48557. // Validate inspects the fields of the type to determine if they are valid.
  48558. func (s *PurchaseReservedInstancesOfferingInput) Validate() error {
  48559. invalidParams := request.ErrInvalidParams{Context: "PurchaseReservedInstancesOfferingInput"}
  48560. if s.InstanceCount == nil {
  48561. invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
  48562. }
  48563. if s.ReservedInstancesOfferingId == nil {
  48564. invalidParams.Add(request.NewErrParamRequired("ReservedInstancesOfferingId"))
  48565. }
  48566. if invalidParams.Len() > 0 {
  48567. return invalidParams
  48568. }
  48569. return nil
  48570. }
  48571. // SetDryRun sets the DryRun field's value.
  48572. func (s *PurchaseReservedInstancesOfferingInput) SetDryRun(v bool) *PurchaseReservedInstancesOfferingInput {
  48573. s.DryRun = &v
  48574. return s
  48575. }
  48576. // SetInstanceCount sets the InstanceCount field's value.
  48577. func (s *PurchaseReservedInstancesOfferingInput) SetInstanceCount(v int64) *PurchaseReservedInstancesOfferingInput {
  48578. s.InstanceCount = &v
  48579. return s
  48580. }
  48581. // SetLimitPrice sets the LimitPrice field's value.
  48582. func (s *PurchaseReservedInstancesOfferingInput) SetLimitPrice(v *ReservedInstanceLimitPrice) *PurchaseReservedInstancesOfferingInput {
  48583. s.LimitPrice = v
  48584. return s
  48585. }
  48586. // SetReservedInstancesOfferingId sets the ReservedInstancesOfferingId field's value.
  48587. func (s *PurchaseReservedInstancesOfferingInput) SetReservedInstancesOfferingId(v string) *PurchaseReservedInstancesOfferingInput {
  48588. s.ReservedInstancesOfferingId = &v
  48589. return s
  48590. }
  48591. // Contains the output of PurchaseReservedInstancesOffering.
  48592. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseReservedInstancesOfferingResult
  48593. type PurchaseReservedInstancesOfferingOutput struct {
  48594. _ struct{} `type:"structure"`
  48595. // The IDs of the purchased Reserved Instances.
  48596. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  48597. }
  48598. // String returns the string representation
  48599. func (s PurchaseReservedInstancesOfferingOutput) String() string {
  48600. return awsutil.Prettify(s)
  48601. }
  48602. // GoString returns the string representation
  48603. func (s PurchaseReservedInstancesOfferingOutput) GoString() string {
  48604. return s.String()
  48605. }
  48606. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  48607. func (s *PurchaseReservedInstancesOfferingOutput) SetReservedInstancesId(v string) *PurchaseReservedInstancesOfferingOutput {
  48608. s.ReservedInstancesId = &v
  48609. return s
  48610. }
  48611. // Contains the parameters for PurchaseScheduledInstances.
  48612. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseScheduledInstancesRequest
  48613. type PurchaseScheduledInstancesInput struct {
  48614. _ struct{} `type:"structure"`
  48615. // Unique, case-sensitive identifier that ensures the idempotency of the request.
  48616. // For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  48617. ClientToken *string `type:"string" idempotencyToken:"true"`
  48618. // Checks whether you have the required permissions for the action, without
  48619. // actually making the request, and provides an error response. If you have
  48620. // the required permissions, the error response is DryRunOperation. Otherwise,
  48621. // it is UnauthorizedOperation.
  48622. DryRun *bool `type:"boolean"`
  48623. // One or more purchase requests.
  48624. //
  48625. // PurchaseRequests is a required field
  48626. PurchaseRequests []*PurchaseRequest `locationName:"PurchaseRequest" locationNameList:"PurchaseRequest" min:"1" type:"list" required:"true"`
  48627. }
  48628. // String returns the string representation
  48629. func (s PurchaseScheduledInstancesInput) String() string {
  48630. return awsutil.Prettify(s)
  48631. }
  48632. // GoString returns the string representation
  48633. func (s PurchaseScheduledInstancesInput) GoString() string {
  48634. return s.String()
  48635. }
  48636. // Validate inspects the fields of the type to determine if they are valid.
  48637. func (s *PurchaseScheduledInstancesInput) Validate() error {
  48638. invalidParams := request.ErrInvalidParams{Context: "PurchaseScheduledInstancesInput"}
  48639. if s.PurchaseRequests == nil {
  48640. invalidParams.Add(request.NewErrParamRequired("PurchaseRequests"))
  48641. }
  48642. if s.PurchaseRequests != nil && len(s.PurchaseRequests) < 1 {
  48643. invalidParams.Add(request.NewErrParamMinLen("PurchaseRequests", 1))
  48644. }
  48645. if s.PurchaseRequests != nil {
  48646. for i, v := range s.PurchaseRequests {
  48647. if v == nil {
  48648. continue
  48649. }
  48650. if err := v.Validate(); err != nil {
  48651. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PurchaseRequests", i), err.(request.ErrInvalidParams))
  48652. }
  48653. }
  48654. }
  48655. if invalidParams.Len() > 0 {
  48656. return invalidParams
  48657. }
  48658. return nil
  48659. }
  48660. // SetClientToken sets the ClientToken field's value.
  48661. func (s *PurchaseScheduledInstancesInput) SetClientToken(v string) *PurchaseScheduledInstancesInput {
  48662. s.ClientToken = &v
  48663. return s
  48664. }
  48665. // SetDryRun sets the DryRun field's value.
  48666. func (s *PurchaseScheduledInstancesInput) SetDryRun(v bool) *PurchaseScheduledInstancesInput {
  48667. s.DryRun = &v
  48668. return s
  48669. }
  48670. // SetPurchaseRequests sets the PurchaseRequests field's value.
  48671. func (s *PurchaseScheduledInstancesInput) SetPurchaseRequests(v []*PurchaseRequest) *PurchaseScheduledInstancesInput {
  48672. s.PurchaseRequests = v
  48673. return s
  48674. }
  48675. // Contains the output of PurchaseScheduledInstances.
  48676. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseScheduledInstancesResult
  48677. type PurchaseScheduledInstancesOutput struct {
  48678. _ struct{} `type:"structure"`
  48679. // Information about the Scheduled Instances.
  48680. ScheduledInstanceSet []*ScheduledInstance `locationName:"scheduledInstanceSet" locationNameList:"item" type:"list"`
  48681. }
  48682. // String returns the string representation
  48683. func (s PurchaseScheduledInstancesOutput) String() string {
  48684. return awsutil.Prettify(s)
  48685. }
  48686. // GoString returns the string representation
  48687. func (s PurchaseScheduledInstancesOutput) GoString() string {
  48688. return s.String()
  48689. }
  48690. // SetScheduledInstanceSet sets the ScheduledInstanceSet field's value.
  48691. func (s *PurchaseScheduledInstancesOutput) SetScheduledInstanceSet(v []*ScheduledInstance) *PurchaseScheduledInstancesOutput {
  48692. s.ScheduledInstanceSet = v
  48693. return s
  48694. }
  48695. // Contains the parameters for RebootInstances.
  48696. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RebootInstancesRequest
  48697. type RebootInstancesInput struct {
  48698. _ struct{} `type:"structure"`
  48699. // Checks whether you have the required permissions for the action, without
  48700. // actually making the request, and provides an error response. If you have
  48701. // the required permissions, the error response is DryRunOperation. Otherwise,
  48702. // it is UnauthorizedOperation.
  48703. DryRun *bool `locationName:"dryRun" type:"boolean"`
  48704. // One or more instance IDs.
  48705. //
  48706. // InstanceIds is a required field
  48707. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  48708. }
  48709. // String returns the string representation
  48710. func (s RebootInstancesInput) String() string {
  48711. return awsutil.Prettify(s)
  48712. }
  48713. // GoString returns the string representation
  48714. func (s RebootInstancesInput) GoString() string {
  48715. return s.String()
  48716. }
  48717. // Validate inspects the fields of the type to determine if they are valid.
  48718. func (s *RebootInstancesInput) Validate() error {
  48719. invalidParams := request.ErrInvalidParams{Context: "RebootInstancesInput"}
  48720. if s.InstanceIds == nil {
  48721. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  48722. }
  48723. if invalidParams.Len() > 0 {
  48724. return invalidParams
  48725. }
  48726. return nil
  48727. }
  48728. // SetDryRun sets the DryRun field's value.
  48729. func (s *RebootInstancesInput) SetDryRun(v bool) *RebootInstancesInput {
  48730. s.DryRun = &v
  48731. return s
  48732. }
  48733. // SetInstanceIds sets the InstanceIds field's value.
  48734. func (s *RebootInstancesInput) SetInstanceIds(v []*string) *RebootInstancesInput {
  48735. s.InstanceIds = v
  48736. return s
  48737. }
  48738. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RebootInstancesOutput
  48739. type RebootInstancesOutput struct {
  48740. _ struct{} `type:"structure"`
  48741. }
  48742. // String returns the string representation
  48743. func (s RebootInstancesOutput) String() string {
  48744. return awsutil.Prettify(s)
  48745. }
  48746. // GoString returns the string representation
  48747. func (s RebootInstancesOutput) GoString() string {
  48748. return s.String()
  48749. }
  48750. // Describes a recurring charge.
  48751. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RecurringCharge
  48752. type RecurringCharge struct {
  48753. _ struct{} `type:"structure"`
  48754. // The amount of the recurring charge.
  48755. Amount *float64 `locationName:"amount" type:"double"`
  48756. // The frequency of the recurring charge.
  48757. Frequency *string `locationName:"frequency" type:"string" enum:"RecurringChargeFrequency"`
  48758. }
  48759. // String returns the string representation
  48760. func (s RecurringCharge) String() string {
  48761. return awsutil.Prettify(s)
  48762. }
  48763. // GoString returns the string representation
  48764. func (s RecurringCharge) GoString() string {
  48765. return s.String()
  48766. }
  48767. // SetAmount sets the Amount field's value.
  48768. func (s *RecurringCharge) SetAmount(v float64) *RecurringCharge {
  48769. s.Amount = &v
  48770. return s
  48771. }
  48772. // SetFrequency sets the Frequency field's value.
  48773. func (s *RecurringCharge) SetFrequency(v string) *RecurringCharge {
  48774. s.Frequency = &v
  48775. return s
  48776. }
  48777. // Describes a region.
  48778. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Region
  48779. type Region struct {
  48780. _ struct{} `type:"structure"`
  48781. // The region service endpoint.
  48782. Endpoint *string `locationName:"regionEndpoint" type:"string"`
  48783. // The name of the region.
  48784. RegionName *string `locationName:"regionName" type:"string"`
  48785. }
  48786. // String returns the string representation
  48787. func (s Region) String() string {
  48788. return awsutil.Prettify(s)
  48789. }
  48790. // GoString returns the string representation
  48791. func (s Region) GoString() string {
  48792. return s.String()
  48793. }
  48794. // SetEndpoint sets the Endpoint field's value.
  48795. func (s *Region) SetEndpoint(v string) *Region {
  48796. s.Endpoint = &v
  48797. return s
  48798. }
  48799. // SetRegionName sets the RegionName field's value.
  48800. func (s *Region) SetRegionName(v string) *Region {
  48801. s.RegionName = &v
  48802. return s
  48803. }
  48804. // Contains the parameters for RegisterImage.
  48805. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterImageRequest
  48806. type RegisterImageInput struct {
  48807. _ struct{} `type:"structure"`
  48808. // The architecture of the AMI.
  48809. //
  48810. // Default: For Amazon EBS-backed AMIs, i386. For instance store-backed AMIs,
  48811. // the architecture specified in the manifest file.
  48812. Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
  48813. // The billing product codes. Your account must be authorized to specify billing
  48814. // product codes. Otherwise, you can use the AWS Marketplace to bill for the
  48815. // use of an AMI.
  48816. BillingProducts []*string `locationName:"BillingProduct" locationNameList:"item" type:"list"`
  48817. // One or more block device mapping entries.
  48818. BlockDeviceMappings []*BlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
  48819. // A description for your AMI.
  48820. Description *string `locationName:"description" type:"string"`
  48821. // Checks whether you have the required permissions for the action, without
  48822. // actually making the request, and provides an error response. If you have
  48823. // the required permissions, the error response is DryRunOperation. Otherwise,
  48824. // it is UnauthorizedOperation.
  48825. DryRun *bool `locationName:"dryRun" type:"boolean"`
  48826. // Set to true to enable enhanced networking with ENA for the AMI and any instances
  48827. // that you launch from the AMI.
  48828. //
  48829. // This option is supported only for HVM AMIs. Specifying this option with a
  48830. // PV AMI can make instances launched from the AMI unreachable.
  48831. EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
  48832. // The full path to your AMI manifest in Amazon S3 storage.
  48833. ImageLocation *string `type:"string"`
  48834. // The ID of the kernel.
  48835. KernelId *string `locationName:"kernelId" type:"string"`
  48836. // A name for your AMI.
  48837. //
  48838. // Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets
  48839. // ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('),
  48840. // at-signs (@), or underscores(_)
  48841. //
  48842. // Name is a required field
  48843. Name *string `locationName:"name" type:"string" required:"true"`
  48844. // The ID of the RAM disk.
  48845. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  48846. // The device name of the root device volume (for example, /dev/sda1).
  48847. RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
  48848. // Set to simple to enable enhanced networking with the Intel 82599 Virtual
  48849. // Function interface for the AMI and any instances that you launch from the
  48850. // AMI.
  48851. //
  48852. // There is no way to disable sriovNetSupport at this time.
  48853. //
  48854. // This option is supported only for HVM AMIs. Specifying this option with a
  48855. // PV AMI can make instances launched from the AMI unreachable.
  48856. SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
  48857. // The type of virtualization (hvm | paravirtual).
  48858. //
  48859. // Default: paravirtual
  48860. VirtualizationType *string `locationName:"virtualizationType" type:"string"`
  48861. }
  48862. // String returns the string representation
  48863. func (s RegisterImageInput) String() string {
  48864. return awsutil.Prettify(s)
  48865. }
  48866. // GoString returns the string representation
  48867. func (s RegisterImageInput) GoString() string {
  48868. return s.String()
  48869. }
  48870. // Validate inspects the fields of the type to determine if they are valid.
  48871. func (s *RegisterImageInput) Validate() error {
  48872. invalidParams := request.ErrInvalidParams{Context: "RegisterImageInput"}
  48873. if s.Name == nil {
  48874. invalidParams.Add(request.NewErrParamRequired("Name"))
  48875. }
  48876. if invalidParams.Len() > 0 {
  48877. return invalidParams
  48878. }
  48879. return nil
  48880. }
  48881. // SetArchitecture sets the Architecture field's value.
  48882. func (s *RegisterImageInput) SetArchitecture(v string) *RegisterImageInput {
  48883. s.Architecture = &v
  48884. return s
  48885. }
  48886. // SetBillingProducts sets the BillingProducts field's value.
  48887. func (s *RegisterImageInput) SetBillingProducts(v []*string) *RegisterImageInput {
  48888. s.BillingProducts = v
  48889. return s
  48890. }
  48891. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  48892. func (s *RegisterImageInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *RegisterImageInput {
  48893. s.BlockDeviceMappings = v
  48894. return s
  48895. }
  48896. // SetDescription sets the Description field's value.
  48897. func (s *RegisterImageInput) SetDescription(v string) *RegisterImageInput {
  48898. s.Description = &v
  48899. return s
  48900. }
  48901. // SetDryRun sets the DryRun field's value.
  48902. func (s *RegisterImageInput) SetDryRun(v bool) *RegisterImageInput {
  48903. s.DryRun = &v
  48904. return s
  48905. }
  48906. // SetEnaSupport sets the EnaSupport field's value.
  48907. func (s *RegisterImageInput) SetEnaSupport(v bool) *RegisterImageInput {
  48908. s.EnaSupport = &v
  48909. return s
  48910. }
  48911. // SetImageLocation sets the ImageLocation field's value.
  48912. func (s *RegisterImageInput) SetImageLocation(v string) *RegisterImageInput {
  48913. s.ImageLocation = &v
  48914. return s
  48915. }
  48916. // SetKernelId sets the KernelId field's value.
  48917. func (s *RegisterImageInput) SetKernelId(v string) *RegisterImageInput {
  48918. s.KernelId = &v
  48919. return s
  48920. }
  48921. // SetName sets the Name field's value.
  48922. func (s *RegisterImageInput) SetName(v string) *RegisterImageInput {
  48923. s.Name = &v
  48924. return s
  48925. }
  48926. // SetRamdiskId sets the RamdiskId field's value.
  48927. func (s *RegisterImageInput) SetRamdiskId(v string) *RegisterImageInput {
  48928. s.RamdiskId = &v
  48929. return s
  48930. }
  48931. // SetRootDeviceName sets the RootDeviceName field's value.
  48932. func (s *RegisterImageInput) SetRootDeviceName(v string) *RegisterImageInput {
  48933. s.RootDeviceName = &v
  48934. return s
  48935. }
  48936. // SetSriovNetSupport sets the SriovNetSupport field's value.
  48937. func (s *RegisterImageInput) SetSriovNetSupport(v string) *RegisterImageInput {
  48938. s.SriovNetSupport = &v
  48939. return s
  48940. }
  48941. // SetVirtualizationType sets the VirtualizationType field's value.
  48942. func (s *RegisterImageInput) SetVirtualizationType(v string) *RegisterImageInput {
  48943. s.VirtualizationType = &v
  48944. return s
  48945. }
  48946. // Contains the output of RegisterImage.
  48947. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterImageResult
  48948. type RegisterImageOutput struct {
  48949. _ struct{} `type:"structure"`
  48950. // The ID of the newly registered AMI.
  48951. ImageId *string `locationName:"imageId" type:"string"`
  48952. }
  48953. // String returns the string representation
  48954. func (s RegisterImageOutput) String() string {
  48955. return awsutil.Prettify(s)
  48956. }
  48957. // GoString returns the string representation
  48958. func (s RegisterImageOutput) GoString() string {
  48959. return s.String()
  48960. }
  48961. // SetImageId sets the ImageId field's value.
  48962. func (s *RegisterImageOutput) SetImageId(v string) *RegisterImageOutput {
  48963. s.ImageId = &v
  48964. return s
  48965. }
  48966. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcEndpointConnectionsRequest
  48967. type RejectVpcEndpointConnectionsInput struct {
  48968. _ struct{} `type:"structure"`
  48969. // Checks whether you have the required permissions for the action, without
  48970. // actually making the request, and provides an error response. If you have
  48971. // the required permissions, the error response is DryRunOperation. Otherwise,
  48972. // it is UnauthorizedOperation.
  48973. DryRun *bool `type:"boolean"`
  48974. // The ID of the service.
  48975. //
  48976. // ServiceId is a required field
  48977. ServiceId *string `type:"string" required:"true"`
  48978. // The IDs of one or more VPC endpoints.
  48979. //
  48980. // VpcEndpointIds is a required field
  48981. VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list" required:"true"`
  48982. }
  48983. // String returns the string representation
  48984. func (s RejectVpcEndpointConnectionsInput) String() string {
  48985. return awsutil.Prettify(s)
  48986. }
  48987. // GoString returns the string representation
  48988. func (s RejectVpcEndpointConnectionsInput) GoString() string {
  48989. return s.String()
  48990. }
  48991. // Validate inspects the fields of the type to determine if they are valid.
  48992. func (s *RejectVpcEndpointConnectionsInput) Validate() error {
  48993. invalidParams := request.ErrInvalidParams{Context: "RejectVpcEndpointConnectionsInput"}
  48994. if s.ServiceId == nil {
  48995. invalidParams.Add(request.NewErrParamRequired("ServiceId"))
  48996. }
  48997. if s.VpcEndpointIds == nil {
  48998. invalidParams.Add(request.NewErrParamRequired("VpcEndpointIds"))
  48999. }
  49000. if invalidParams.Len() > 0 {
  49001. return invalidParams
  49002. }
  49003. return nil
  49004. }
  49005. // SetDryRun sets the DryRun field's value.
  49006. func (s *RejectVpcEndpointConnectionsInput) SetDryRun(v bool) *RejectVpcEndpointConnectionsInput {
  49007. s.DryRun = &v
  49008. return s
  49009. }
  49010. // SetServiceId sets the ServiceId field's value.
  49011. func (s *RejectVpcEndpointConnectionsInput) SetServiceId(v string) *RejectVpcEndpointConnectionsInput {
  49012. s.ServiceId = &v
  49013. return s
  49014. }
  49015. // SetVpcEndpointIds sets the VpcEndpointIds field's value.
  49016. func (s *RejectVpcEndpointConnectionsInput) SetVpcEndpointIds(v []*string) *RejectVpcEndpointConnectionsInput {
  49017. s.VpcEndpointIds = v
  49018. return s
  49019. }
  49020. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcEndpointConnectionsResult
  49021. type RejectVpcEndpointConnectionsOutput struct {
  49022. _ struct{} `type:"structure"`
  49023. // Information about the endpoints that were not rejected, if applicable.
  49024. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  49025. }
  49026. // String returns the string representation
  49027. func (s RejectVpcEndpointConnectionsOutput) String() string {
  49028. return awsutil.Prettify(s)
  49029. }
  49030. // GoString returns the string representation
  49031. func (s RejectVpcEndpointConnectionsOutput) GoString() string {
  49032. return s.String()
  49033. }
  49034. // SetUnsuccessful sets the Unsuccessful field's value.
  49035. func (s *RejectVpcEndpointConnectionsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *RejectVpcEndpointConnectionsOutput {
  49036. s.Unsuccessful = v
  49037. return s
  49038. }
  49039. // Contains the parameters for RejectVpcPeeringConnection.
  49040. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcPeeringConnectionRequest
  49041. type RejectVpcPeeringConnectionInput struct {
  49042. _ struct{} `type:"structure"`
  49043. // Checks whether you have the required permissions for the action, without
  49044. // actually making the request, and provides an error response. If you have
  49045. // the required permissions, the error response is DryRunOperation. Otherwise,
  49046. // it is UnauthorizedOperation.
  49047. DryRun *bool `locationName:"dryRun" type:"boolean"`
  49048. // The ID of the VPC peering connection.
  49049. //
  49050. // VpcPeeringConnectionId is a required field
  49051. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string" required:"true"`
  49052. }
  49053. // String returns the string representation
  49054. func (s RejectVpcPeeringConnectionInput) String() string {
  49055. return awsutil.Prettify(s)
  49056. }
  49057. // GoString returns the string representation
  49058. func (s RejectVpcPeeringConnectionInput) GoString() string {
  49059. return s.String()
  49060. }
  49061. // Validate inspects the fields of the type to determine if they are valid.
  49062. func (s *RejectVpcPeeringConnectionInput) Validate() error {
  49063. invalidParams := request.ErrInvalidParams{Context: "RejectVpcPeeringConnectionInput"}
  49064. if s.VpcPeeringConnectionId == nil {
  49065. invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
  49066. }
  49067. if invalidParams.Len() > 0 {
  49068. return invalidParams
  49069. }
  49070. return nil
  49071. }
  49072. // SetDryRun sets the DryRun field's value.
  49073. func (s *RejectVpcPeeringConnectionInput) SetDryRun(v bool) *RejectVpcPeeringConnectionInput {
  49074. s.DryRun = &v
  49075. return s
  49076. }
  49077. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  49078. func (s *RejectVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *RejectVpcPeeringConnectionInput {
  49079. s.VpcPeeringConnectionId = &v
  49080. return s
  49081. }
  49082. // Contains the output of RejectVpcPeeringConnection.
  49083. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcPeeringConnectionResult
  49084. type RejectVpcPeeringConnectionOutput struct {
  49085. _ struct{} `type:"structure"`
  49086. // Returns true if the request succeeds; otherwise, it returns an error.
  49087. Return *bool `locationName:"return" type:"boolean"`
  49088. }
  49089. // String returns the string representation
  49090. func (s RejectVpcPeeringConnectionOutput) String() string {
  49091. return awsutil.Prettify(s)
  49092. }
  49093. // GoString returns the string representation
  49094. func (s RejectVpcPeeringConnectionOutput) GoString() string {
  49095. return s.String()
  49096. }
  49097. // SetReturn sets the Return field's value.
  49098. func (s *RejectVpcPeeringConnectionOutput) SetReturn(v bool) *RejectVpcPeeringConnectionOutput {
  49099. s.Return = &v
  49100. return s
  49101. }
  49102. // Contains the parameters for ReleaseAddress.
  49103. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseAddressRequest
  49104. type ReleaseAddressInput struct {
  49105. _ struct{} `type:"structure"`
  49106. // [EC2-VPC] The allocation ID. Required for EC2-VPC.
  49107. AllocationId *string `type:"string"`
  49108. // Checks whether you have the required permissions for the action, without
  49109. // actually making the request, and provides an error response. If you have
  49110. // the required permissions, the error response is DryRunOperation. Otherwise,
  49111. // it is UnauthorizedOperation.
  49112. DryRun *bool `locationName:"dryRun" type:"boolean"`
  49113. // [EC2-Classic] The Elastic IP address. Required for EC2-Classic.
  49114. PublicIp *string `type:"string"`
  49115. }
  49116. // String returns the string representation
  49117. func (s ReleaseAddressInput) String() string {
  49118. return awsutil.Prettify(s)
  49119. }
  49120. // GoString returns the string representation
  49121. func (s ReleaseAddressInput) GoString() string {
  49122. return s.String()
  49123. }
  49124. // SetAllocationId sets the AllocationId field's value.
  49125. func (s *ReleaseAddressInput) SetAllocationId(v string) *ReleaseAddressInput {
  49126. s.AllocationId = &v
  49127. return s
  49128. }
  49129. // SetDryRun sets the DryRun field's value.
  49130. func (s *ReleaseAddressInput) SetDryRun(v bool) *ReleaseAddressInput {
  49131. s.DryRun = &v
  49132. return s
  49133. }
  49134. // SetPublicIp sets the PublicIp field's value.
  49135. func (s *ReleaseAddressInput) SetPublicIp(v string) *ReleaseAddressInput {
  49136. s.PublicIp = &v
  49137. return s
  49138. }
  49139. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseAddressOutput
  49140. type ReleaseAddressOutput struct {
  49141. _ struct{} `type:"structure"`
  49142. }
  49143. // String returns the string representation
  49144. func (s ReleaseAddressOutput) String() string {
  49145. return awsutil.Prettify(s)
  49146. }
  49147. // GoString returns the string representation
  49148. func (s ReleaseAddressOutput) GoString() string {
  49149. return s.String()
  49150. }
  49151. // Contains the parameters for ReleaseHosts.
  49152. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseHostsRequest
  49153. type ReleaseHostsInput struct {
  49154. _ struct{} `type:"structure"`
  49155. // The IDs of the Dedicated Hosts you want to release.
  49156. //
  49157. // HostIds is a required field
  49158. HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list" required:"true"`
  49159. }
  49160. // String returns the string representation
  49161. func (s ReleaseHostsInput) String() string {
  49162. return awsutil.Prettify(s)
  49163. }
  49164. // GoString returns the string representation
  49165. func (s ReleaseHostsInput) GoString() string {
  49166. return s.String()
  49167. }
  49168. // Validate inspects the fields of the type to determine if they are valid.
  49169. func (s *ReleaseHostsInput) Validate() error {
  49170. invalidParams := request.ErrInvalidParams{Context: "ReleaseHostsInput"}
  49171. if s.HostIds == nil {
  49172. invalidParams.Add(request.NewErrParamRequired("HostIds"))
  49173. }
  49174. if invalidParams.Len() > 0 {
  49175. return invalidParams
  49176. }
  49177. return nil
  49178. }
  49179. // SetHostIds sets the HostIds field's value.
  49180. func (s *ReleaseHostsInput) SetHostIds(v []*string) *ReleaseHostsInput {
  49181. s.HostIds = v
  49182. return s
  49183. }
  49184. // Contains the output of ReleaseHosts.
  49185. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseHostsResult
  49186. type ReleaseHostsOutput struct {
  49187. _ struct{} `type:"structure"`
  49188. // The IDs of the Dedicated Hosts that were successfully released.
  49189. Successful []*string `locationName:"successful" locationNameList:"item" type:"list"`
  49190. // The IDs of the Dedicated Hosts that could not be released, including an error
  49191. // message.
  49192. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  49193. }
  49194. // String returns the string representation
  49195. func (s ReleaseHostsOutput) String() string {
  49196. return awsutil.Prettify(s)
  49197. }
  49198. // GoString returns the string representation
  49199. func (s ReleaseHostsOutput) GoString() string {
  49200. return s.String()
  49201. }
  49202. // SetSuccessful sets the Successful field's value.
  49203. func (s *ReleaseHostsOutput) SetSuccessful(v []*string) *ReleaseHostsOutput {
  49204. s.Successful = v
  49205. return s
  49206. }
  49207. // SetUnsuccessful sets the Unsuccessful field's value.
  49208. func (s *ReleaseHostsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *ReleaseHostsOutput {
  49209. s.Unsuccessful = v
  49210. return s
  49211. }
  49212. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceIamInstanceProfileAssociationRequest
  49213. type ReplaceIamInstanceProfileAssociationInput struct {
  49214. _ struct{} `type:"structure"`
  49215. // The ID of the existing IAM instance profile association.
  49216. //
  49217. // AssociationId is a required field
  49218. AssociationId *string `type:"string" required:"true"`
  49219. // The IAM instance profile.
  49220. //
  49221. // IamInstanceProfile is a required field
  49222. IamInstanceProfile *IamInstanceProfileSpecification `type:"structure" required:"true"`
  49223. }
  49224. // String returns the string representation
  49225. func (s ReplaceIamInstanceProfileAssociationInput) String() string {
  49226. return awsutil.Prettify(s)
  49227. }
  49228. // GoString returns the string representation
  49229. func (s ReplaceIamInstanceProfileAssociationInput) GoString() string {
  49230. return s.String()
  49231. }
  49232. // Validate inspects the fields of the type to determine if they are valid.
  49233. func (s *ReplaceIamInstanceProfileAssociationInput) Validate() error {
  49234. invalidParams := request.ErrInvalidParams{Context: "ReplaceIamInstanceProfileAssociationInput"}
  49235. if s.AssociationId == nil {
  49236. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  49237. }
  49238. if s.IamInstanceProfile == nil {
  49239. invalidParams.Add(request.NewErrParamRequired("IamInstanceProfile"))
  49240. }
  49241. if invalidParams.Len() > 0 {
  49242. return invalidParams
  49243. }
  49244. return nil
  49245. }
  49246. // SetAssociationId sets the AssociationId field's value.
  49247. func (s *ReplaceIamInstanceProfileAssociationInput) SetAssociationId(v string) *ReplaceIamInstanceProfileAssociationInput {
  49248. s.AssociationId = &v
  49249. return s
  49250. }
  49251. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  49252. func (s *ReplaceIamInstanceProfileAssociationInput) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *ReplaceIamInstanceProfileAssociationInput {
  49253. s.IamInstanceProfile = v
  49254. return s
  49255. }
  49256. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceIamInstanceProfileAssociationResult
  49257. type ReplaceIamInstanceProfileAssociationOutput struct {
  49258. _ struct{} `type:"structure"`
  49259. // Information about the IAM instance profile association.
  49260. IamInstanceProfileAssociation *IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociation" type:"structure"`
  49261. }
  49262. // String returns the string representation
  49263. func (s ReplaceIamInstanceProfileAssociationOutput) String() string {
  49264. return awsutil.Prettify(s)
  49265. }
  49266. // GoString returns the string representation
  49267. func (s ReplaceIamInstanceProfileAssociationOutput) GoString() string {
  49268. return s.String()
  49269. }
  49270. // SetIamInstanceProfileAssociation sets the IamInstanceProfileAssociation field's value.
  49271. func (s *ReplaceIamInstanceProfileAssociationOutput) SetIamInstanceProfileAssociation(v *IamInstanceProfileAssociation) *ReplaceIamInstanceProfileAssociationOutput {
  49272. s.IamInstanceProfileAssociation = v
  49273. return s
  49274. }
  49275. // Contains the parameters for ReplaceNetworkAclAssociation.
  49276. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclAssociationRequest
  49277. type ReplaceNetworkAclAssociationInput struct {
  49278. _ struct{} `type:"structure"`
  49279. // The ID of the current association between the original network ACL and the
  49280. // subnet.
  49281. //
  49282. // AssociationId is a required field
  49283. AssociationId *string `locationName:"associationId" type:"string" required:"true"`
  49284. // Checks whether you have the required permissions for the action, without
  49285. // actually making the request, and provides an error response. If you have
  49286. // the required permissions, the error response is DryRunOperation. Otherwise,
  49287. // it is UnauthorizedOperation.
  49288. DryRun *bool `locationName:"dryRun" type:"boolean"`
  49289. // The ID of the new network ACL to associate with the subnet.
  49290. //
  49291. // NetworkAclId is a required field
  49292. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  49293. }
  49294. // String returns the string representation
  49295. func (s ReplaceNetworkAclAssociationInput) String() string {
  49296. return awsutil.Prettify(s)
  49297. }
  49298. // GoString returns the string representation
  49299. func (s ReplaceNetworkAclAssociationInput) GoString() string {
  49300. return s.String()
  49301. }
  49302. // Validate inspects the fields of the type to determine if they are valid.
  49303. func (s *ReplaceNetworkAclAssociationInput) Validate() error {
  49304. invalidParams := request.ErrInvalidParams{Context: "ReplaceNetworkAclAssociationInput"}
  49305. if s.AssociationId == nil {
  49306. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  49307. }
  49308. if s.NetworkAclId == nil {
  49309. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  49310. }
  49311. if invalidParams.Len() > 0 {
  49312. return invalidParams
  49313. }
  49314. return nil
  49315. }
  49316. // SetAssociationId sets the AssociationId field's value.
  49317. func (s *ReplaceNetworkAclAssociationInput) SetAssociationId(v string) *ReplaceNetworkAclAssociationInput {
  49318. s.AssociationId = &v
  49319. return s
  49320. }
  49321. // SetDryRun sets the DryRun field's value.
  49322. func (s *ReplaceNetworkAclAssociationInput) SetDryRun(v bool) *ReplaceNetworkAclAssociationInput {
  49323. s.DryRun = &v
  49324. return s
  49325. }
  49326. // SetNetworkAclId sets the NetworkAclId field's value.
  49327. func (s *ReplaceNetworkAclAssociationInput) SetNetworkAclId(v string) *ReplaceNetworkAclAssociationInput {
  49328. s.NetworkAclId = &v
  49329. return s
  49330. }
  49331. // Contains the output of ReplaceNetworkAclAssociation.
  49332. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclAssociationResult
  49333. type ReplaceNetworkAclAssociationOutput struct {
  49334. _ struct{} `type:"structure"`
  49335. // The ID of the new association.
  49336. NewAssociationId *string `locationName:"newAssociationId" type:"string"`
  49337. }
  49338. // String returns the string representation
  49339. func (s ReplaceNetworkAclAssociationOutput) String() string {
  49340. return awsutil.Prettify(s)
  49341. }
  49342. // GoString returns the string representation
  49343. func (s ReplaceNetworkAclAssociationOutput) GoString() string {
  49344. return s.String()
  49345. }
  49346. // SetNewAssociationId sets the NewAssociationId field's value.
  49347. func (s *ReplaceNetworkAclAssociationOutput) SetNewAssociationId(v string) *ReplaceNetworkAclAssociationOutput {
  49348. s.NewAssociationId = &v
  49349. return s
  49350. }
  49351. // Contains the parameters for ReplaceNetworkAclEntry.
  49352. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclEntryRequest
  49353. type ReplaceNetworkAclEntryInput struct {
  49354. _ struct{} `type:"structure"`
  49355. // The IPv4 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).
  49356. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  49357. // Checks whether you have the required permissions for the action, without
  49358. // actually making the request, and provides an error response. If you have
  49359. // the required permissions, the error response is DryRunOperation. Otherwise,
  49360. // it is UnauthorizedOperation.
  49361. DryRun *bool `locationName:"dryRun" type:"boolean"`
  49362. // Indicates whether to replace the egress rule.
  49363. //
  49364. // Default: If no value is specified, we replace the ingress rule.
  49365. //
  49366. // Egress is a required field
  49367. Egress *bool `locationName:"egress" type:"boolean" required:"true"`
  49368. // ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying the
  49369. // ICMP (1) protocol, or protocol 58 (ICMPv6) with an IPv6 CIDR block.
  49370. IcmpTypeCode *IcmpTypeCode `locationName:"Icmp" type:"structure"`
  49371. // The IPv6 network range to allow or deny, in CIDR notation (for example 2001:bd8:1234:1a00::/64).
  49372. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
  49373. // The ID of the ACL.
  49374. //
  49375. // NetworkAclId is a required field
  49376. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  49377. // TCP or UDP protocols: The range of ports the rule applies to. Required if
  49378. // specifying TCP (6) or UDP (17) for the protocol.
  49379. PortRange *PortRange `locationName:"portRange" type:"structure"`
  49380. // The IP protocol. You can specify all or -1 to mean all protocols. If you
  49381. // specify all, -1, or a protocol number other than tcp, udp, or icmp, traffic
  49382. // on all ports is allowed, regardless of any ports or ICMP types or codes you
  49383. // specify. If you specify protocol 58 (ICMPv6) and specify an IPv4 CIDR block,
  49384. // traffic for all ICMP types and codes allowed, regardless of any that you
  49385. // specify. If you specify protocol 58 (ICMPv6) and specify an IPv6 CIDR block,
  49386. // you must specify an ICMP type and code.
  49387. //
  49388. // Protocol is a required field
  49389. Protocol *string `locationName:"protocol" type:"string" required:"true"`
  49390. // Indicates whether to allow or deny the traffic that matches the rule.
  49391. //
  49392. // RuleAction is a required field
  49393. RuleAction *string `locationName:"ruleAction" type:"string" required:"true" enum:"RuleAction"`
  49394. // The rule number of the entry to replace.
  49395. //
  49396. // RuleNumber is a required field
  49397. RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
  49398. }
  49399. // String returns the string representation
  49400. func (s ReplaceNetworkAclEntryInput) String() string {
  49401. return awsutil.Prettify(s)
  49402. }
  49403. // GoString returns the string representation
  49404. func (s ReplaceNetworkAclEntryInput) GoString() string {
  49405. return s.String()
  49406. }
  49407. // Validate inspects the fields of the type to determine if they are valid.
  49408. func (s *ReplaceNetworkAclEntryInput) Validate() error {
  49409. invalidParams := request.ErrInvalidParams{Context: "ReplaceNetworkAclEntryInput"}
  49410. if s.Egress == nil {
  49411. invalidParams.Add(request.NewErrParamRequired("Egress"))
  49412. }
  49413. if s.NetworkAclId == nil {
  49414. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  49415. }
  49416. if s.Protocol == nil {
  49417. invalidParams.Add(request.NewErrParamRequired("Protocol"))
  49418. }
  49419. if s.RuleAction == nil {
  49420. invalidParams.Add(request.NewErrParamRequired("RuleAction"))
  49421. }
  49422. if s.RuleNumber == nil {
  49423. invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
  49424. }
  49425. if invalidParams.Len() > 0 {
  49426. return invalidParams
  49427. }
  49428. return nil
  49429. }
  49430. // SetCidrBlock sets the CidrBlock field's value.
  49431. func (s *ReplaceNetworkAclEntryInput) SetCidrBlock(v string) *ReplaceNetworkAclEntryInput {
  49432. s.CidrBlock = &v
  49433. return s
  49434. }
  49435. // SetDryRun sets the DryRun field's value.
  49436. func (s *ReplaceNetworkAclEntryInput) SetDryRun(v bool) *ReplaceNetworkAclEntryInput {
  49437. s.DryRun = &v
  49438. return s
  49439. }
  49440. // SetEgress sets the Egress field's value.
  49441. func (s *ReplaceNetworkAclEntryInput) SetEgress(v bool) *ReplaceNetworkAclEntryInput {
  49442. s.Egress = &v
  49443. return s
  49444. }
  49445. // SetIcmpTypeCode sets the IcmpTypeCode field's value.
  49446. func (s *ReplaceNetworkAclEntryInput) SetIcmpTypeCode(v *IcmpTypeCode) *ReplaceNetworkAclEntryInput {
  49447. s.IcmpTypeCode = v
  49448. return s
  49449. }
  49450. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  49451. func (s *ReplaceNetworkAclEntryInput) SetIpv6CidrBlock(v string) *ReplaceNetworkAclEntryInput {
  49452. s.Ipv6CidrBlock = &v
  49453. return s
  49454. }
  49455. // SetNetworkAclId sets the NetworkAclId field's value.
  49456. func (s *ReplaceNetworkAclEntryInput) SetNetworkAclId(v string) *ReplaceNetworkAclEntryInput {
  49457. s.NetworkAclId = &v
  49458. return s
  49459. }
  49460. // SetPortRange sets the PortRange field's value.
  49461. func (s *ReplaceNetworkAclEntryInput) SetPortRange(v *PortRange) *ReplaceNetworkAclEntryInput {
  49462. s.PortRange = v
  49463. return s
  49464. }
  49465. // SetProtocol sets the Protocol field's value.
  49466. func (s *ReplaceNetworkAclEntryInput) SetProtocol(v string) *ReplaceNetworkAclEntryInput {
  49467. s.Protocol = &v
  49468. return s
  49469. }
  49470. // SetRuleAction sets the RuleAction field's value.
  49471. func (s *ReplaceNetworkAclEntryInput) SetRuleAction(v string) *ReplaceNetworkAclEntryInput {
  49472. s.RuleAction = &v
  49473. return s
  49474. }
  49475. // SetRuleNumber sets the RuleNumber field's value.
  49476. func (s *ReplaceNetworkAclEntryInput) SetRuleNumber(v int64) *ReplaceNetworkAclEntryInput {
  49477. s.RuleNumber = &v
  49478. return s
  49479. }
  49480. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclEntryOutput
  49481. type ReplaceNetworkAclEntryOutput struct {
  49482. _ struct{} `type:"structure"`
  49483. }
  49484. // String returns the string representation
  49485. func (s ReplaceNetworkAclEntryOutput) String() string {
  49486. return awsutil.Prettify(s)
  49487. }
  49488. // GoString returns the string representation
  49489. func (s ReplaceNetworkAclEntryOutput) GoString() string {
  49490. return s.String()
  49491. }
  49492. // Contains the parameters for ReplaceRoute.
  49493. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteRequest
  49494. type ReplaceRouteInput struct {
  49495. _ struct{} `type:"structure"`
  49496. // The IPv4 CIDR address block used for the destination match. The value you
  49497. // provide must match the CIDR of an existing route in the table.
  49498. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  49499. // The IPv6 CIDR address block used for the destination match. The value you
  49500. // provide must match the CIDR of an existing route in the table.
  49501. DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
  49502. // Checks whether you have the required permissions for the action, without
  49503. // actually making the request, and provides an error response. If you have
  49504. // the required permissions, the error response is DryRunOperation. Otherwise,
  49505. // it is UnauthorizedOperation.
  49506. DryRun *bool `locationName:"dryRun" type:"boolean"`
  49507. // [IPv6 traffic only] The ID of an egress-only Internet gateway.
  49508. EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
  49509. // The ID of an Internet gateway or virtual private gateway.
  49510. GatewayId *string `locationName:"gatewayId" type:"string"`
  49511. // The ID of a NAT instance in your VPC.
  49512. InstanceId *string `locationName:"instanceId" type:"string"`
  49513. // [IPv4 traffic only] The ID of a NAT gateway.
  49514. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  49515. // The ID of a network interface.
  49516. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  49517. // The ID of the route table.
  49518. //
  49519. // RouteTableId is a required field
  49520. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  49521. // The ID of a VPC peering connection.
  49522. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  49523. }
  49524. // String returns the string representation
  49525. func (s ReplaceRouteInput) String() string {
  49526. return awsutil.Prettify(s)
  49527. }
  49528. // GoString returns the string representation
  49529. func (s ReplaceRouteInput) GoString() string {
  49530. return s.String()
  49531. }
  49532. // Validate inspects the fields of the type to determine if they are valid.
  49533. func (s *ReplaceRouteInput) Validate() error {
  49534. invalidParams := request.ErrInvalidParams{Context: "ReplaceRouteInput"}
  49535. if s.RouteTableId == nil {
  49536. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  49537. }
  49538. if invalidParams.Len() > 0 {
  49539. return invalidParams
  49540. }
  49541. return nil
  49542. }
  49543. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  49544. func (s *ReplaceRouteInput) SetDestinationCidrBlock(v string) *ReplaceRouteInput {
  49545. s.DestinationCidrBlock = &v
  49546. return s
  49547. }
  49548. // SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
  49549. func (s *ReplaceRouteInput) SetDestinationIpv6CidrBlock(v string) *ReplaceRouteInput {
  49550. s.DestinationIpv6CidrBlock = &v
  49551. return s
  49552. }
  49553. // SetDryRun sets the DryRun field's value.
  49554. func (s *ReplaceRouteInput) SetDryRun(v bool) *ReplaceRouteInput {
  49555. s.DryRun = &v
  49556. return s
  49557. }
  49558. // SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
  49559. func (s *ReplaceRouteInput) SetEgressOnlyInternetGatewayId(v string) *ReplaceRouteInput {
  49560. s.EgressOnlyInternetGatewayId = &v
  49561. return s
  49562. }
  49563. // SetGatewayId sets the GatewayId field's value.
  49564. func (s *ReplaceRouteInput) SetGatewayId(v string) *ReplaceRouteInput {
  49565. s.GatewayId = &v
  49566. return s
  49567. }
  49568. // SetInstanceId sets the InstanceId field's value.
  49569. func (s *ReplaceRouteInput) SetInstanceId(v string) *ReplaceRouteInput {
  49570. s.InstanceId = &v
  49571. return s
  49572. }
  49573. // SetNatGatewayId sets the NatGatewayId field's value.
  49574. func (s *ReplaceRouteInput) SetNatGatewayId(v string) *ReplaceRouteInput {
  49575. s.NatGatewayId = &v
  49576. return s
  49577. }
  49578. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  49579. func (s *ReplaceRouteInput) SetNetworkInterfaceId(v string) *ReplaceRouteInput {
  49580. s.NetworkInterfaceId = &v
  49581. return s
  49582. }
  49583. // SetRouteTableId sets the RouteTableId field's value.
  49584. func (s *ReplaceRouteInput) SetRouteTableId(v string) *ReplaceRouteInput {
  49585. s.RouteTableId = &v
  49586. return s
  49587. }
  49588. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  49589. func (s *ReplaceRouteInput) SetVpcPeeringConnectionId(v string) *ReplaceRouteInput {
  49590. s.VpcPeeringConnectionId = &v
  49591. return s
  49592. }
  49593. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteOutput
  49594. type ReplaceRouteOutput struct {
  49595. _ struct{} `type:"structure"`
  49596. }
  49597. // String returns the string representation
  49598. func (s ReplaceRouteOutput) String() string {
  49599. return awsutil.Prettify(s)
  49600. }
  49601. // GoString returns the string representation
  49602. func (s ReplaceRouteOutput) GoString() string {
  49603. return s.String()
  49604. }
  49605. // Contains the parameters for ReplaceRouteTableAssociation.
  49606. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteTableAssociationRequest
  49607. type ReplaceRouteTableAssociationInput struct {
  49608. _ struct{} `type:"structure"`
  49609. // The association ID.
  49610. //
  49611. // AssociationId is a required field
  49612. AssociationId *string `locationName:"associationId" type:"string" required:"true"`
  49613. // Checks whether you have the required permissions for the action, without
  49614. // actually making the request, and provides an error response. If you have
  49615. // the required permissions, the error response is DryRunOperation. Otherwise,
  49616. // it is UnauthorizedOperation.
  49617. DryRun *bool `locationName:"dryRun" type:"boolean"`
  49618. // The ID of the new route table to associate with the subnet.
  49619. //
  49620. // RouteTableId is a required field
  49621. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  49622. }
  49623. // String returns the string representation
  49624. func (s ReplaceRouteTableAssociationInput) String() string {
  49625. return awsutil.Prettify(s)
  49626. }
  49627. // GoString returns the string representation
  49628. func (s ReplaceRouteTableAssociationInput) GoString() string {
  49629. return s.String()
  49630. }
  49631. // Validate inspects the fields of the type to determine if they are valid.
  49632. func (s *ReplaceRouteTableAssociationInput) Validate() error {
  49633. invalidParams := request.ErrInvalidParams{Context: "ReplaceRouteTableAssociationInput"}
  49634. if s.AssociationId == nil {
  49635. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  49636. }
  49637. if s.RouteTableId == nil {
  49638. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  49639. }
  49640. if invalidParams.Len() > 0 {
  49641. return invalidParams
  49642. }
  49643. return nil
  49644. }
  49645. // SetAssociationId sets the AssociationId field's value.
  49646. func (s *ReplaceRouteTableAssociationInput) SetAssociationId(v string) *ReplaceRouteTableAssociationInput {
  49647. s.AssociationId = &v
  49648. return s
  49649. }
  49650. // SetDryRun sets the DryRun field's value.
  49651. func (s *ReplaceRouteTableAssociationInput) SetDryRun(v bool) *ReplaceRouteTableAssociationInput {
  49652. s.DryRun = &v
  49653. return s
  49654. }
  49655. // SetRouteTableId sets the RouteTableId field's value.
  49656. func (s *ReplaceRouteTableAssociationInput) SetRouteTableId(v string) *ReplaceRouteTableAssociationInput {
  49657. s.RouteTableId = &v
  49658. return s
  49659. }
  49660. // Contains the output of ReplaceRouteTableAssociation.
  49661. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteTableAssociationResult
  49662. type ReplaceRouteTableAssociationOutput struct {
  49663. _ struct{} `type:"structure"`
  49664. // The ID of the new association.
  49665. NewAssociationId *string `locationName:"newAssociationId" type:"string"`
  49666. }
  49667. // String returns the string representation
  49668. func (s ReplaceRouteTableAssociationOutput) String() string {
  49669. return awsutil.Prettify(s)
  49670. }
  49671. // GoString returns the string representation
  49672. func (s ReplaceRouteTableAssociationOutput) GoString() string {
  49673. return s.String()
  49674. }
  49675. // SetNewAssociationId sets the NewAssociationId field's value.
  49676. func (s *ReplaceRouteTableAssociationOutput) SetNewAssociationId(v string) *ReplaceRouteTableAssociationOutput {
  49677. s.NewAssociationId = &v
  49678. return s
  49679. }
  49680. // Contains the parameters for ReportInstanceStatus.
  49681. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReportInstanceStatusRequest
  49682. type ReportInstanceStatusInput struct {
  49683. _ struct{} `type:"structure"`
  49684. // Descriptive text about the health state of your instance.
  49685. Description *string `locationName:"description" type:"string"`
  49686. // Checks whether you have the required permissions for the action, without
  49687. // actually making the request, and provides an error response. If you have
  49688. // the required permissions, the error response is DryRunOperation. Otherwise,
  49689. // it is UnauthorizedOperation.
  49690. DryRun *bool `locationName:"dryRun" type:"boolean"`
  49691. // The time at which the reported instance health state ended.
  49692. EndTime *time.Time `locationName:"endTime" type:"timestamp" timestampFormat:"iso8601"`
  49693. // One or more instances.
  49694. //
  49695. // Instances is a required field
  49696. Instances []*string `locationName:"instanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  49697. // One or more reason codes that describe the health state of your instance.
  49698. //
  49699. // * instance-stuck-in-state: My instance is stuck in a state.
  49700. //
  49701. // * unresponsive: My instance is unresponsive.
  49702. //
  49703. // * not-accepting-credentials: My instance is not accepting my credentials.
  49704. //
  49705. // * password-not-available: A password is not available for my instance.
  49706. //
  49707. // * performance-network: My instance is experiencing performance problems
  49708. // that I believe are network related.
  49709. //
  49710. // * performance-instance-store: My instance is experiencing performance
  49711. // problems that I believe are related to the instance stores.
  49712. //
  49713. // * performance-ebs-volume: My instance is experiencing performance problems
  49714. // that I believe are related to an EBS volume.
  49715. //
  49716. // * performance-other: My instance is experiencing performance problems.
  49717. //
  49718. // * other: [explain using the description parameter]
  49719. //
  49720. // ReasonCodes is a required field
  49721. ReasonCodes []*string `locationName:"reasonCode" locationNameList:"item" type:"list" required:"true"`
  49722. // The time at which the reported instance health state began.
  49723. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
  49724. // The status of all instances listed.
  49725. //
  49726. // Status is a required field
  49727. Status *string `locationName:"status" type:"string" required:"true" enum:"ReportStatusType"`
  49728. }
  49729. // String returns the string representation
  49730. func (s ReportInstanceStatusInput) String() string {
  49731. return awsutil.Prettify(s)
  49732. }
  49733. // GoString returns the string representation
  49734. func (s ReportInstanceStatusInput) GoString() string {
  49735. return s.String()
  49736. }
  49737. // Validate inspects the fields of the type to determine if they are valid.
  49738. func (s *ReportInstanceStatusInput) Validate() error {
  49739. invalidParams := request.ErrInvalidParams{Context: "ReportInstanceStatusInput"}
  49740. if s.Instances == nil {
  49741. invalidParams.Add(request.NewErrParamRequired("Instances"))
  49742. }
  49743. if s.ReasonCodes == nil {
  49744. invalidParams.Add(request.NewErrParamRequired("ReasonCodes"))
  49745. }
  49746. if s.Status == nil {
  49747. invalidParams.Add(request.NewErrParamRequired("Status"))
  49748. }
  49749. if invalidParams.Len() > 0 {
  49750. return invalidParams
  49751. }
  49752. return nil
  49753. }
  49754. // SetDescription sets the Description field's value.
  49755. func (s *ReportInstanceStatusInput) SetDescription(v string) *ReportInstanceStatusInput {
  49756. s.Description = &v
  49757. return s
  49758. }
  49759. // SetDryRun sets the DryRun field's value.
  49760. func (s *ReportInstanceStatusInput) SetDryRun(v bool) *ReportInstanceStatusInput {
  49761. s.DryRun = &v
  49762. return s
  49763. }
  49764. // SetEndTime sets the EndTime field's value.
  49765. func (s *ReportInstanceStatusInput) SetEndTime(v time.Time) *ReportInstanceStatusInput {
  49766. s.EndTime = &v
  49767. return s
  49768. }
  49769. // SetInstances sets the Instances field's value.
  49770. func (s *ReportInstanceStatusInput) SetInstances(v []*string) *ReportInstanceStatusInput {
  49771. s.Instances = v
  49772. return s
  49773. }
  49774. // SetReasonCodes sets the ReasonCodes field's value.
  49775. func (s *ReportInstanceStatusInput) SetReasonCodes(v []*string) *ReportInstanceStatusInput {
  49776. s.ReasonCodes = v
  49777. return s
  49778. }
  49779. // SetStartTime sets the StartTime field's value.
  49780. func (s *ReportInstanceStatusInput) SetStartTime(v time.Time) *ReportInstanceStatusInput {
  49781. s.StartTime = &v
  49782. return s
  49783. }
  49784. // SetStatus sets the Status field's value.
  49785. func (s *ReportInstanceStatusInput) SetStatus(v string) *ReportInstanceStatusInput {
  49786. s.Status = &v
  49787. return s
  49788. }
  49789. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReportInstanceStatusOutput
  49790. type ReportInstanceStatusOutput struct {
  49791. _ struct{} `type:"structure"`
  49792. }
  49793. // String returns the string representation
  49794. func (s ReportInstanceStatusOutput) String() string {
  49795. return awsutil.Prettify(s)
  49796. }
  49797. // GoString returns the string representation
  49798. func (s ReportInstanceStatusOutput) GoString() string {
  49799. return s.String()
  49800. }
  49801. // The information to include in the launch template.
  49802. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestLaunchTemplateData
  49803. type RequestLaunchTemplateData struct {
  49804. _ struct{} `type:"structure"`
  49805. // The block device mapping.
  49806. //
  49807. // Supplying both a snapshot ID and an encryption value as arguments for block-device
  49808. // mapping results in an error. This is because only blank volumes can be encrypted
  49809. // on start, and these are not created from a snapshot. If a snapshot is the
  49810. // basis for the volume, it contains data by definition and its encryption status
  49811. // cannot be changed using this action.
  49812. BlockDeviceMappings []*LaunchTemplateBlockDeviceMappingRequest `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
  49813. // The credit option for CPU usage of the instance. Valid for T2 instances only.
  49814. CreditSpecification *CreditSpecificationRequest `type:"structure"`
  49815. // If set to true, you can't terminate the instance using the Amazon EC2 console,
  49816. // CLI, or API. To change this attribute to false after launch, use ModifyInstanceAttribute.
  49817. DisableApiTermination *bool `type:"boolean"`
  49818. // Indicates whether the instance is optimized for Amazon EBS I/O. This optimization
  49819. // provides dedicated throughput to Amazon EBS and an optimized configuration
  49820. // stack to provide optimal Amazon EBS I/O performance. This optimization isn't
  49821. // available with all instance types. Additional usage charges apply when using
  49822. // an EBS-optimized instance.
  49823. EbsOptimized *bool `type:"boolean"`
  49824. // An elastic GPU to associate with the instance.
  49825. ElasticGpuSpecifications []*ElasticGpuSpecification `locationName:"ElasticGpuSpecification" locationNameList:"ElasticGpuSpecification" type:"list"`
  49826. // The IAM instance profile.
  49827. IamInstanceProfile *LaunchTemplateIamInstanceProfileSpecificationRequest `type:"structure"`
  49828. // The ID of the AMI, which you can get by using DescribeImages.
  49829. ImageId *string `type:"string"`
  49830. // Indicates whether an instance stops or terminates when you initiate shutdown
  49831. // from the instance (using the operating system command for system shutdown).
  49832. //
  49833. // Default: stop
  49834. InstanceInitiatedShutdownBehavior *string `type:"string" enum:"ShutdownBehavior"`
  49835. // The market (purchasing) option for the instances.
  49836. InstanceMarketOptions *LaunchTemplateInstanceMarketOptionsRequest `type:"structure"`
  49837. // The instance type. For more information, see Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
  49838. // in the Amazon Elastic Compute Cloud User Guide.
  49839. InstanceType *string `type:"string" enum:"InstanceType"`
  49840. // The ID of the kernel.
  49841. //
  49842. // We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
  49843. // information, see User Provided Kernels (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
  49844. // in the Amazon Elastic Compute Cloud User Guide.
  49845. KernelId *string `type:"string"`
  49846. // The name of the key pair. You can create a key pair using CreateKeyPair or
  49847. // ImportKeyPair.
  49848. //
  49849. // If you do not specify a key pair, you can't connect to the instance unless
  49850. // you choose an AMI that is configured to allow users another way to log in.
  49851. KeyName *string `type:"string"`
  49852. // The monitoring for the instance.
  49853. Monitoring *LaunchTemplatesMonitoringRequest `type:"structure"`
  49854. // One or more network interfaces.
  49855. NetworkInterfaces []*LaunchTemplateInstanceNetworkInterfaceSpecificationRequest `locationName:"NetworkInterface" locationNameList:"InstanceNetworkInterfaceSpecification" type:"list"`
  49856. // The placement for the instance.
  49857. Placement *LaunchTemplatePlacementRequest `type:"structure"`
  49858. // The ID of the RAM disk.
  49859. //
  49860. // We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
  49861. // information, see User Provided Kernels (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
  49862. // in the Amazon Elastic Compute Cloud User Guide.
  49863. RamDiskId *string `type:"string"`
  49864. // One or more security group IDs. You can create a security group using CreateSecurityGroup.
  49865. // You cannot specify both a security group ID and security name in the same
  49866. // request.
  49867. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  49868. // [EC2-Classic, default VPC] One or more security group names. For a nondefault
  49869. // VPC, you must use security group IDs instead. You cannot specify both a security
  49870. // group ID and security name in the same request.
  49871. SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"SecurityGroup" type:"list"`
  49872. // The tags to apply to the resources during launch. You can tag instances and
  49873. // volumes. The specified tags are applied to all instances or volumes that
  49874. // are created during launch.
  49875. TagSpecifications []*LaunchTemplateTagSpecificationRequest `locationName:"TagSpecification" locationNameList:"LaunchTemplateTagSpecificationRequest" type:"list"`
  49876. // The user data to make available to the instance. For more information, see
  49877. // Running Commands on Your Linux Instance at Launch (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html)
  49878. // (Linux) and Adding User Data (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-add-user-data)
  49879. // (Windows). If you are using a command line tool, base64-encoding is performed
  49880. // for you and you can load the text from a file. Otherwise, you must provide
  49881. // base64-encoded text.
  49882. UserData *string `type:"string"`
  49883. }
  49884. // String returns the string representation
  49885. func (s RequestLaunchTemplateData) String() string {
  49886. return awsutil.Prettify(s)
  49887. }
  49888. // GoString returns the string representation
  49889. func (s RequestLaunchTemplateData) GoString() string {
  49890. return s.String()
  49891. }
  49892. // Validate inspects the fields of the type to determine if they are valid.
  49893. func (s *RequestLaunchTemplateData) Validate() error {
  49894. invalidParams := request.ErrInvalidParams{Context: "RequestLaunchTemplateData"}
  49895. if s.CreditSpecification != nil {
  49896. if err := s.CreditSpecification.Validate(); err != nil {
  49897. invalidParams.AddNested("CreditSpecification", err.(request.ErrInvalidParams))
  49898. }
  49899. }
  49900. if s.ElasticGpuSpecifications != nil {
  49901. for i, v := range s.ElasticGpuSpecifications {
  49902. if v == nil {
  49903. continue
  49904. }
  49905. if err := v.Validate(); err != nil {
  49906. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ElasticGpuSpecifications", i), err.(request.ErrInvalidParams))
  49907. }
  49908. }
  49909. }
  49910. if s.NetworkInterfaces != nil {
  49911. for i, v := range s.NetworkInterfaces {
  49912. if v == nil {
  49913. continue
  49914. }
  49915. if err := v.Validate(); err != nil {
  49916. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NetworkInterfaces", i), err.(request.ErrInvalidParams))
  49917. }
  49918. }
  49919. }
  49920. if invalidParams.Len() > 0 {
  49921. return invalidParams
  49922. }
  49923. return nil
  49924. }
  49925. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  49926. func (s *RequestLaunchTemplateData) SetBlockDeviceMappings(v []*LaunchTemplateBlockDeviceMappingRequest) *RequestLaunchTemplateData {
  49927. s.BlockDeviceMappings = v
  49928. return s
  49929. }
  49930. // SetCreditSpecification sets the CreditSpecification field's value.
  49931. func (s *RequestLaunchTemplateData) SetCreditSpecification(v *CreditSpecificationRequest) *RequestLaunchTemplateData {
  49932. s.CreditSpecification = v
  49933. return s
  49934. }
  49935. // SetDisableApiTermination sets the DisableApiTermination field's value.
  49936. func (s *RequestLaunchTemplateData) SetDisableApiTermination(v bool) *RequestLaunchTemplateData {
  49937. s.DisableApiTermination = &v
  49938. return s
  49939. }
  49940. // SetEbsOptimized sets the EbsOptimized field's value.
  49941. func (s *RequestLaunchTemplateData) SetEbsOptimized(v bool) *RequestLaunchTemplateData {
  49942. s.EbsOptimized = &v
  49943. return s
  49944. }
  49945. // SetElasticGpuSpecifications sets the ElasticGpuSpecifications field's value.
  49946. func (s *RequestLaunchTemplateData) SetElasticGpuSpecifications(v []*ElasticGpuSpecification) *RequestLaunchTemplateData {
  49947. s.ElasticGpuSpecifications = v
  49948. return s
  49949. }
  49950. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  49951. func (s *RequestLaunchTemplateData) SetIamInstanceProfile(v *LaunchTemplateIamInstanceProfileSpecificationRequest) *RequestLaunchTemplateData {
  49952. s.IamInstanceProfile = v
  49953. return s
  49954. }
  49955. // SetImageId sets the ImageId field's value.
  49956. func (s *RequestLaunchTemplateData) SetImageId(v string) *RequestLaunchTemplateData {
  49957. s.ImageId = &v
  49958. return s
  49959. }
  49960. // SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
  49961. func (s *RequestLaunchTemplateData) SetInstanceInitiatedShutdownBehavior(v string) *RequestLaunchTemplateData {
  49962. s.InstanceInitiatedShutdownBehavior = &v
  49963. return s
  49964. }
  49965. // SetInstanceMarketOptions sets the InstanceMarketOptions field's value.
  49966. func (s *RequestLaunchTemplateData) SetInstanceMarketOptions(v *LaunchTemplateInstanceMarketOptionsRequest) *RequestLaunchTemplateData {
  49967. s.InstanceMarketOptions = v
  49968. return s
  49969. }
  49970. // SetInstanceType sets the InstanceType field's value.
  49971. func (s *RequestLaunchTemplateData) SetInstanceType(v string) *RequestLaunchTemplateData {
  49972. s.InstanceType = &v
  49973. return s
  49974. }
  49975. // SetKernelId sets the KernelId field's value.
  49976. func (s *RequestLaunchTemplateData) SetKernelId(v string) *RequestLaunchTemplateData {
  49977. s.KernelId = &v
  49978. return s
  49979. }
  49980. // SetKeyName sets the KeyName field's value.
  49981. func (s *RequestLaunchTemplateData) SetKeyName(v string) *RequestLaunchTemplateData {
  49982. s.KeyName = &v
  49983. return s
  49984. }
  49985. // SetMonitoring sets the Monitoring field's value.
  49986. func (s *RequestLaunchTemplateData) SetMonitoring(v *LaunchTemplatesMonitoringRequest) *RequestLaunchTemplateData {
  49987. s.Monitoring = v
  49988. return s
  49989. }
  49990. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  49991. func (s *RequestLaunchTemplateData) SetNetworkInterfaces(v []*LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) *RequestLaunchTemplateData {
  49992. s.NetworkInterfaces = v
  49993. return s
  49994. }
  49995. // SetPlacement sets the Placement field's value.
  49996. func (s *RequestLaunchTemplateData) SetPlacement(v *LaunchTemplatePlacementRequest) *RequestLaunchTemplateData {
  49997. s.Placement = v
  49998. return s
  49999. }
  50000. // SetRamDiskId sets the RamDiskId field's value.
  50001. func (s *RequestLaunchTemplateData) SetRamDiskId(v string) *RequestLaunchTemplateData {
  50002. s.RamDiskId = &v
  50003. return s
  50004. }
  50005. // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  50006. func (s *RequestLaunchTemplateData) SetSecurityGroupIds(v []*string) *RequestLaunchTemplateData {
  50007. s.SecurityGroupIds = v
  50008. return s
  50009. }
  50010. // SetSecurityGroups sets the SecurityGroups field's value.
  50011. func (s *RequestLaunchTemplateData) SetSecurityGroups(v []*string) *RequestLaunchTemplateData {
  50012. s.SecurityGroups = v
  50013. return s
  50014. }
  50015. // SetTagSpecifications sets the TagSpecifications field's value.
  50016. func (s *RequestLaunchTemplateData) SetTagSpecifications(v []*LaunchTemplateTagSpecificationRequest) *RequestLaunchTemplateData {
  50017. s.TagSpecifications = v
  50018. return s
  50019. }
  50020. // SetUserData sets the UserData field's value.
  50021. func (s *RequestLaunchTemplateData) SetUserData(v string) *RequestLaunchTemplateData {
  50022. s.UserData = &v
  50023. return s
  50024. }
  50025. // Contains the parameters for RequestSpotFleet.
  50026. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotFleetRequest
  50027. type RequestSpotFleetInput struct {
  50028. _ struct{} `type:"structure"`
  50029. // Checks whether you have the required permissions for the action, without
  50030. // actually making the request, and provides an error response. If you have
  50031. // the required permissions, the error response is DryRunOperation. Otherwise,
  50032. // it is UnauthorizedOperation.
  50033. DryRun *bool `locationName:"dryRun" type:"boolean"`
  50034. // The configuration for the Spot Fleet request.
  50035. //
  50036. // SpotFleetRequestConfig is a required field
  50037. SpotFleetRequestConfig *SpotFleetRequestConfigData `locationName:"spotFleetRequestConfig" type:"structure" required:"true"`
  50038. }
  50039. // String returns the string representation
  50040. func (s RequestSpotFleetInput) String() string {
  50041. return awsutil.Prettify(s)
  50042. }
  50043. // GoString returns the string representation
  50044. func (s RequestSpotFleetInput) GoString() string {
  50045. return s.String()
  50046. }
  50047. // Validate inspects the fields of the type to determine if they are valid.
  50048. func (s *RequestSpotFleetInput) Validate() error {
  50049. invalidParams := request.ErrInvalidParams{Context: "RequestSpotFleetInput"}
  50050. if s.SpotFleetRequestConfig == nil {
  50051. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestConfig"))
  50052. }
  50053. if s.SpotFleetRequestConfig != nil {
  50054. if err := s.SpotFleetRequestConfig.Validate(); err != nil {
  50055. invalidParams.AddNested("SpotFleetRequestConfig", err.(request.ErrInvalidParams))
  50056. }
  50057. }
  50058. if invalidParams.Len() > 0 {
  50059. return invalidParams
  50060. }
  50061. return nil
  50062. }
  50063. // SetDryRun sets the DryRun field's value.
  50064. func (s *RequestSpotFleetInput) SetDryRun(v bool) *RequestSpotFleetInput {
  50065. s.DryRun = &v
  50066. return s
  50067. }
  50068. // SetSpotFleetRequestConfig sets the SpotFleetRequestConfig field's value.
  50069. func (s *RequestSpotFleetInput) SetSpotFleetRequestConfig(v *SpotFleetRequestConfigData) *RequestSpotFleetInput {
  50070. s.SpotFleetRequestConfig = v
  50071. return s
  50072. }
  50073. // Contains the output of RequestSpotFleet.
  50074. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotFleetResponse
  50075. type RequestSpotFleetOutput struct {
  50076. _ struct{} `type:"structure"`
  50077. // The ID of the Spot Fleet request.
  50078. //
  50079. // SpotFleetRequestId is a required field
  50080. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  50081. }
  50082. // String returns the string representation
  50083. func (s RequestSpotFleetOutput) String() string {
  50084. return awsutil.Prettify(s)
  50085. }
  50086. // GoString returns the string representation
  50087. func (s RequestSpotFleetOutput) GoString() string {
  50088. return s.String()
  50089. }
  50090. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  50091. func (s *RequestSpotFleetOutput) SetSpotFleetRequestId(v string) *RequestSpotFleetOutput {
  50092. s.SpotFleetRequestId = &v
  50093. return s
  50094. }
  50095. // Contains the parameters for RequestSpotInstances.
  50096. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotInstancesRequest
  50097. type RequestSpotInstancesInput struct {
  50098. _ struct{} `type:"structure"`
  50099. // The user-specified name for a logical grouping of requests.
  50100. //
  50101. // When you specify an Availability Zone group in a Spot Instance request, all
  50102. // Spot Instances in the request are launched in the same Availability Zone.
  50103. // Instance proximity is maintained with this parameter, but the choice of Availability
  50104. // Zone is not. The group applies only to requests for Spot Instances of the
  50105. // same instance type. Any additional Spot Instance requests that are specified
  50106. // with the same Availability Zone group name are launched in that same Availability
  50107. // Zone, as long as at least one instance from the group is still active.
  50108. //
  50109. // If there is no active instance running in the Availability Zone group that
  50110. // you specify for a new Spot Instance request (all instances are terminated,
  50111. // the request is expired, or the maximum price you specified falls below current
  50112. // Spot price), then Amazon EC2 launches the instance in any Availability Zone
  50113. // where the constraint can be met. Consequently, the subsequent set of Spot
  50114. // Instances could be placed in a different zone from the original request,
  50115. // even if you specified the same Availability Zone group.
  50116. //
  50117. // Default: Instances are launched in any available Availability Zone.
  50118. AvailabilityZoneGroup *string `locationName:"availabilityZoneGroup" type:"string"`
  50119. // The required duration for the Spot Instances (also known as Spot blocks),
  50120. // in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
  50121. // or 360).
  50122. //
  50123. // The duration period starts as soon as your Spot Instance receives its instance
  50124. // ID. At the end of the duration period, Amazon EC2 marks the Spot Instance
  50125. // for termination and provides a Spot Instance termination notice, which gives
  50126. // the instance a two-minute warning before it terminates.
  50127. //
  50128. // Note that you can't specify an Availability Zone group or a launch group
  50129. // if you specify a duration.
  50130. BlockDurationMinutes *int64 `locationName:"blockDurationMinutes" type:"integer"`
  50131. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  50132. // of the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  50133. // in the Amazon Elastic Compute Cloud User Guide.
  50134. ClientToken *string `locationName:"clientToken" type:"string"`
  50135. // Checks whether you have the required permissions for the action, without
  50136. // actually making the request, and provides an error response. If you have
  50137. // the required permissions, the error response is DryRunOperation. Otherwise,
  50138. // it is UnauthorizedOperation.
  50139. DryRun *bool `locationName:"dryRun" type:"boolean"`
  50140. // The maximum number of Spot Instances to launch.
  50141. //
  50142. // Default: 1
  50143. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  50144. // The behavior when a Spot Instance is interrupted. The default is terminate.
  50145. InstanceInterruptionBehavior *string `type:"string" enum:"InstanceInterruptionBehavior"`
  50146. // The instance launch group. Launch groups are Spot Instances that launch together
  50147. // and terminate together.
  50148. //
  50149. // Default: Instances are launched and terminated individually
  50150. LaunchGroup *string `locationName:"launchGroup" type:"string"`
  50151. // The launch specification.
  50152. LaunchSpecification *RequestSpotLaunchSpecification `type:"structure"`
  50153. // The maximum price per hour that you are willing to pay for a Spot Instance.
  50154. // The default is the On-Demand price.
  50155. SpotPrice *string `locationName:"spotPrice" type:"string"`
  50156. // The Spot Instance request type.
  50157. //
  50158. // Default: one-time
  50159. Type *string `locationName:"type" type:"string" enum:"SpotInstanceType"`
  50160. // The start date of the request. If this is a one-time request, the request
  50161. // becomes active at this date and time and remains active until all instances
  50162. // launch, the request expires, or the request is canceled. If the request is
  50163. // persistent, the request becomes active at this date and time and remains
  50164. // active until it expires or is canceled.
  50165. ValidFrom *time.Time `locationName:"validFrom" type:"timestamp" timestampFormat:"iso8601"`
  50166. // The end date of the request. If this is a one-time request, the request remains
  50167. // active until all instances launch, the request is canceled, or this date
  50168. // is reached. If the request is persistent, it remains active until it is canceled
  50169. // or this date is reached. The default end date is 7 days from the current
  50170. // date.
  50171. ValidUntil *time.Time `locationName:"validUntil" type:"timestamp" timestampFormat:"iso8601"`
  50172. }
  50173. // String returns the string representation
  50174. func (s RequestSpotInstancesInput) String() string {
  50175. return awsutil.Prettify(s)
  50176. }
  50177. // GoString returns the string representation
  50178. func (s RequestSpotInstancesInput) GoString() string {
  50179. return s.String()
  50180. }
  50181. // Validate inspects the fields of the type to determine if they are valid.
  50182. func (s *RequestSpotInstancesInput) Validate() error {
  50183. invalidParams := request.ErrInvalidParams{Context: "RequestSpotInstancesInput"}
  50184. if s.LaunchSpecification != nil {
  50185. if err := s.LaunchSpecification.Validate(); err != nil {
  50186. invalidParams.AddNested("LaunchSpecification", err.(request.ErrInvalidParams))
  50187. }
  50188. }
  50189. if invalidParams.Len() > 0 {
  50190. return invalidParams
  50191. }
  50192. return nil
  50193. }
  50194. // SetAvailabilityZoneGroup sets the AvailabilityZoneGroup field's value.
  50195. func (s *RequestSpotInstancesInput) SetAvailabilityZoneGroup(v string) *RequestSpotInstancesInput {
  50196. s.AvailabilityZoneGroup = &v
  50197. return s
  50198. }
  50199. // SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
  50200. func (s *RequestSpotInstancesInput) SetBlockDurationMinutes(v int64) *RequestSpotInstancesInput {
  50201. s.BlockDurationMinutes = &v
  50202. return s
  50203. }
  50204. // SetClientToken sets the ClientToken field's value.
  50205. func (s *RequestSpotInstancesInput) SetClientToken(v string) *RequestSpotInstancesInput {
  50206. s.ClientToken = &v
  50207. return s
  50208. }
  50209. // SetDryRun sets the DryRun field's value.
  50210. func (s *RequestSpotInstancesInput) SetDryRun(v bool) *RequestSpotInstancesInput {
  50211. s.DryRun = &v
  50212. return s
  50213. }
  50214. // SetInstanceCount sets the InstanceCount field's value.
  50215. func (s *RequestSpotInstancesInput) SetInstanceCount(v int64) *RequestSpotInstancesInput {
  50216. s.InstanceCount = &v
  50217. return s
  50218. }
  50219. // SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
  50220. func (s *RequestSpotInstancesInput) SetInstanceInterruptionBehavior(v string) *RequestSpotInstancesInput {
  50221. s.InstanceInterruptionBehavior = &v
  50222. return s
  50223. }
  50224. // SetLaunchGroup sets the LaunchGroup field's value.
  50225. func (s *RequestSpotInstancesInput) SetLaunchGroup(v string) *RequestSpotInstancesInput {
  50226. s.LaunchGroup = &v
  50227. return s
  50228. }
  50229. // SetLaunchSpecification sets the LaunchSpecification field's value.
  50230. func (s *RequestSpotInstancesInput) SetLaunchSpecification(v *RequestSpotLaunchSpecification) *RequestSpotInstancesInput {
  50231. s.LaunchSpecification = v
  50232. return s
  50233. }
  50234. // SetSpotPrice sets the SpotPrice field's value.
  50235. func (s *RequestSpotInstancesInput) SetSpotPrice(v string) *RequestSpotInstancesInput {
  50236. s.SpotPrice = &v
  50237. return s
  50238. }
  50239. // SetType sets the Type field's value.
  50240. func (s *RequestSpotInstancesInput) SetType(v string) *RequestSpotInstancesInput {
  50241. s.Type = &v
  50242. return s
  50243. }
  50244. // SetValidFrom sets the ValidFrom field's value.
  50245. func (s *RequestSpotInstancesInput) SetValidFrom(v time.Time) *RequestSpotInstancesInput {
  50246. s.ValidFrom = &v
  50247. return s
  50248. }
  50249. // SetValidUntil sets the ValidUntil field's value.
  50250. func (s *RequestSpotInstancesInput) SetValidUntil(v time.Time) *RequestSpotInstancesInput {
  50251. s.ValidUntil = &v
  50252. return s
  50253. }
  50254. // Contains the output of RequestSpotInstances.
  50255. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotInstancesResult
  50256. type RequestSpotInstancesOutput struct {
  50257. _ struct{} `type:"structure"`
  50258. // One or more Spot Instance requests.
  50259. SpotInstanceRequests []*SpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
  50260. }
  50261. // String returns the string representation
  50262. func (s RequestSpotInstancesOutput) String() string {
  50263. return awsutil.Prettify(s)
  50264. }
  50265. // GoString returns the string representation
  50266. func (s RequestSpotInstancesOutput) GoString() string {
  50267. return s.String()
  50268. }
  50269. // SetSpotInstanceRequests sets the SpotInstanceRequests field's value.
  50270. func (s *RequestSpotInstancesOutput) SetSpotInstanceRequests(v []*SpotInstanceRequest) *RequestSpotInstancesOutput {
  50271. s.SpotInstanceRequests = v
  50272. return s
  50273. }
  50274. // Describes the launch specification for an instance.
  50275. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotLaunchSpecification
  50276. type RequestSpotLaunchSpecification struct {
  50277. _ struct{} `type:"structure"`
  50278. // Deprecated.
  50279. AddressingType *string `locationName:"addressingType" type:"string"`
  50280. // One or more block device mapping entries. You can't specify both a snapshot
  50281. // ID and an encryption value. This is because only blank volumes can be encrypted
  50282. // on creation. If a snapshot is the basis for a volume, it is not blank and
  50283. // its encryption status is used for the volume encryption status.
  50284. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  50285. // Indicates whether the instance is optimized for EBS I/O. This optimization
  50286. // provides dedicated throughput to Amazon EBS and an optimized configuration
  50287. // stack to provide optimal EBS I/O performance. This optimization isn't available
  50288. // with all instance types. Additional usage charges apply when using an EBS
  50289. // Optimized instance.
  50290. //
  50291. // Default: false
  50292. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  50293. // The IAM instance profile.
  50294. IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
  50295. // The ID of the AMI.
  50296. ImageId *string `locationName:"imageId" type:"string"`
  50297. // The instance type.
  50298. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  50299. // The ID of the kernel.
  50300. KernelId *string `locationName:"kernelId" type:"string"`
  50301. // The name of the key pair.
  50302. KeyName *string `locationName:"keyName" type:"string"`
  50303. // Indicates whether basic or detailed monitoring is enabled for the instance.
  50304. //
  50305. // Default: Disabled
  50306. Monitoring *RunInstancesMonitoringEnabled `locationName:"monitoring" type:"structure"`
  50307. // One or more network interfaces. If you specify a network interface, you must
  50308. // specify subnet IDs and security group IDs using the network interface.
  50309. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"NetworkInterface" locationNameList:"item" type:"list"`
  50310. // The placement information for the instance.
  50311. Placement *SpotPlacement `locationName:"placement" type:"structure"`
  50312. // The ID of the RAM disk.
  50313. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  50314. // One or more security group IDs.
  50315. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list"`
  50316. // One or more security groups. When requesting instances in a VPC, you must
  50317. // specify the IDs of the security groups. When requesting instances in EC2-Classic,
  50318. // you can specify the names or the IDs of the security groups.
  50319. SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"item" type:"list"`
  50320. // The ID of the subnet in which to launch the instance.
  50321. SubnetId *string `locationName:"subnetId" type:"string"`
  50322. // The user data to make available to the instances. If you are using an AWS
  50323. // SDK or command line tool, Base64-encoding is performed for you, and you can
  50324. // load the text from a file. Otherwise, you must provide Base64-encoded text.
  50325. UserData *string `locationName:"userData" type:"string"`
  50326. }
  50327. // String returns the string representation
  50328. func (s RequestSpotLaunchSpecification) String() string {
  50329. return awsutil.Prettify(s)
  50330. }
  50331. // GoString returns the string representation
  50332. func (s RequestSpotLaunchSpecification) GoString() string {
  50333. return s.String()
  50334. }
  50335. // Validate inspects the fields of the type to determine if they are valid.
  50336. func (s *RequestSpotLaunchSpecification) Validate() error {
  50337. invalidParams := request.ErrInvalidParams{Context: "RequestSpotLaunchSpecification"}
  50338. if s.Monitoring != nil {
  50339. if err := s.Monitoring.Validate(); err != nil {
  50340. invalidParams.AddNested("Monitoring", err.(request.ErrInvalidParams))
  50341. }
  50342. }
  50343. if s.NetworkInterfaces != nil {
  50344. for i, v := range s.NetworkInterfaces {
  50345. if v == nil {
  50346. continue
  50347. }
  50348. if err := v.Validate(); err != nil {
  50349. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NetworkInterfaces", i), err.(request.ErrInvalidParams))
  50350. }
  50351. }
  50352. }
  50353. if invalidParams.Len() > 0 {
  50354. return invalidParams
  50355. }
  50356. return nil
  50357. }
  50358. // SetAddressingType sets the AddressingType field's value.
  50359. func (s *RequestSpotLaunchSpecification) SetAddressingType(v string) *RequestSpotLaunchSpecification {
  50360. s.AddressingType = &v
  50361. return s
  50362. }
  50363. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  50364. func (s *RequestSpotLaunchSpecification) SetBlockDeviceMappings(v []*BlockDeviceMapping) *RequestSpotLaunchSpecification {
  50365. s.BlockDeviceMappings = v
  50366. return s
  50367. }
  50368. // SetEbsOptimized sets the EbsOptimized field's value.
  50369. func (s *RequestSpotLaunchSpecification) SetEbsOptimized(v bool) *RequestSpotLaunchSpecification {
  50370. s.EbsOptimized = &v
  50371. return s
  50372. }
  50373. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  50374. func (s *RequestSpotLaunchSpecification) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *RequestSpotLaunchSpecification {
  50375. s.IamInstanceProfile = v
  50376. return s
  50377. }
  50378. // SetImageId sets the ImageId field's value.
  50379. func (s *RequestSpotLaunchSpecification) SetImageId(v string) *RequestSpotLaunchSpecification {
  50380. s.ImageId = &v
  50381. return s
  50382. }
  50383. // SetInstanceType sets the InstanceType field's value.
  50384. func (s *RequestSpotLaunchSpecification) SetInstanceType(v string) *RequestSpotLaunchSpecification {
  50385. s.InstanceType = &v
  50386. return s
  50387. }
  50388. // SetKernelId sets the KernelId field's value.
  50389. func (s *RequestSpotLaunchSpecification) SetKernelId(v string) *RequestSpotLaunchSpecification {
  50390. s.KernelId = &v
  50391. return s
  50392. }
  50393. // SetKeyName sets the KeyName field's value.
  50394. func (s *RequestSpotLaunchSpecification) SetKeyName(v string) *RequestSpotLaunchSpecification {
  50395. s.KeyName = &v
  50396. return s
  50397. }
  50398. // SetMonitoring sets the Monitoring field's value.
  50399. func (s *RequestSpotLaunchSpecification) SetMonitoring(v *RunInstancesMonitoringEnabled) *RequestSpotLaunchSpecification {
  50400. s.Monitoring = v
  50401. return s
  50402. }
  50403. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  50404. func (s *RequestSpotLaunchSpecification) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *RequestSpotLaunchSpecification {
  50405. s.NetworkInterfaces = v
  50406. return s
  50407. }
  50408. // SetPlacement sets the Placement field's value.
  50409. func (s *RequestSpotLaunchSpecification) SetPlacement(v *SpotPlacement) *RequestSpotLaunchSpecification {
  50410. s.Placement = v
  50411. return s
  50412. }
  50413. // SetRamdiskId sets the RamdiskId field's value.
  50414. func (s *RequestSpotLaunchSpecification) SetRamdiskId(v string) *RequestSpotLaunchSpecification {
  50415. s.RamdiskId = &v
  50416. return s
  50417. }
  50418. // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  50419. func (s *RequestSpotLaunchSpecification) SetSecurityGroupIds(v []*string) *RequestSpotLaunchSpecification {
  50420. s.SecurityGroupIds = v
  50421. return s
  50422. }
  50423. // SetSecurityGroups sets the SecurityGroups field's value.
  50424. func (s *RequestSpotLaunchSpecification) SetSecurityGroups(v []*string) *RequestSpotLaunchSpecification {
  50425. s.SecurityGroups = v
  50426. return s
  50427. }
  50428. // SetSubnetId sets the SubnetId field's value.
  50429. func (s *RequestSpotLaunchSpecification) SetSubnetId(v string) *RequestSpotLaunchSpecification {
  50430. s.SubnetId = &v
  50431. return s
  50432. }
  50433. // SetUserData sets the UserData field's value.
  50434. func (s *RequestSpotLaunchSpecification) SetUserData(v string) *RequestSpotLaunchSpecification {
  50435. s.UserData = &v
  50436. return s
  50437. }
  50438. // Describes a reservation.
  50439. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Reservation
  50440. type Reservation struct {
  50441. _ struct{} `type:"structure"`
  50442. // [EC2-Classic only] One or more security groups.
  50443. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  50444. // One or more instances.
  50445. Instances []*Instance `locationName:"instancesSet" locationNameList:"item" type:"list"`
  50446. // The ID of the AWS account that owns the reservation.
  50447. OwnerId *string `locationName:"ownerId" type:"string"`
  50448. // The ID of the requester that launched the instances on your behalf (for example,
  50449. // AWS Management Console or Auto Scaling).
  50450. RequesterId *string `locationName:"requesterId" type:"string"`
  50451. // The ID of the reservation.
  50452. ReservationId *string `locationName:"reservationId" type:"string"`
  50453. }
  50454. // String returns the string representation
  50455. func (s Reservation) String() string {
  50456. return awsutil.Prettify(s)
  50457. }
  50458. // GoString returns the string representation
  50459. func (s Reservation) GoString() string {
  50460. return s.String()
  50461. }
  50462. // SetGroups sets the Groups field's value.
  50463. func (s *Reservation) SetGroups(v []*GroupIdentifier) *Reservation {
  50464. s.Groups = v
  50465. return s
  50466. }
  50467. // SetInstances sets the Instances field's value.
  50468. func (s *Reservation) SetInstances(v []*Instance) *Reservation {
  50469. s.Instances = v
  50470. return s
  50471. }
  50472. // SetOwnerId sets the OwnerId field's value.
  50473. func (s *Reservation) SetOwnerId(v string) *Reservation {
  50474. s.OwnerId = &v
  50475. return s
  50476. }
  50477. // SetRequesterId sets the RequesterId field's value.
  50478. func (s *Reservation) SetRequesterId(v string) *Reservation {
  50479. s.RequesterId = &v
  50480. return s
  50481. }
  50482. // SetReservationId sets the ReservationId field's value.
  50483. func (s *Reservation) SetReservationId(v string) *Reservation {
  50484. s.ReservationId = &v
  50485. return s
  50486. }
  50487. // The cost associated with the Reserved Instance.
  50488. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReservationValue
  50489. type ReservationValue struct {
  50490. _ struct{} `type:"structure"`
  50491. // The hourly rate of the reservation.
  50492. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  50493. // The balance of the total value (the sum of remainingUpfrontValue + hourlyPrice
  50494. // * number of hours remaining).
  50495. RemainingTotalValue *string `locationName:"remainingTotalValue" type:"string"`
  50496. // The remaining upfront cost of the reservation.
  50497. RemainingUpfrontValue *string `locationName:"remainingUpfrontValue" type:"string"`
  50498. }
  50499. // String returns the string representation
  50500. func (s ReservationValue) String() string {
  50501. return awsutil.Prettify(s)
  50502. }
  50503. // GoString returns the string representation
  50504. func (s ReservationValue) GoString() string {
  50505. return s.String()
  50506. }
  50507. // SetHourlyPrice sets the HourlyPrice field's value.
  50508. func (s *ReservationValue) SetHourlyPrice(v string) *ReservationValue {
  50509. s.HourlyPrice = &v
  50510. return s
  50511. }
  50512. // SetRemainingTotalValue sets the RemainingTotalValue field's value.
  50513. func (s *ReservationValue) SetRemainingTotalValue(v string) *ReservationValue {
  50514. s.RemainingTotalValue = &v
  50515. return s
  50516. }
  50517. // SetRemainingUpfrontValue sets the RemainingUpfrontValue field's value.
  50518. func (s *ReservationValue) SetRemainingUpfrontValue(v string) *ReservationValue {
  50519. s.RemainingUpfrontValue = &v
  50520. return s
  50521. }
  50522. // Describes the limit price of a Reserved Instance offering.
  50523. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReservedInstanceLimitPrice
  50524. type ReservedInstanceLimitPrice struct {
  50525. _ struct{} `type:"structure"`
  50526. // Used for Reserved Instance Marketplace offerings. Specifies the limit price
  50527. // on the total order (instanceCount * price).
  50528. Amount *float64 `locationName:"amount" type:"double"`
  50529. // The currency in which the limitPrice amount is specified. At this time, the
  50530. // only supported currency is USD.
  50531. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  50532. }
  50533. // String returns the string representation
  50534. func (s ReservedInstanceLimitPrice) String() string {
  50535. return awsutil.Prettify(s)
  50536. }
  50537. // GoString returns the string representation
  50538. func (s ReservedInstanceLimitPrice) GoString() string {
  50539. return s.String()
  50540. }
  50541. // SetAmount sets the Amount field's value.
  50542. func (s *ReservedInstanceLimitPrice) SetAmount(v float64) *ReservedInstanceLimitPrice {
  50543. s.Amount = &v
  50544. return s
  50545. }
  50546. // SetCurrencyCode sets the CurrencyCode field's value.
  50547. func (s *ReservedInstanceLimitPrice) SetCurrencyCode(v string) *ReservedInstanceLimitPrice {
  50548. s.CurrencyCode = &v
  50549. return s
  50550. }
  50551. // The total value of the Convertible Reserved Instance.
  50552. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReservedInstanceReservationValue
  50553. type ReservedInstanceReservationValue struct {
  50554. _ struct{} `type:"structure"`
  50555. // The total value of the Convertible Reserved Instance that you are exchanging.
  50556. ReservationValue *ReservationValue `locationName:"reservationValue" type:"structure"`
  50557. // The ID of the Convertible Reserved Instance that you are exchanging.
  50558. ReservedInstanceId *string `locationName:"reservedInstanceId" type:"string"`
  50559. }
  50560. // String returns the string representation
  50561. func (s ReservedInstanceReservationValue) String() string {
  50562. return awsutil.Prettify(s)
  50563. }
  50564. // GoString returns the string representation
  50565. func (s ReservedInstanceReservationValue) GoString() string {
  50566. return s.String()
  50567. }
  50568. // SetReservationValue sets the ReservationValue field's value.
  50569. func (s *ReservedInstanceReservationValue) SetReservationValue(v *ReservationValue) *ReservedInstanceReservationValue {
  50570. s.ReservationValue = v
  50571. return s
  50572. }
  50573. // SetReservedInstanceId sets the ReservedInstanceId field's value.
  50574. func (s *ReservedInstanceReservationValue) SetReservedInstanceId(v string) *ReservedInstanceReservationValue {
  50575. s.ReservedInstanceId = &v
  50576. return s
  50577. }
  50578. // Describes a Reserved Instance.
  50579. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReservedInstances
  50580. type ReservedInstances struct {
  50581. _ struct{} `type:"structure"`
  50582. // The Availability Zone in which the Reserved Instance can be used.
  50583. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  50584. // The currency of the Reserved Instance. It's specified using ISO 4217 standard
  50585. // currency codes. At this time, the only supported currency is USD.
  50586. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  50587. // The duration of the Reserved Instance, in seconds.
  50588. Duration *int64 `locationName:"duration" type:"long"`
  50589. // The time when the Reserved Instance expires.
  50590. End *time.Time `locationName:"end" type:"timestamp" timestampFormat:"iso8601"`
  50591. // The purchase price of the Reserved Instance.
  50592. FixedPrice *float64 `locationName:"fixedPrice" type:"float"`
  50593. // The number of reservations purchased.
  50594. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  50595. // The tenancy of the instance.
  50596. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  50597. // The instance type on which the Reserved Instance can be used.
  50598. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  50599. // The offering class of the Reserved Instance.
  50600. OfferingClass *string `locationName:"offeringClass" type:"string" enum:"OfferingClassType"`
  50601. // The Reserved Instance offering type.
  50602. OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
  50603. // The Reserved Instance product platform description.
  50604. ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
  50605. // The recurring charge tag assigned to the resource.
  50606. RecurringCharges []*RecurringCharge `locationName:"recurringCharges" locationNameList:"item" type:"list"`
  50607. // The ID of the Reserved Instance.
  50608. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  50609. // The scope of the Reserved Instance.
  50610. Scope *string `locationName:"scope" type:"string" enum:"scope"`
  50611. // The date and time the Reserved Instance started.
  50612. Start *time.Time `locationName:"start" type:"timestamp" timestampFormat:"iso8601"`
  50613. // The state of the Reserved Instance purchase.
  50614. State *string `locationName:"state" type:"string" enum:"ReservedInstanceState"`
  50615. // Any tags assigned to the resource.
  50616. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  50617. // The usage price of the Reserved Instance, per hour.
  50618. UsagePrice *float64 `locationName:"usagePrice" type:"float"`
  50619. }
  50620. // String returns the string representation
  50621. func (s ReservedInstances) String() string {
  50622. return awsutil.Prettify(s)
  50623. }
  50624. // GoString returns the string representation
  50625. func (s ReservedInstances) GoString() string {
  50626. return s.String()
  50627. }
  50628. // SetAvailabilityZone sets the AvailabilityZone field's value.
  50629. func (s *ReservedInstances) SetAvailabilityZone(v string) *ReservedInstances {
  50630. s.AvailabilityZone = &v
  50631. return s
  50632. }
  50633. // SetCurrencyCode sets the CurrencyCode field's value.
  50634. func (s *ReservedInstances) SetCurrencyCode(v string) *ReservedInstances {
  50635. s.CurrencyCode = &v
  50636. return s
  50637. }
  50638. // SetDuration sets the Duration field's value.
  50639. func (s *ReservedInstances) SetDuration(v int64) *ReservedInstances {
  50640. s.Duration = &v
  50641. return s
  50642. }
  50643. // SetEnd sets the End field's value.
  50644. func (s *ReservedInstances) SetEnd(v time.Time) *ReservedInstances {
  50645. s.End = &v
  50646. return s
  50647. }
  50648. // SetFixedPrice sets the FixedPrice field's value.
  50649. func (s *ReservedInstances) SetFixedPrice(v float64) *ReservedInstances {
  50650. s.FixedPrice = &v
  50651. return s
  50652. }
  50653. // SetInstanceCount sets the InstanceCount field's value.
  50654. func (s *ReservedInstances) SetInstanceCount(v int64) *ReservedInstances {
  50655. s.InstanceCount = &v
  50656. return s
  50657. }
  50658. // SetInstanceTenancy sets the InstanceTenancy field's value.
  50659. func (s *ReservedInstances) SetInstanceTenancy(v string) *ReservedInstances {
  50660. s.InstanceTenancy = &v
  50661. return s
  50662. }
  50663. // SetInstanceType sets the InstanceType field's value.
  50664. func (s *ReservedInstances) SetInstanceType(v string) *ReservedInstances {
  50665. s.InstanceType = &v
  50666. return s
  50667. }
  50668. // SetOfferingClass sets the OfferingClass field's value.
  50669. func (s *ReservedInstances) SetOfferingClass(v string) *ReservedInstances {
  50670. s.OfferingClass = &v
  50671. return s
  50672. }
  50673. // SetOfferingType sets the OfferingType field's value.
  50674. func (s *ReservedInstances) SetOfferingType(v string) *ReservedInstances {
  50675. s.OfferingType = &v
  50676. return s
  50677. }
  50678. // SetProductDescription sets the ProductDescription field's value.
  50679. func (s *ReservedInstances) SetProductDescription(v string) *ReservedInstances {
  50680. s.ProductDescription = &v
  50681. return s
  50682. }
  50683. // SetRecurringCharges sets the RecurringCharges field's value.
  50684. func (s *ReservedInstances) SetRecurringCharges(v []*RecurringCharge) *ReservedInstances {
  50685. s.RecurringCharges = v
  50686. return s
  50687. }
  50688. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  50689. func (s *ReservedInstances) SetReservedInstancesId(v string) *ReservedInstances {
  50690. s.ReservedInstancesId = &v
  50691. return s
  50692. }
  50693. // SetScope sets the Scope field's value.
  50694. func (s *ReservedInstances) SetScope(v string) *ReservedInstances {
  50695. s.Scope = &v
  50696. return s
  50697. }
  50698. // SetStart sets the Start field's value.
  50699. func (s *ReservedInstances) SetStart(v time.Time) *ReservedInstances {
  50700. s.Start = &v
  50701. return s
  50702. }
  50703. // SetState sets the State field's value.
  50704. func (s *ReservedInstances) SetState(v string) *ReservedInstances {
  50705. s.State = &v
  50706. return s
  50707. }
  50708. // SetTags sets the Tags field's value.
  50709. func (s *ReservedInstances) SetTags(v []*Tag) *ReservedInstances {
  50710. s.Tags = v
  50711. return s
  50712. }
  50713. // SetUsagePrice sets the UsagePrice field's value.
  50714. func (s *ReservedInstances) SetUsagePrice(v float64) *ReservedInstances {
  50715. s.UsagePrice = &v
  50716. return s
  50717. }
  50718. // Describes the configuration settings for the modified Reserved Instances.
  50719. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReservedInstancesConfiguration
  50720. type ReservedInstancesConfiguration struct {
  50721. _ struct{} `type:"structure"`
  50722. // The Availability Zone for the modified Reserved Instances.
  50723. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  50724. // The number of modified Reserved Instances.
  50725. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  50726. // The instance type for the modified Reserved Instances.
  50727. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  50728. // The network platform of the modified Reserved Instances, which is either
  50729. // EC2-Classic or EC2-VPC.
  50730. Platform *string `locationName:"platform" type:"string"`
  50731. // Whether the Reserved Instance is applied to instances in a region or instances
  50732. // in a specific Availability Zone.
  50733. Scope *string `locationName:"scope" type:"string" enum:"scope"`
  50734. }
  50735. // String returns the string representation
  50736. func (s ReservedInstancesConfiguration) String() string {
  50737. return awsutil.Prettify(s)
  50738. }
  50739. // GoString returns the string representation
  50740. func (s ReservedInstancesConfiguration) GoString() string {
  50741. return s.String()
  50742. }
  50743. // SetAvailabilityZone sets the AvailabilityZone field's value.
  50744. func (s *ReservedInstancesConfiguration) SetAvailabilityZone(v string) *ReservedInstancesConfiguration {
  50745. s.AvailabilityZone = &v
  50746. return s
  50747. }
  50748. // SetInstanceCount sets the InstanceCount field's value.
  50749. func (s *ReservedInstancesConfiguration) SetInstanceCount(v int64) *ReservedInstancesConfiguration {
  50750. s.InstanceCount = &v
  50751. return s
  50752. }
  50753. // SetInstanceType sets the InstanceType field's value.
  50754. func (s *ReservedInstancesConfiguration) SetInstanceType(v string) *ReservedInstancesConfiguration {
  50755. s.InstanceType = &v
  50756. return s
  50757. }
  50758. // SetPlatform sets the Platform field's value.
  50759. func (s *ReservedInstancesConfiguration) SetPlatform(v string) *ReservedInstancesConfiguration {
  50760. s.Platform = &v
  50761. return s
  50762. }
  50763. // SetScope sets the Scope field's value.
  50764. func (s *ReservedInstancesConfiguration) SetScope(v string) *ReservedInstancesConfiguration {
  50765. s.Scope = &v
  50766. return s
  50767. }
  50768. // Describes the ID of a Reserved Instance.
  50769. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReservedInstancesId
  50770. type ReservedInstancesId struct {
  50771. _ struct{} `type:"structure"`
  50772. // The ID of the Reserved Instance.
  50773. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  50774. }
  50775. // String returns the string representation
  50776. func (s ReservedInstancesId) String() string {
  50777. return awsutil.Prettify(s)
  50778. }
  50779. // GoString returns the string representation
  50780. func (s ReservedInstancesId) GoString() string {
  50781. return s.String()
  50782. }
  50783. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  50784. func (s *ReservedInstancesId) SetReservedInstancesId(v string) *ReservedInstancesId {
  50785. s.ReservedInstancesId = &v
  50786. return s
  50787. }
  50788. // Describes a Reserved Instance listing.
  50789. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReservedInstancesListing
  50790. type ReservedInstancesListing struct {
  50791. _ struct{} `type:"structure"`
  50792. // A unique, case-sensitive key supplied by the client to ensure that the request
  50793. // is idempotent. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  50794. ClientToken *string `locationName:"clientToken" type:"string"`
  50795. // The time the listing was created.
  50796. CreateDate *time.Time `locationName:"createDate" type:"timestamp" timestampFormat:"iso8601"`
  50797. // The number of instances in this state.
  50798. InstanceCounts []*InstanceCount `locationName:"instanceCounts" locationNameList:"item" type:"list"`
  50799. // The price of the Reserved Instance listing.
  50800. PriceSchedules []*PriceSchedule `locationName:"priceSchedules" locationNameList:"item" type:"list"`
  50801. // The ID of the Reserved Instance.
  50802. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  50803. // The ID of the Reserved Instance listing.
  50804. ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string"`
  50805. // The status of the Reserved Instance listing.
  50806. Status *string `locationName:"status" type:"string" enum:"ListingStatus"`
  50807. // The reason for the current status of the Reserved Instance listing. The response
  50808. // can be blank.
  50809. StatusMessage *string `locationName:"statusMessage" type:"string"`
  50810. // Any tags assigned to the resource.
  50811. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  50812. // The last modified timestamp of the listing.
  50813. UpdateDate *time.Time `locationName:"updateDate" type:"timestamp" timestampFormat:"iso8601"`
  50814. }
  50815. // String returns the string representation
  50816. func (s ReservedInstancesListing) String() string {
  50817. return awsutil.Prettify(s)
  50818. }
  50819. // GoString returns the string representation
  50820. func (s ReservedInstancesListing) GoString() string {
  50821. return s.String()
  50822. }
  50823. // SetClientToken sets the ClientToken field's value.
  50824. func (s *ReservedInstancesListing) SetClientToken(v string) *ReservedInstancesListing {
  50825. s.ClientToken = &v
  50826. return s
  50827. }
  50828. // SetCreateDate sets the CreateDate field's value.
  50829. func (s *ReservedInstancesListing) SetCreateDate(v time.Time) *ReservedInstancesListing {
  50830. s.CreateDate = &v
  50831. return s
  50832. }
  50833. // SetInstanceCounts sets the InstanceCounts field's value.
  50834. func (s *ReservedInstancesListing) SetInstanceCounts(v []*InstanceCount) *ReservedInstancesListing {
  50835. s.InstanceCounts = v
  50836. return s
  50837. }
  50838. // SetPriceSchedules sets the PriceSchedules field's value.
  50839. func (s *ReservedInstancesListing) SetPriceSchedules(v []*PriceSchedule) *ReservedInstancesListing {
  50840. s.PriceSchedules = v
  50841. return s
  50842. }
  50843. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  50844. func (s *ReservedInstancesListing) SetReservedInstancesId(v string) *ReservedInstancesListing {
  50845. s.ReservedInstancesId = &v
  50846. return s
  50847. }
  50848. // SetReservedInstancesListingId sets the ReservedInstancesListingId field's value.
  50849. func (s *ReservedInstancesListing) SetReservedInstancesListingId(v string) *ReservedInstancesListing {
  50850. s.ReservedInstancesListingId = &v
  50851. return s
  50852. }
  50853. // SetStatus sets the Status field's value.
  50854. func (s *ReservedInstancesListing) SetStatus(v string) *ReservedInstancesListing {
  50855. s.Status = &v
  50856. return s
  50857. }
  50858. // SetStatusMessage sets the StatusMessage field's value.
  50859. func (s *ReservedInstancesListing) SetStatusMessage(v string) *ReservedInstancesListing {
  50860. s.StatusMessage = &v
  50861. return s
  50862. }
  50863. // SetTags sets the Tags field's value.
  50864. func (s *ReservedInstancesListing) SetTags(v []*Tag) *ReservedInstancesListing {
  50865. s.Tags = v
  50866. return s
  50867. }
  50868. // SetUpdateDate sets the UpdateDate field's value.
  50869. func (s *ReservedInstancesListing) SetUpdateDate(v time.Time) *ReservedInstancesListing {
  50870. s.UpdateDate = &v
  50871. return s
  50872. }
  50873. // Describes a Reserved Instance modification.
  50874. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReservedInstancesModification
  50875. type ReservedInstancesModification struct {
  50876. _ struct{} `type:"structure"`
  50877. // A unique, case-sensitive key supplied by the client to ensure that the request
  50878. // is idempotent. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  50879. ClientToken *string `locationName:"clientToken" type:"string"`
  50880. // The time when the modification request was created.
  50881. CreateDate *time.Time `locationName:"createDate" type:"timestamp" timestampFormat:"iso8601"`
  50882. // The time for the modification to become effective.
  50883. EffectiveDate *time.Time `locationName:"effectiveDate" type:"timestamp" timestampFormat:"iso8601"`
  50884. // Contains target configurations along with their corresponding new Reserved
  50885. // Instance IDs.
  50886. ModificationResults []*ReservedInstancesModificationResult `locationName:"modificationResultSet" locationNameList:"item" type:"list"`
  50887. // The IDs of one or more Reserved Instances.
  50888. ReservedInstancesIds []*ReservedInstancesId `locationName:"reservedInstancesSet" locationNameList:"item" type:"list"`
  50889. // A unique ID for the Reserved Instance modification.
  50890. ReservedInstancesModificationId *string `locationName:"reservedInstancesModificationId" type:"string"`
  50891. // The status of the Reserved Instances modification request.
  50892. Status *string `locationName:"status" type:"string"`
  50893. // The reason for the status.
  50894. StatusMessage *string `locationName:"statusMessage" type:"string"`
  50895. // The time when the modification request was last updated.
  50896. UpdateDate *time.Time `locationName:"updateDate" type:"timestamp" timestampFormat:"iso8601"`
  50897. }
  50898. // String returns the string representation
  50899. func (s ReservedInstancesModification) String() string {
  50900. return awsutil.Prettify(s)
  50901. }
  50902. // GoString returns the string representation
  50903. func (s ReservedInstancesModification) GoString() string {
  50904. return s.String()
  50905. }
  50906. // SetClientToken sets the ClientToken field's value.
  50907. func (s *ReservedInstancesModification) SetClientToken(v string) *ReservedInstancesModification {
  50908. s.ClientToken = &v
  50909. return s
  50910. }
  50911. // SetCreateDate sets the CreateDate field's value.
  50912. func (s *ReservedInstancesModification) SetCreateDate(v time.Time) *ReservedInstancesModification {
  50913. s.CreateDate = &v
  50914. return s
  50915. }
  50916. // SetEffectiveDate sets the EffectiveDate field's value.
  50917. func (s *ReservedInstancesModification) SetEffectiveDate(v time.Time) *ReservedInstancesModification {
  50918. s.EffectiveDate = &v
  50919. return s
  50920. }
  50921. // SetModificationResults sets the ModificationResults field's value.
  50922. func (s *ReservedInstancesModification) SetModificationResults(v []*ReservedInstancesModificationResult) *ReservedInstancesModification {
  50923. s.ModificationResults = v
  50924. return s
  50925. }
  50926. // SetReservedInstancesIds sets the ReservedInstancesIds field's value.
  50927. func (s *ReservedInstancesModification) SetReservedInstancesIds(v []*ReservedInstancesId) *ReservedInstancesModification {
  50928. s.ReservedInstancesIds = v
  50929. return s
  50930. }
  50931. // SetReservedInstancesModificationId sets the ReservedInstancesModificationId field's value.
  50932. func (s *ReservedInstancesModification) SetReservedInstancesModificationId(v string) *ReservedInstancesModification {
  50933. s.ReservedInstancesModificationId = &v
  50934. return s
  50935. }
  50936. // SetStatus sets the Status field's value.
  50937. func (s *ReservedInstancesModification) SetStatus(v string) *ReservedInstancesModification {
  50938. s.Status = &v
  50939. return s
  50940. }
  50941. // SetStatusMessage sets the StatusMessage field's value.
  50942. func (s *ReservedInstancesModification) SetStatusMessage(v string) *ReservedInstancesModification {
  50943. s.StatusMessage = &v
  50944. return s
  50945. }
  50946. // SetUpdateDate sets the UpdateDate field's value.
  50947. func (s *ReservedInstancesModification) SetUpdateDate(v time.Time) *ReservedInstancesModification {
  50948. s.UpdateDate = &v
  50949. return s
  50950. }
  50951. // Describes the modification request/s.
  50952. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReservedInstancesModificationResult
  50953. type ReservedInstancesModificationResult struct {
  50954. _ struct{} `type:"structure"`
  50955. // The ID for the Reserved Instances that were created as part of the modification
  50956. // request. This field is only available when the modification is fulfilled.
  50957. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  50958. // The target Reserved Instances configurations supplied as part of the modification
  50959. // request.
  50960. TargetConfiguration *ReservedInstancesConfiguration `locationName:"targetConfiguration" type:"structure"`
  50961. }
  50962. // String returns the string representation
  50963. func (s ReservedInstancesModificationResult) String() string {
  50964. return awsutil.Prettify(s)
  50965. }
  50966. // GoString returns the string representation
  50967. func (s ReservedInstancesModificationResult) GoString() string {
  50968. return s.String()
  50969. }
  50970. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  50971. func (s *ReservedInstancesModificationResult) SetReservedInstancesId(v string) *ReservedInstancesModificationResult {
  50972. s.ReservedInstancesId = &v
  50973. return s
  50974. }
  50975. // SetTargetConfiguration sets the TargetConfiguration field's value.
  50976. func (s *ReservedInstancesModificationResult) SetTargetConfiguration(v *ReservedInstancesConfiguration) *ReservedInstancesModificationResult {
  50977. s.TargetConfiguration = v
  50978. return s
  50979. }
  50980. // Describes a Reserved Instance offering.
  50981. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReservedInstancesOffering
  50982. type ReservedInstancesOffering struct {
  50983. _ struct{} `type:"structure"`
  50984. // The Availability Zone in which the Reserved Instance can be used.
  50985. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  50986. // The currency of the Reserved Instance offering you are purchasing. It's specified
  50987. // using ISO 4217 standard currency codes. At this time, the only supported
  50988. // currency is USD.
  50989. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  50990. // The duration of the Reserved Instance, in seconds.
  50991. Duration *int64 `locationName:"duration" type:"long"`
  50992. // The purchase price of the Reserved Instance.
  50993. FixedPrice *float64 `locationName:"fixedPrice" type:"float"`
  50994. // The tenancy of the instance.
  50995. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  50996. // The instance type on which the Reserved Instance can be used.
  50997. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  50998. // Indicates whether the offering is available through the Reserved Instance
  50999. // Marketplace (resale) or AWS. If it's a Reserved Instance Marketplace offering,
  51000. // this is true.
  51001. Marketplace *bool `locationName:"marketplace" type:"boolean"`
  51002. // If convertible it can be exchanged for Reserved Instances of the same or
  51003. // higher monetary value, with different configurations. If standard, it is
  51004. // not possible to perform an exchange.
  51005. OfferingClass *string `locationName:"offeringClass" type:"string" enum:"OfferingClassType"`
  51006. // The Reserved Instance offering type.
  51007. OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
  51008. // The pricing details of the Reserved Instance offering.
  51009. PricingDetails []*PricingDetail `locationName:"pricingDetailsSet" locationNameList:"item" type:"list"`
  51010. // The Reserved Instance product platform description.
  51011. ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
  51012. // The recurring charge tag assigned to the resource.
  51013. RecurringCharges []*RecurringCharge `locationName:"recurringCharges" locationNameList:"item" type:"list"`
  51014. // The ID of the Reserved Instance offering. This is the offering ID used in
  51015. // GetReservedInstancesExchangeQuote to confirm that an exchange can be made.
  51016. ReservedInstancesOfferingId *string `locationName:"reservedInstancesOfferingId" type:"string"`
  51017. // Whether the Reserved Instance is applied to instances in a region or an Availability
  51018. // Zone.
  51019. Scope *string `locationName:"scope" type:"string" enum:"scope"`
  51020. // The usage price of the Reserved Instance, per hour.
  51021. UsagePrice *float64 `locationName:"usagePrice" type:"float"`
  51022. }
  51023. // String returns the string representation
  51024. func (s ReservedInstancesOffering) String() string {
  51025. return awsutil.Prettify(s)
  51026. }
  51027. // GoString returns the string representation
  51028. func (s ReservedInstancesOffering) GoString() string {
  51029. return s.String()
  51030. }
  51031. // SetAvailabilityZone sets the AvailabilityZone field's value.
  51032. func (s *ReservedInstancesOffering) SetAvailabilityZone(v string) *ReservedInstancesOffering {
  51033. s.AvailabilityZone = &v
  51034. return s
  51035. }
  51036. // SetCurrencyCode sets the CurrencyCode field's value.
  51037. func (s *ReservedInstancesOffering) SetCurrencyCode(v string) *ReservedInstancesOffering {
  51038. s.CurrencyCode = &v
  51039. return s
  51040. }
  51041. // SetDuration sets the Duration field's value.
  51042. func (s *ReservedInstancesOffering) SetDuration(v int64) *ReservedInstancesOffering {
  51043. s.Duration = &v
  51044. return s
  51045. }
  51046. // SetFixedPrice sets the FixedPrice field's value.
  51047. func (s *ReservedInstancesOffering) SetFixedPrice(v float64) *ReservedInstancesOffering {
  51048. s.FixedPrice = &v
  51049. return s
  51050. }
  51051. // SetInstanceTenancy sets the InstanceTenancy field's value.
  51052. func (s *ReservedInstancesOffering) SetInstanceTenancy(v string) *ReservedInstancesOffering {
  51053. s.InstanceTenancy = &v
  51054. return s
  51055. }
  51056. // SetInstanceType sets the InstanceType field's value.
  51057. func (s *ReservedInstancesOffering) SetInstanceType(v string) *ReservedInstancesOffering {
  51058. s.InstanceType = &v
  51059. return s
  51060. }
  51061. // SetMarketplace sets the Marketplace field's value.
  51062. func (s *ReservedInstancesOffering) SetMarketplace(v bool) *ReservedInstancesOffering {
  51063. s.Marketplace = &v
  51064. return s
  51065. }
  51066. // SetOfferingClass sets the OfferingClass field's value.
  51067. func (s *ReservedInstancesOffering) SetOfferingClass(v string) *ReservedInstancesOffering {
  51068. s.OfferingClass = &v
  51069. return s
  51070. }
  51071. // SetOfferingType sets the OfferingType field's value.
  51072. func (s *ReservedInstancesOffering) SetOfferingType(v string) *ReservedInstancesOffering {
  51073. s.OfferingType = &v
  51074. return s
  51075. }
  51076. // SetPricingDetails sets the PricingDetails field's value.
  51077. func (s *ReservedInstancesOffering) SetPricingDetails(v []*PricingDetail) *ReservedInstancesOffering {
  51078. s.PricingDetails = v
  51079. return s
  51080. }
  51081. // SetProductDescription sets the ProductDescription field's value.
  51082. func (s *ReservedInstancesOffering) SetProductDescription(v string) *ReservedInstancesOffering {
  51083. s.ProductDescription = &v
  51084. return s
  51085. }
  51086. // SetRecurringCharges sets the RecurringCharges field's value.
  51087. func (s *ReservedInstancesOffering) SetRecurringCharges(v []*RecurringCharge) *ReservedInstancesOffering {
  51088. s.RecurringCharges = v
  51089. return s
  51090. }
  51091. // SetReservedInstancesOfferingId sets the ReservedInstancesOfferingId field's value.
  51092. func (s *ReservedInstancesOffering) SetReservedInstancesOfferingId(v string) *ReservedInstancesOffering {
  51093. s.ReservedInstancesOfferingId = &v
  51094. return s
  51095. }
  51096. // SetScope sets the Scope field's value.
  51097. func (s *ReservedInstancesOffering) SetScope(v string) *ReservedInstancesOffering {
  51098. s.Scope = &v
  51099. return s
  51100. }
  51101. // SetUsagePrice sets the UsagePrice field's value.
  51102. func (s *ReservedInstancesOffering) SetUsagePrice(v float64) *ReservedInstancesOffering {
  51103. s.UsagePrice = &v
  51104. return s
  51105. }
  51106. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetFpgaImageAttributeRequest
  51107. type ResetFpgaImageAttributeInput struct {
  51108. _ struct{} `type:"structure"`
  51109. // The attribute.
  51110. Attribute *string `type:"string" enum:"ResetFpgaImageAttributeName"`
  51111. // Checks whether you have the required permissions for the action, without
  51112. // actually making the request, and provides an error response. If you have
  51113. // the required permissions, the error response is DryRunOperation. Otherwise,
  51114. // it is UnauthorizedOperation.
  51115. DryRun *bool `type:"boolean"`
  51116. // The ID of the AFI.
  51117. //
  51118. // FpgaImageId is a required field
  51119. FpgaImageId *string `type:"string" required:"true"`
  51120. }
  51121. // String returns the string representation
  51122. func (s ResetFpgaImageAttributeInput) String() string {
  51123. return awsutil.Prettify(s)
  51124. }
  51125. // GoString returns the string representation
  51126. func (s ResetFpgaImageAttributeInput) GoString() string {
  51127. return s.String()
  51128. }
  51129. // Validate inspects the fields of the type to determine if they are valid.
  51130. func (s *ResetFpgaImageAttributeInput) Validate() error {
  51131. invalidParams := request.ErrInvalidParams{Context: "ResetFpgaImageAttributeInput"}
  51132. if s.FpgaImageId == nil {
  51133. invalidParams.Add(request.NewErrParamRequired("FpgaImageId"))
  51134. }
  51135. if invalidParams.Len() > 0 {
  51136. return invalidParams
  51137. }
  51138. return nil
  51139. }
  51140. // SetAttribute sets the Attribute field's value.
  51141. func (s *ResetFpgaImageAttributeInput) SetAttribute(v string) *ResetFpgaImageAttributeInput {
  51142. s.Attribute = &v
  51143. return s
  51144. }
  51145. // SetDryRun sets the DryRun field's value.
  51146. func (s *ResetFpgaImageAttributeInput) SetDryRun(v bool) *ResetFpgaImageAttributeInput {
  51147. s.DryRun = &v
  51148. return s
  51149. }
  51150. // SetFpgaImageId sets the FpgaImageId field's value.
  51151. func (s *ResetFpgaImageAttributeInput) SetFpgaImageId(v string) *ResetFpgaImageAttributeInput {
  51152. s.FpgaImageId = &v
  51153. return s
  51154. }
  51155. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetFpgaImageAttributeResult
  51156. type ResetFpgaImageAttributeOutput struct {
  51157. _ struct{} `type:"structure"`
  51158. // Is true if the request succeeds, and an error otherwise.
  51159. Return *bool `locationName:"return" type:"boolean"`
  51160. }
  51161. // String returns the string representation
  51162. func (s ResetFpgaImageAttributeOutput) String() string {
  51163. return awsutil.Prettify(s)
  51164. }
  51165. // GoString returns the string representation
  51166. func (s ResetFpgaImageAttributeOutput) GoString() string {
  51167. return s.String()
  51168. }
  51169. // SetReturn sets the Return field's value.
  51170. func (s *ResetFpgaImageAttributeOutput) SetReturn(v bool) *ResetFpgaImageAttributeOutput {
  51171. s.Return = &v
  51172. return s
  51173. }
  51174. // Contains the parameters for ResetImageAttribute.
  51175. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetImageAttributeRequest
  51176. type ResetImageAttributeInput struct {
  51177. _ struct{} `type:"structure"`
  51178. // The attribute to reset (currently you can only reset the launch permission
  51179. // attribute).
  51180. //
  51181. // Attribute is a required field
  51182. Attribute *string `type:"string" required:"true" enum:"ResetImageAttributeName"`
  51183. // Checks whether you have the required permissions for the action, without
  51184. // actually making the request, and provides an error response. If you have
  51185. // the required permissions, the error response is DryRunOperation. Otherwise,
  51186. // it is UnauthorizedOperation.
  51187. DryRun *bool `locationName:"dryRun" type:"boolean"`
  51188. // The ID of the AMI.
  51189. //
  51190. // ImageId is a required field
  51191. ImageId *string `type:"string" required:"true"`
  51192. }
  51193. // String returns the string representation
  51194. func (s ResetImageAttributeInput) String() string {
  51195. return awsutil.Prettify(s)
  51196. }
  51197. // GoString returns the string representation
  51198. func (s ResetImageAttributeInput) GoString() string {
  51199. return s.String()
  51200. }
  51201. // Validate inspects the fields of the type to determine if they are valid.
  51202. func (s *ResetImageAttributeInput) Validate() error {
  51203. invalidParams := request.ErrInvalidParams{Context: "ResetImageAttributeInput"}
  51204. if s.Attribute == nil {
  51205. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  51206. }
  51207. if s.ImageId == nil {
  51208. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  51209. }
  51210. if invalidParams.Len() > 0 {
  51211. return invalidParams
  51212. }
  51213. return nil
  51214. }
  51215. // SetAttribute sets the Attribute field's value.
  51216. func (s *ResetImageAttributeInput) SetAttribute(v string) *ResetImageAttributeInput {
  51217. s.Attribute = &v
  51218. return s
  51219. }
  51220. // SetDryRun sets the DryRun field's value.
  51221. func (s *ResetImageAttributeInput) SetDryRun(v bool) *ResetImageAttributeInput {
  51222. s.DryRun = &v
  51223. return s
  51224. }
  51225. // SetImageId sets the ImageId field's value.
  51226. func (s *ResetImageAttributeInput) SetImageId(v string) *ResetImageAttributeInput {
  51227. s.ImageId = &v
  51228. return s
  51229. }
  51230. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetImageAttributeOutput
  51231. type ResetImageAttributeOutput struct {
  51232. _ struct{} `type:"structure"`
  51233. }
  51234. // String returns the string representation
  51235. func (s ResetImageAttributeOutput) String() string {
  51236. return awsutil.Prettify(s)
  51237. }
  51238. // GoString returns the string representation
  51239. func (s ResetImageAttributeOutput) GoString() string {
  51240. return s.String()
  51241. }
  51242. // Contains the parameters for ResetInstanceAttribute.
  51243. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetInstanceAttributeRequest
  51244. type ResetInstanceAttributeInput struct {
  51245. _ struct{} `type:"structure"`
  51246. // The attribute to reset.
  51247. //
  51248. // You can only reset the following attributes: kernel | ramdisk | sourceDestCheck.
  51249. // To change an instance attribute, use ModifyInstanceAttribute.
  51250. //
  51251. // Attribute is a required field
  51252. Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"InstanceAttributeName"`
  51253. // Checks whether you have the required permissions for the action, without
  51254. // actually making the request, and provides an error response. If you have
  51255. // the required permissions, the error response is DryRunOperation. Otherwise,
  51256. // it is UnauthorizedOperation.
  51257. DryRun *bool `locationName:"dryRun" type:"boolean"`
  51258. // The ID of the instance.
  51259. //
  51260. // InstanceId is a required field
  51261. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  51262. }
  51263. // String returns the string representation
  51264. func (s ResetInstanceAttributeInput) String() string {
  51265. return awsutil.Prettify(s)
  51266. }
  51267. // GoString returns the string representation
  51268. func (s ResetInstanceAttributeInput) GoString() string {
  51269. return s.String()
  51270. }
  51271. // Validate inspects the fields of the type to determine if they are valid.
  51272. func (s *ResetInstanceAttributeInput) Validate() error {
  51273. invalidParams := request.ErrInvalidParams{Context: "ResetInstanceAttributeInput"}
  51274. if s.Attribute == nil {
  51275. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  51276. }
  51277. if s.InstanceId == nil {
  51278. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  51279. }
  51280. if invalidParams.Len() > 0 {
  51281. return invalidParams
  51282. }
  51283. return nil
  51284. }
  51285. // SetAttribute sets the Attribute field's value.
  51286. func (s *ResetInstanceAttributeInput) SetAttribute(v string) *ResetInstanceAttributeInput {
  51287. s.Attribute = &v
  51288. return s
  51289. }
  51290. // SetDryRun sets the DryRun field's value.
  51291. func (s *ResetInstanceAttributeInput) SetDryRun(v bool) *ResetInstanceAttributeInput {
  51292. s.DryRun = &v
  51293. return s
  51294. }
  51295. // SetInstanceId sets the InstanceId field's value.
  51296. func (s *ResetInstanceAttributeInput) SetInstanceId(v string) *ResetInstanceAttributeInput {
  51297. s.InstanceId = &v
  51298. return s
  51299. }
  51300. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetInstanceAttributeOutput
  51301. type ResetInstanceAttributeOutput struct {
  51302. _ struct{} `type:"structure"`
  51303. }
  51304. // String returns the string representation
  51305. func (s ResetInstanceAttributeOutput) String() string {
  51306. return awsutil.Prettify(s)
  51307. }
  51308. // GoString returns the string representation
  51309. func (s ResetInstanceAttributeOutput) GoString() string {
  51310. return s.String()
  51311. }
  51312. // Contains the parameters for ResetNetworkInterfaceAttribute.
  51313. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetNetworkInterfaceAttributeRequest
  51314. type ResetNetworkInterfaceAttributeInput struct {
  51315. _ struct{} `type:"structure"`
  51316. // Checks whether you have the required permissions for the action, without
  51317. // actually making the request, and provides an error response. If you have
  51318. // the required permissions, the error response is DryRunOperation. Otherwise,
  51319. // it is UnauthorizedOperation.
  51320. DryRun *bool `locationName:"dryRun" type:"boolean"`
  51321. // The ID of the network interface.
  51322. //
  51323. // NetworkInterfaceId is a required field
  51324. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  51325. // The source/destination checking attribute. Resets the value to true.
  51326. SourceDestCheck *string `locationName:"sourceDestCheck" type:"string"`
  51327. }
  51328. // String returns the string representation
  51329. func (s ResetNetworkInterfaceAttributeInput) String() string {
  51330. return awsutil.Prettify(s)
  51331. }
  51332. // GoString returns the string representation
  51333. func (s ResetNetworkInterfaceAttributeInput) GoString() string {
  51334. return s.String()
  51335. }
  51336. // Validate inspects the fields of the type to determine if they are valid.
  51337. func (s *ResetNetworkInterfaceAttributeInput) Validate() error {
  51338. invalidParams := request.ErrInvalidParams{Context: "ResetNetworkInterfaceAttributeInput"}
  51339. if s.NetworkInterfaceId == nil {
  51340. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  51341. }
  51342. if invalidParams.Len() > 0 {
  51343. return invalidParams
  51344. }
  51345. return nil
  51346. }
  51347. // SetDryRun sets the DryRun field's value.
  51348. func (s *ResetNetworkInterfaceAttributeInput) SetDryRun(v bool) *ResetNetworkInterfaceAttributeInput {
  51349. s.DryRun = &v
  51350. return s
  51351. }
  51352. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  51353. func (s *ResetNetworkInterfaceAttributeInput) SetNetworkInterfaceId(v string) *ResetNetworkInterfaceAttributeInput {
  51354. s.NetworkInterfaceId = &v
  51355. return s
  51356. }
  51357. // SetSourceDestCheck sets the SourceDestCheck field's value.
  51358. func (s *ResetNetworkInterfaceAttributeInput) SetSourceDestCheck(v string) *ResetNetworkInterfaceAttributeInput {
  51359. s.SourceDestCheck = &v
  51360. return s
  51361. }
  51362. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetNetworkInterfaceAttributeOutput
  51363. type ResetNetworkInterfaceAttributeOutput struct {
  51364. _ struct{} `type:"structure"`
  51365. }
  51366. // String returns the string representation
  51367. func (s ResetNetworkInterfaceAttributeOutput) String() string {
  51368. return awsutil.Prettify(s)
  51369. }
  51370. // GoString returns the string representation
  51371. func (s ResetNetworkInterfaceAttributeOutput) GoString() string {
  51372. return s.String()
  51373. }
  51374. // Contains the parameters for ResetSnapshotAttribute.
  51375. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetSnapshotAttributeRequest
  51376. type ResetSnapshotAttributeInput struct {
  51377. _ struct{} `type:"structure"`
  51378. // The attribute to reset. Currently, only the attribute for permission to create
  51379. // volumes can be reset.
  51380. //
  51381. // Attribute is a required field
  51382. Attribute *string `type:"string" required:"true" enum:"SnapshotAttributeName"`
  51383. // Checks whether you have the required permissions for the action, without
  51384. // actually making the request, and provides an error response. If you have
  51385. // the required permissions, the error response is DryRunOperation. Otherwise,
  51386. // it is UnauthorizedOperation.
  51387. DryRun *bool `locationName:"dryRun" type:"boolean"`
  51388. // The ID of the snapshot.
  51389. //
  51390. // SnapshotId is a required field
  51391. SnapshotId *string `type:"string" required:"true"`
  51392. }
  51393. // String returns the string representation
  51394. func (s ResetSnapshotAttributeInput) String() string {
  51395. return awsutil.Prettify(s)
  51396. }
  51397. // GoString returns the string representation
  51398. func (s ResetSnapshotAttributeInput) GoString() string {
  51399. return s.String()
  51400. }
  51401. // Validate inspects the fields of the type to determine if they are valid.
  51402. func (s *ResetSnapshotAttributeInput) Validate() error {
  51403. invalidParams := request.ErrInvalidParams{Context: "ResetSnapshotAttributeInput"}
  51404. if s.Attribute == nil {
  51405. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  51406. }
  51407. if s.SnapshotId == nil {
  51408. invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
  51409. }
  51410. if invalidParams.Len() > 0 {
  51411. return invalidParams
  51412. }
  51413. return nil
  51414. }
  51415. // SetAttribute sets the Attribute field's value.
  51416. func (s *ResetSnapshotAttributeInput) SetAttribute(v string) *ResetSnapshotAttributeInput {
  51417. s.Attribute = &v
  51418. return s
  51419. }
  51420. // SetDryRun sets the DryRun field's value.
  51421. func (s *ResetSnapshotAttributeInput) SetDryRun(v bool) *ResetSnapshotAttributeInput {
  51422. s.DryRun = &v
  51423. return s
  51424. }
  51425. // SetSnapshotId sets the SnapshotId field's value.
  51426. func (s *ResetSnapshotAttributeInput) SetSnapshotId(v string) *ResetSnapshotAttributeInput {
  51427. s.SnapshotId = &v
  51428. return s
  51429. }
  51430. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetSnapshotAttributeOutput
  51431. type ResetSnapshotAttributeOutput struct {
  51432. _ struct{} `type:"structure"`
  51433. }
  51434. // String returns the string representation
  51435. func (s ResetSnapshotAttributeOutput) String() string {
  51436. return awsutil.Prettify(s)
  51437. }
  51438. // GoString returns the string representation
  51439. func (s ResetSnapshotAttributeOutput) GoString() string {
  51440. return s.String()
  51441. }
  51442. // Describes the error that's returned when you cannot delete a launch template
  51443. // version.
  51444. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResponseError
  51445. type ResponseError struct {
  51446. _ struct{} `type:"structure"`
  51447. // The error code.
  51448. Code *string `locationName:"code" type:"string" enum:"LaunchTemplateErrorCode"`
  51449. // The error message, if applicable.
  51450. Message *string `locationName:"message" type:"string"`
  51451. }
  51452. // String returns the string representation
  51453. func (s ResponseError) String() string {
  51454. return awsutil.Prettify(s)
  51455. }
  51456. // GoString returns the string representation
  51457. func (s ResponseError) GoString() string {
  51458. return s.String()
  51459. }
  51460. // SetCode sets the Code field's value.
  51461. func (s *ResponseError) SetCode(v string) *ResponseError {
  51462. s.Code = &v
  51463. return s
  51464. }
  51465. // SetMessage sets the Message field's value.
  51466. func (s *ResponseError) SetMessage(v string) *ResponseError {
  51467. s.Message = &v
  51468. return s
  51469. }
  51470. // The information for a launch template.
  51471. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResponseLaunchTemplateData
  51472. type ResponseLaunchTemplateData struct {
  51473. _ struct{} `type:"structure"`
  51474. // The block device mappings.
  51475. BlockDeviceMappings []*LaunchTemplateBlockDeviceMapping `locationName:"blockDeviceMappingSet" locationNameList:"item" type:"list"`
  51476. // The credit option for CPU usage of the instance.
  51477. CreditSpecification *CreditSpecification `locationName:"creditSpecification" type:"structure"`
  51478. // If set to true, indicates that the instance cannot be terminated using the
  51479. // Amazon EC2 console, command line tool, or API.
  51480. DisableApiTermination *bool `locationName:"disableApiTermination" type:"boolean"`
  51481. // Indicates whether the instance is optimized for Amazon EBS I/O.
  51482. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  51483. // The elastic GPU specification.
  51484. ElasticGpuSpecifications []*ElasticGpuSpecificationResponse `locationName:"elasticGpuSpecificationSet" locationNameList:"item" type:"list"`
  51485. // The IAM instance profile.
  51486. IamInstanceProfile *LaunchTemplateIamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
  51487. // The ID of the AMI that was used to launch the instance.
  51488. ImageId *string `locationName:"imageId" type:"string"`
  51489. // Indicates whether an instance stops or terminates when you initiate shutdown
  51490. // from the instance (using the operating system command for system shutdown).
  51491. InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"`
  51492. // The market (purchasing) option for the instances.
  51493. InstanceMarketOptions *LaunchTemplateInstanceMarketOptions `locationName:"instanceMarketOptions" type:"structure"`
  51494. // The instance type.
  51495. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  51496. // The ID of the kernel, if applicable.
  51497. KernelId *string `locationName:"kernelId" type:"string"`
  51498. // The name of the key pair.
  51499. KeyName *string `locationName:"keyName" type:"string"`
  51500. // The monitoring for the instance.
  51501. Monitoring *LaunchTemplatesMonitoring `locationName:"monitoring" type:"structure"`
  51502. // The network interfaces.
  51503. NetworkInterfaces []*LaunchTemplateInstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
  51504. // The placement of the instance.
  51505. Placement *LaunchTemplatePlacement `locationName:"placement" type:"structure"`
  51506. // The ID of the RAM disk, if applicable.
  51507. RamDiskId *string `locationName:"ramDiskId" type:"string"`
  51508. // The security group IDs.
  51509. SecurityGroupIds []*string `locationName:"securityGroupIdSet" locationNameList:"item" type:"list"`
  51510. // The security group names.
  51511. SecurityGroups []*string `locationName:"securityGroupSet" locationNameList:"item" type:"list"`
  51512. // The tags.
  51513. TagSpecifications []*LaunchTemplateTagSpecification `locationName:"tagSpecificationSet" locationNameList:"item" type:"list"`
  51514. // The user data for the instance.
  51515. UserData *string `locationName:"userData" type:"string"`
  51516. }
  51517. // String returns the string representation
  51518. func (s ResponseLaunchTemplateData) String() string {
  51519. return awsutil.Prettify(s)
  51520. }
  51521. // GoString returns the string representation
  51522. func (s ResponseLaunchTemplateData) GoString() string {
  51523. return s.String()
  51524. }
  51525. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  51526. func (s *ResponseLaunchTemplateData) SetBlockDeviceMappings(v []*LaunchTemplateBlockDeviceMapping) *ResponseLaunchTemplateData {
  51527. s.BlockDeviceMappings = v
  51528. return s
  51529. }
  51530. // SetCreditSpecification sets the CreditSpecification field's value.
  51531. func (s *ResponseLaunchTemplateData) SetCreditSpecification(v *CreditSpecification) *ResponseLaunchTemplateData {
  51532. s.CreditSpecification = v
  51533. return s
  51534. }
  51535. // SetDisableApiTermination sets the DisableApiTermination field's value.
  51536. func (s *ResponseLaunchTemplateData) SetDisableApiTermination(v bool) *ResponseLaunchTemplateData {
  51537. s.DisableApiTermination = &v
  51538. return s
  51539. }
  51540. // SetEbsOptimized sets the EbsOptimized field's value.
  51541. func (s *ResponseLaunchTemplateData) SetEbsOptimized(v bool) *ResponseLaunchTemplateData {
  51542. s.EbsOptimized = &v
  51543. return s
  51544. }
  51545. // SetElasticGpuSpecifications sets the ElasticGpuSpecifications field's value.
  51546. func (s *ResponseLaunchTemplateData) SetElasticGpuSpecifications(v []*ElasticGpuSpecificationResponse) *ResponseLaunchTemplateData {
  51547. s.ElasticGpuSpecifications = v
  51548. return s
  51549. }
  51550. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  51551. func (s *ResponseLaunchTemplateData) SetIamInstanceProfile(v *LaunchTemplateIamInstanceProfileSpecification) *ResponseLaunchTemplateData {
  51552. s.IamInstanceProfile = v
  51553. return s
  51554. }
  51555. // SetImageId sets the ImageId field's value.
  51556. func (s *ResponseLaunchTemplateData) SetImageId(v string) *ResponseLaunchTemplateData {
  51557. s.ImageId = &v
  51558. return s
  51559. }
  51560. // SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
  51561. func (s *ResponseLaunchTemplateData) SetInstanceInitiatedShutdownBehavior(v string) *ResponseLaunchTemplateData {
  51562. s.InstanceInitiatedShutdownBehavior = &v
  51563. return s
  51564. }
  51565. // SetInstanceMarketOptions sets the InstanceMarketOptions field's value.
  51566. func (s *ResponseLaunchTemplateData) SetInstanceMarketOptions(v *LaunchTemplateInstanceMarketOptions) *ResponseLaunchTemplateData {
  51567. s.InstanceMarketOptions = v
  51568. return s
  51569. }
  51570. // SetInstanceType sets the InstanceType field's value.
  51571. func (s *ResponseLaunchTemplateData) SetInstanceType(v string) *ResponseLaunchTemplateData {
  51572. s.InstanceType = &v
  51573. return s
  51574. }
  51575. // SetKernelId sets the KernelId field's value.
  51576. func (s *ResponseLaunchTemplateData) SetKernelId(v string) *ResponseLaunchTemplateData {
  51577. s.KernelId = &v
  51578. return s
  51579. }
  51580. // SetKeyName sets the KeyName field's value.
  51581. func (s *ResponseLaunchTemplateData) SetKeyName(v string) *ResponseLaunchTemplateData {
  51582. s.KeyName = &v
  51583. return s
  51584. }
  51585. // SetMonitoring sets the Monitoring field's value.
  51586. func (s *ResponseLaunchTemplateData) SetMonitoring(v *LaunchTemplatesMonitoring) *ResponseLaunchTemplateData {
  51587. s.Monitoring = v
  51588. return s
  51589. }
  51590. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  51591. func (s *ResponseLaunchTemplateData) SetNetworkInterfaces(v []*LaunchTemplateInstanceNetworkInterfaceSpecification) *ResponseLaunchTemplateData {
  51592. s.NetworkInterfaces = v
  51593. return s
  51594. }
  51595. // SetPlacement sets the Placement field's value.
  51596. func (s *ResponseLaunchTemplateData) SetPlacement(v *LaunchTemplatePlacement) *ResponseLaunchTemplateData {
  51597. s.Placement = v
  51598. return s
  51599. }
  51600. // SetRamDiskId sets the RamDiskId field's value.
  51601. func (s *ResponseLaunchTemplateData) SetRamDiskId(v string) *ResponseLaunchTemplateData {
  51602. s.RamDiskId = &v
  51603. return s
  51604. }
  51605. // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  51606. func (s *ResponseLaunchTemplateData) SetSecurityGroupIds(v []*string) *ResponseLaunchTemplateData {
  51607. s.SecurityGroupIds = v
  51608. return s
  51609. }
  51610. // SetSecurityGroups sets the SecurityGroups field's value.
  51611. func (s *ResponseLaunchTemplateData) SetSecurityGroups(v []*string) *ResponseLaunchTemplateData {
  51612. s.SecurityGroups = v
  51613. return s
  51614. }
  51615. // SetTagSpecifications sets the TagSpecifications field's value.
  51616. func (s *ResponseLaunchTemplateData) SetTagSpecifications(v []*LaunchTemplateTagSpecification) *ResponseLaunchTemplateData {
  51617. s.TagSpecifications = v
  51618. return s
  51619. }
  51620. // SetUserData sets the UserData field's value.
  51621. func (s *ResponseLaunchTemplateData) SetUserData(v string) *ResponseLaunchTemplateData {
  51622. s.UserData = &v
  51623. return s
  51624. }
  51625. // Contains the parameters for RestoreAddressToClassic.
  51626. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreAddressToClassicRequest
  51627. type RestoreAddressToClassicInput struct {
  51628. _ struct{} `type:"structure"`
  51629. // Checks whether you have the required permissions for the action, without
  51630. // actually making the request, and provides an error response. If you have
  51631. // the required permissions, the error response is DryRunOperation. Otherwise,
  51632. // it is UnauthorizedOperation.
  51633. DryRun *bool `locationName:"dryRun" type:"boolean"`
  51634. // The Elastic IP address.
  51635. //
  51636. // PublicIp is a required field
  51637. PublicIp *string `locationName:"publicIp" type:"string" required:"true"`
  51638. }
  51639. // String returns the string representation
  51640. func (s RestoreAddressToClassicInput) String() string {
  51641. return awsutil.Prettify(s)
  51642. }
  51643. // GoString returns the string representation
  51644. func (s RestoreAddressToClassicInput) GoString() string {
  51645. return s.String()
  51646. }
  51647. // Validate inspects the fields of the type to determine if they are valid.
  51648. func (s *RestoreAddressToClassicInput) Validate() error {
  51649. invalidParams := request.ErrInvalidParams{Context: "RestoreAddressToClassicInput"}
  51650. if s.PublicIp == nil {
  51651. invalidParams.Add(request.NewErrParamRequired("PublicIp"))
  51652. }
  51653. if invalidParams.Len() > 0 {
  51654. return invalidParams
  51655. }
  51656. return nil
  51657. }
  51658. // SetDryRun sets the DryRun field's value.
  51659. func (s *RestoreAddressToClassicInput) SetDryRun(v bool) *RestoreAddressToClassicInput {
  51660. s.DryRun = &v
  51661. return s
  51662. }
  51663. // SetPublicIp sets the PublicIp field's value.
  51664. func (s *RestoreAddressToClassicInput) SetPublicIp(v string) *RestoreAddressToClassicInput {
  51665. s.PublicIp = &v
  51666. return s
  51667. }
  51668. // Contains the output of RestoreAddressToClassic.
  51669. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreAddressToClassicResult
  51670. type RestoreAddressToClassicOutput struct {
  51671. _ struct{} `type:"structure"`
  51672. // The Elastic IP address.
  51673. PublicIp *string `locationName:"publicIp" type:"string"`
  51674. // The move status for the IP address.
  51675. Status *string `locationName:"status" type:"string" enum:"Status"`
  51676. }
  51677. // String returns the string representation
  51678. func (s RestoreAddressToClassicOutput) String() string {
  51679. return awsutil.Prettify(s)
  51680. }
  51681. // GoString returns the string representation
  51682. func (s RestoreAddressToClassicOutput) GoString() string {
  51683. return s.String()
  51684. }
  51685. // SetPublicIp sets the PublicIp field's value.
  51686. func (s *RestoreAddressToClassicOutput) SetPublicIp(v string) *RestoreAddressToClassicOutput {
  51687. s.PublicIp = &v
  51688. return s
  51689. }
  51690. // SetStatus sets the Status field's value.
  51691. func (s *RestoreAddressToClassicOutput) SetStatus(v string) *RestoreAddressToClassicOutput {
  51692. s.Status = &v
  51693. return s
  51694. }
  51695. // Contains the parameters for RevokeSecurityGroupEgress.
  51696. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupEgressRequest
  51697. type RevokeSecurityGroupEgressInput struct {
  51698. _ struct{} `type:"structure"`
  51699. // Not supported. Use a set of IP permissions to specify the CIDR.
  51700. CidrIp *string `locationName:"cidrIp" type:"string"`
  51701. // Checks whether you have the required permissions for the action, without
  51702. // actually making the request, and provides an error response. If you have
  51703. // the required permissions, the error response is DryRunOperation. Otherwise,
  51704. // it is UnauthorizedOperation.
  51705. DryRun *bool `locationName:"dryRun" type:"boolean"`
  51706. // Not supported. Use a set of IP permissions to specify the port.
  51707. FromPort *int64 `locationName:"fromPort" type:"integer"`
  51708. // The ID of the security group.
  51709. //
  51710. // GroupId is a required field
  51711. GroupId *string `locationName:"groupId" type:"string" required:"true"`
  51712. // One or more sets of IP permissions. You can't specify a destination security
  51713. // group and a CIDR IP address range in the same set of permissions.
  51714. IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
  51715. // Not supported. Use a set of IP permissions to specify the protocol name or
  51716. // number.
  51717. IpProtocol *string `locationName:"ipProtocol" type:"string"`
  51718. // Not supported. Use a set of IP permissions to specify a destination security
  51719. // group.
  51720. SourceSecurityGroupName *string `locationName:"sourceSecurityGroupName" type:"string"`
  51721. // Not supported. Use a set of IP permissions to specify a destination security
  51722. // group.
  51723. SourceSecurityGroupOwnerId *string `locationName:"sourceSecurityGroupOwnerId" type:"string"`
  51724. // Not supported. Use a set of IP permissions to specify the port.
  51725. ToPort *int64 `locationName:"toPort" type:"integer"`
  51726. }
  51727. // String returns the string representation
  51728. func (s RevokeSecurityGroupEgressInput) String() string {
  51729. return awsutil.Prettify(s)
  51730. }
  51731. // GoString returns the string representation
  51732. func (s RevokeSecurityGroupEgressInput) GoString() string {
  51733. return s.String()
  51734. }
  51735. // Validate inspects the fields of the type to determine if they are valid.
  51736. func (s *RevokeSecurityGroupEgressInput) Validate() error {
  51737. invalidParams := request.ErrInvalidParams{Context: "RevokeSecurityGroupEgressInput"}
  51738. if s.GroupId == nil {
  51739. invalidParams.Add(request.NewErrParamRequired("GroupId"))
  51740. }
  51741. if invalidParams.Len() > 0 {
  51742. return invalidParams
  51743. }
  51744. return nil
  51745. }
  51746. // SetCidrIp sets the CidrIp field's value.
  51747. func (s *RevokeSecurityGroupEgressInput) SetCidrIp(v string) *RevokeSecurityGroupEgressInput {
  51748. s.CidrIp = &v
  51749. return s
  51750. }
  51751. // SetDryRun sets the DryRun field's value.
  51752. func (s *RevokeSecurityGroupEgressInput) SetDryRun(v bool) *RevokeSecurityGroupEgressInput {
  51753. s.DryRun = &v
  51754. return s
  51755. }
  51756. // SetFromPort sets the FromPort field's value.
  51757. func (s *RevokeSecurityGroupEgressInput) SetFromPort(v int64) *RevokeSecurityGroupEgressInput {
  51758. s.FromPort = &v
  51759. return s
  51760. }
  51761. // SetGroupId sets the GroupId field's value.
  51762. func (s *RevokeSecurityGroupEgressInput) SetGroupId(v string) *RevokeSecurityGroupEgressInput {
  51763. s.GroupId = &v
  51764. return s
  51765. }
  51766. // SetIpPermissions sets the IpPermissions field's value.
  51767. func (s *RevokeSecurityGroupEgressInput) SetIpPermissions(v []*IpPermission) *RevokeSecurityGroupEgressInput {
  51768. s.IpPermissions = v
  51769. return s
  51770. }
  51771. // SetIpProtocol sets the IpProtocol field's value.
  51772. func (s *RevokeSecurityGroupEgressInput) SetIpProtocol(v string) *RevokeSecurityGroupEgressInput {
  51773. s.IpProtocol = &v
  51774. return s
  51775. }
  51776. // SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
  51777. func (s *RevokeSecurityGroupEgressInput) SetSourceSecurityGroupName(v string) *RevokeSecurityGroupEgressInput {
  51778. s.SourceSecurityGroupName = &v
  51779. return s
  51780. }
  51781. // SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
  51782. func (s *RevokeSecurityGroupEgressInput) SetSourceSecurityGroupOwnerId(v string) *RevokeSecurityGroupEgressInput {
  51783. s.SourceSecurityGroupOwnerId = &v
  51784. return s
  51785. }
  51786. // SetToPort sets the ToPort field's value.
  51787. func (s *RevokeSecurityGroupEgressInput) SetToPort(v int64) *RevokeSecurityGroupEgressInput {
  51788. s.ToPort = &v
  51789. return s
  51790. }
  51791. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupEgressOutput
  51792. type RevokeSecurityGroupEgressOutput struct {
  51793. _ struct{} `type:"structure"`
  51794. }
  51795. // String returns the string representation
  51796. func (s RevokeSecurityGroupEgressOutput) String() string {
  51797. return awsutil.Prettify(s)
  51798. }
  51799. // GoString returns the string representation
  51800. func (s RevokeSecurityGroupEgressOutput) GoString() string {
  51801. return s.String()
  51802. }
  51803. // Contains the parameters for RevokeSecurityGroupIngress.
  51804. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupIngressRequest
  51805. type RevokeSecurityGroupIngressInput struct {
  51806. _ struct{} `type:"structure"`
  51807. // The CIDR IP address range. You can't specify this parameter when specifying
  51808. // a source security group.
  51809. CidrIp *string `type:"string"`
  51810. // Checks whether you have the required permissions for the action, without
  51811. // actually making the request, and provides an error response. If you have
  51812. // the required permissions, the error response is DryRunOperation. Otherwise,
  51813. // it is UnauthorizedOperation.
  51814. DryRun *bool `locationName:"dryRun" type:"boolean"`
  51815. // The start of port range for the TCP and UDP protocols, or an ICMP type number.
  51816. // For the ICMP type number, use -1 to specify all ICMP types.
  51817. FromPort *int64 `type:"integer"`
  51818. // The ID of the security group. You must specify either the security group
  51819. // ID or the security group name in the request. For security groups in a nondefault
  51820. // VPC, you must specify the security group ID.
  51821. GroupId *string `type:"string"`
  51822. // [EC2-Classic, default VPC] The name of the security group. You must specify
  51823. // either the security group ID or the security group name in the request.
  51824. GroupName *string `type:"string"`
  51825. // One or more sets of IP permissions. You can't specify a source security group
  51826. // and a CIDR IP address range in the same set of permissions.
  51827. IpPermissions []*IpPermission `locationNameList:"item" type:"list"`
  51828. // The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
  51829. // Use -1 to specify all.
  51830. IpProtocol *string `type:"string"`
  51831. // [EC2-Classic, default VPC] The name of the source security group. You can't
  51832. // specify this parameter in combination with the following parameters: the
  51833. // CIDR IP address range, the start of the port range, the IP protocol, and
  51834. // the end of the port range. For EC2-VPC, the source security group must be
  51835. // in the same VPC. To revoke a specific rule for an IP protocol and port range,
  51836. // use a set of IP permissions instead.
  51837. SourceSecurityGroupName *string `type:"string"`
  51838. // [EC2-Classic] The AWS account ID of the source security group, if the source
  51839. // security group is in a different account. You can't specify this parameter
  51840. // in combination with the following parameters: the CIDR IP address range,
  51841. // the IP protocol, the start of the port range, and the end of the port range.
  51842. // To revoke a specific rule for an IP protocol and port range, use a set of
  51843. // IP permissions instead.
  51844. SourceSecurityGroupOwnerId *string `type:"string"`
  51845. // The end of port range for the TCP and UDP protocols, or an ICMP code number.
  51846. // For the ICMP code number, use -1 to specify all ICMP codes for the ICMP type.
  51847. ToPort *int64 `type:"integer"`
  51848. }
  51849. // String returns the string representation
  51850. func (s RevokeSecurityGroupIngressInput) String() string {
  51851. return awsutil.Prettify(s)
  51852. }
  51853. // GoString returns the string representation
  51854. func (s RevokeSecurityGroupIngressInput) GoString() string {
  51855. return s.String()
  51856. }
  51857. // SetCidrIp sets the CidrIp field's value.
  51858. func (s *RevokeSecurityGroupIngressInput) SetCidrIp(v string) *RevokeSecurityGroupIngressInput {
  51859. s.CidrIp = &v
  51860. return s
  51861. }
  51862. // SetDryRun sets the DryRun field's value.
  51863. func (s *RevokeSecurityGroupIngressInput) SetDryRun(v bool) *RevokeSecurityGroupIngressInput {
  51864. s.DryRun = &v
  51865. return s
  51866. }
  51867. // SetFromPort sets the FromPort field's value.
  51868. func (s *RevokeSecurityGroupIngressInput) SetFromPort(v int64) *RevokeSecurityGroupIngressInput {
  51869. s.FromPort = &v
  51870. return s
  51871. }
  51872. // SetGroupId sets the GroupId field's value.
  51873. func (s *RevokeSecurityGroupIngressInput) SetGroupId(v string) *RevokeSecurityGroupIngressInput {
  51874. s.GroupId = &v
  51875. return s
  51876. }
  51877. // SetGroupName sets the GroupName field's value.
  51878. func (s *RevokeSecurityGroupIngressInput) SetGroupName(v string) *RevokeSecurityGroupIngressInput {
  51879. s.GroupName = &v
  51880. return s
  51881. }
  51882. // SetIpPermissions sets the IpPermissions field's value.
  51883. func (s *RevokeSecurityGroupIngressInput) SetIpPermissions(v []*IpPermission) *RevokeSecurityGroupIngressInput {
  51884. s.IpPermissions = v
  51885. return s
  51886. }
  51887. // SetIpProtocol sets the IpProtocol field's value.
  51888. func (s *RevokeSecurityGroupIngressInput) SetIpProtocol(v string) *RevokeSecurityGroupIngressInput {
  51889. s.IpProtocol = &v
  51890. return s
  51891. }
  51892. // SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
  51893. func (s *RevokeSecurityGroupIngressInput) SetSourceSecurityGroupName(v string) *RevokeSecurityGroupIngressInput {
  51894. s.SourceSecurityGroupName = &v
  51895. return s
  51896. }
  51897. // SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
  51898. func (s *RevokeSecurityGroupIngressInput) SetSourceSecurityGroupOwnerId(v string) *RevokeSecurityGroupIngressInput {
  51899. s.SourceSecurityGroupOwnerId = &v
  51900. return s
  51901. }
  51902. // SetToPort sets the ToPort field's value.
  51903. func (s *RevokeSecurityGroupIngressInput) SetToPort(v int64) *RevokeSecurityGroupIngressInput {
  51904. s.ToPort = &v
  51905. return s
  51906. }
  51907. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupIngressOutput
  51908. type RevokeSecurityGroupIngressOutput struct {
  51909. _ struct{} `type:"structure"`
  51910. }
  51911. // String returns the string representation
  51912. func (s RevokeSecurityGroupIngressOutput) String() string {
  51913. return awsutil.Prettify(s)
  51914. }
  51915. // GoString returns the string representation
  51916. func (s RevokeSecurityGroupIngressOutput) GoString() string {
  51917. return s.String()
  51918. }
  51919. // Describes a route in a route table.
  51920. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Route
  51921. type Route struct {
  51922. _ struct{} `type:"structure"`
  51923. // The IPv4 CIDR block used for the destination match.
  51924. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  51925. // The IPv6 CIDR block used for the destination match.
  51926. DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
  51927. // The prefix of the AWS service.
  51928. DestinationPrefixListId *string `locationName:"destinationPrefixListId" type:"string"`
  51929. // The ID of the egress-only Internet gateway.
  51930. EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
  51931. // The ID of a gateway attached to your VPC.
  51932. GatewayId *string `locationName:"gatewayId" type:"string"`
  51933. // The ID of a NAT instance in your VPC.
  51934. InstanceId *string `locationName:"instanceId" type:"string"`
  51935. // The AWS account ID of the owner of the instance.
  51936. InstanceOwnerId *string `locationName:"instanceOwnerId" type:"string"`
  51937. // The ID of a NAT gateway.
  51938. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  51939. // The ID of the network interface.
  51940. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  51941. // Describes how the route was created.
  51942. //
  51943. // * CreateRouteTable - The route was automatically created when the route
  51944. // table was created.
  51945. //
  51946. // * CreateRoute - The route was manually added to the route table.
  51947. //
  51948. // * EnableVgwRoutePropagation - The route was propagated by route propagation.
  51949. Origin *string `locationName:"origin" type:"string" enum:"RouteOrigin"`
  51950. // The state of the route. The blackhole state indicates that the route's target
  51951. // isn't available (for example, the specified gateway isn't attached to the
  51952. // VPC, or the specified NAT instance has been terminated).
  51953. State *string `locationName:"state" type:"string" enum:"RouteState"`
  51954. // The ID of the VPC peering connection.
  51955. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  51956. }
  51957. // String returns the string representation
  51958. func (s Route) String() string {
  51959. return awsutil.Prettify(s)
  51960. }
  51961. // GoString returns the string representation
  51962. func (s Route) GoString() string {
  51963. return s.String()
  51964. }
  51965. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  51966. func (s *Route) SetDestinationCidrBlock(v string) *Route {
  51967. s.DestinationCidrBlock = &v
  51968. return s
  51969. }
  51970. // SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
  51971. func (s *Route) SetDestinationIpv6CidrBlock(v string) *Route {
  51972. s.DestinationIpv6CidrBlock = &v
  51973. return s
  51974. }
  51975. // SetDestinationPrefixListId sets the DestinationPrefixListId field's value.
  51976. func (s *Route) SetDestinationPrefixListId(v string) *Route {
  51977. s.DestinationPrefixListId = &v
  51978. return s
  51979. }
  51980. // SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
  51981. func (s *Route) SetEgressOnlyInternetGatewayId(v string) *Route {
  51982. s.EgressOnlyInternetGatewayId = &v
  51983. return s
  51984. }
  51985. // SetGatewayId sets the GatewayId field's value.
  51986. func (s *Route) SetGatewayId(v string) *Route {
  51987. s.GatewayId = &v
  51988. return s
  51989. }
  51990. // SetInstanceId sets the InstanceId field's value.
  51991. func (s *Route) SetInstanceId(v string) *Route {
  51992. s.InstanceId = &v
  51993. return s
  51994. }
  51995. // SetInstanceOwnerId sets the InstanceOwnerId field's value.
  51996. func (s *Route) SetInstanceOwnerId(v string) *Route {
  51997. s.InstanceOwnerId = &v
  51998. return s
  51999. }
  52000. // SetNatGatewayId sets the NatGatewayId field's value.
  52001. func (s *Route) SetNatGatewayId(v string) *Route {
  52002. s.NatGatewayId = &v
  52003. return s
  52004. }
  52005. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  52006. func (s *Route) SetNetworkInterfaceId(v string) *Route {
  52007. s.NetworkInterfaceId = &v
  52008. return s
  52009. }
  52010. // SetOrigin sets the Origin field's value.
  52011. func (s *Route) SetOrigin(v string) *Route {
  52012. s.Origin = &v
  52013. return s
  52014. }
  52015. // SetState sets the State field's value.
  52016. func (s *Route) SetState(v string) *Route {
  52017. s.State = &v
  52018. return s
  52019. }
  52020. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  52021. func (s *Route) SetVpcPeeringConnectionId(v string) *Route {
  52022. s.VpcPeeringConnectionId = &v
  52023. return s
  52024. }
  52025. // Describes a route table.
  52026. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RouteTable
  52027. type RouteTable struct {
  52028. _ struct{} `type:"structure"`
  52029. // The associations between the route table and one or more subnets.
  52030. Associations []*RouteTableAssociation `locationName:"associationSet" locationNameList:"item" type:"list"`
  52031. // Any virtual private gateway (VGW) propagating routes.
  52032. PropagatingVgws []*PropagatingVgw `locationName:"propagatingVgwSet" locationNameList:"item" type:"list"`
  52033. // The ID of the route table.
  52034. RouteTableId *string `locationName:"routeTableId" type:"string"`
  52035. // The routes in the route table.
  52036. Routes []*Route `locationName:"routeSet" locationNameList:"item" type:"list"`
  52037. // Any tags assigned to the route table.
  52038. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  52039. // The ID of the VPC.
  52040. VpcId *string `locationName:"vpcId" type:"string"`
  52041. }
  52042. // String returns the string representation
  52043. func (s RouteTable) String() string {
  52044. return awsutil.Prettify(s)
  52045. }
  52046. // GoString returns the string representation
  52047. func (s RouteTable) GoString() string {
  52048. return s.String()
  52049. }
  52050. // SetAssociations sets the Associations field's value.
  52051. func (s *RouteTable) SetAssociations(v []*RouteTableAssociation) *RouteTable {
  52052. s.Associations = v
  52053. return s
  52054. }
  52055. // SetPropagatingVgws sets the PropagatingVgws field's value.
  52056. func (s *RouteTable) SetPropagatingVgws(v []*PropagatingVgw) *RouteTable {
  52057. s.PropagatingVgws = v
  52058. return s
  52059. }
  52060. // SetRouteTableId sets the RouteTableId field's value.
  52061. func (s *RouteTable) SetRouteTableId(v string) *RouteTable {
  52062. s.RouteTableId = &v
  52063. return s
  52064. }
  52065. // SetRoutes sets the Routes field's value.
  52066. func (s *RouteTable) SetRoutes(v []*Route) *RouteTable {
  52067. s.Routes = v
  52068. return s
  52069. }
  52070. // SetTags sets the Tags field's value.
  52071. func (s *RouteTable) SetTags(v []*Tag) *RouteTable {
  52072. s.Tags = v
  52073. return s
  52074. }
  52075. // SetVpcId sets the VpcId field's value.
  52076. func (s *RouteTable) SetVpcId(v string) *RouteTable {
  52077. s.VpcId = &v
  52078. return s
  52079. }
  52080. // Describes an association between a route table and a subnet.
  52081. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RouteTableAssociation
  52082. type RouteTableAssociation struct {
  52083. _ struct{} `type:"structure"`
  52084. // Indicates whether this is the main route table.
  52085. Main *bool `locationName:"main" type:"boolean"`
  52086. // The ID of the association between a route table and a subnet.
  52087. RouteTableAssociationId *string `locationName:"routeTableAssociationId" type:"string"`
  52088. // The ID of the route table.
  52089. RouteTableId *string `locationName:"routeTableId" type:"string"`
  52090. // The ID of the subnet. A subnet ID is not returned for an implicit association.
  52091. SubnetId *string `locationName:"subnetId" type:"string"`
  52092. }
  52093. // String returns the string representation
  52094. func (s RouteTableAssociation) String() string {
  52095. return awsutil.Prettify(s)
  52096. }
  52097. // GoString returns the string representation
  52098. func (s RouteTableAssociation) GoString() string {
  52099. return s.String()
  52100. }
  52101. // SetMain sets the Main field's value.
  52102. func (s *RouteTableAssociation) SetMain(v bool) *RouteTableAssociation {
  52103. s.Main = &v
  52104. return s
  52105. }
  52106. // SetRouteTableAssociationId sets the RouteTableAssociationId field's value.
  52107. func (s *RouteTableAssociation) SetRouteTableAssociationId(v string) *RouteTableAssociation {
  52108. s.RouteTableAssociationId = &v
  52109. return s
  52110. }
  52111. // SetRouteTableId sets the RouteTableId field's value.
  52112. func (s *RouteTableAssociation) SetRouteTableId(v string) *RouteTableAssociation {
  52113. s.RouteTableId = &v
  52114. return s
  52115. }
  52116. // SetSubnetId sets the SubnetId field's value.
  52117. func (s *RouteTableAssociation) SetSubnetId(v string) *RouteTableAssociation {
  52118. s.SubnetId = &v
  52119. return s
  52120. }
  52121. // Contains the parameters for RunInstances.
  52122. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunInstancesRequest
  52123. type RunInstancesInput struct {
  52124. _ struct{} `type:"structure"`
  52125. // Reserved.
  52126. AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
  52127. // One or more block device mapping entries. You can't specify both a snapshot
  52128. // ID and an encryption value. This is because only blank volumes can be encrypted
  52129. // on creation. If a snapshot is the basis for a volume, it is not blank and
  52130. // its encryption status is used for the volume encryption status.
  52131. BlockDeviceMappings []*BlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
  52132. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  52133. // the request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  52134. //
  52135. // Constraints: Maximum 64 ASCII characters
  52136. ClientToken *string `locationName:"clientToken" type:"string"`
  52137. // The credit option for CPU usage of the instance. Valid values are standard
  52138. // and unlimited. To change this attribute after launch, use ModifyInstanceCreditSpecification.
  52139. // For more information, see T2 Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/t2-instances.html)
  52140. // in the Amazon Elastic Compute Cloud User Guide.
  52141. //
  52142. // Default: standard
  52143. CreditSpecification *CreditSpecificationRequest `type:"structure"`
  52144. // If you set this parameter to true, you can't terminate the instance using
  52145. // the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute
  52146. // to false after launch, use ModifyInstanceAttribute. Alternatively, if you
  52147. // set InstanceInitiatedShutdownBehavior to terminate, you can terminate the
  52148. // instance by running the shutdown command from the instance.
  52149. //
  52150. // Default: false
  52151. DisableApiTermination *bool `locationName:"disableApiTermination" type:"boolean"`
  52152. // Checks whether you have the required permissions for the action, without
  52153. // actually making the request, and provides an error response. If you have
  52154. // the required permissions, the error response is DryRunOperation. Otherwise,
  52155. // it is UnauthorizedOperation.
  52156. DryRun *bool `locationName:"dryRun" type:"boolean"`
  52157. // Indicates whether the instance is optimized for Amazon EBS I/O. This optimization
  52158. // provides dedicated throughput to Amazon EBS and an optimized configuration
  52159. // stack to provide optimal Amazon EBS I/O performance. This optimization isn't
  52160. // available with all instance types. Additional usage charges apply when using
  52161. // an EBS-optimized instance.
  52162. //
  52163. // Default: false
  52164. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  52165. // An elastic GPU to associate with the instance.
  52166. ElasticGpuSpecification []*ElasticGpuSpecification `locationNameList:"item" type:"list"`
  52167. // The IAM instance profile.
  52168. IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
  52169. // The ID of the AMI, which you can get by calling DescribeImages.
  52170. ImageId *string `type:"string"`
  52171. // Indicates whether an instance stops or terminates when you initiate shutdown
  52172. // from the instance (using the operating system command for system shutdown).
  52173. //
  52174. // Default: stop
  52175. InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"`
  52176. // The market (purchasing) option for the instances.
  52177. InstanceMarketOptions *InstanceMarketOptionsRequest `type:"structure"`
  52178. // The instance type. For more information, see Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
  52179. // in the Amazon Elastic Compute Cloud User Guide.
  52180. //
  52181. // Default: m1.small
  52182. InstanceType *string `type:"string" enum:"InstanceType"`
  52183. // [EC2-VPC] A number of IPv6 addresses to associate with the primary network
  52184. // interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.
  52185. // You cannot specify this option and the option to assign specific IPv6 addresses
  52186. // in the same request. You can specify this option if you've specified a minimum
  52187. // number of instances to launch.
  52188. Ipv6AddressCount *int64 `type:"integer"`
  52189. // [EC2-VPC] Specify one or more IPv6 addresses from the range of the subnet
  52190. // to associate with the primary network interface. You cannot specify this
  52191. // option and the option to assign a number of IPv6 addresses in the same request.
  52192. // You cannot specify this option if you've specified a minimum number of instances
  52193. // to launch.
  52194. Ipv6Addresses []*InstanceIpv6Address `locationName:"Ipv6Address" locationNameList:"item" type:"list"`
  52195. // The ID of the kernel.
  52196. //
  52197. // We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
  52198. // information, see PV-GRUB (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
  52199. // in the Amazon Elastic Compute Cloud User Guide.
  52200. KernelId *string `type:"string"`
  52201. // The name of the key pair. You can create a key pair using CreateKeyPair or
  52202. // ImportKeyPair.
  52203. //
  52204. // If you do not specify a key pair, you can't connect to the instance unless
  52205. // you choose an AMI that is configured to allow users another way to log in.
  52206. KeyName *string `type:"string"`
  52207. // The launch template to use to launch the instances. Any parameters that you
  52208. // specify in RunInstances override the same parameters in the launch template.
  52209. LaunchTemplate *LaunchTemplateSpecification `type:"structure"`
  52210. // The maximum number of instances to launch. If you specify more instances
  52211. // than Amazon EC2 can launch in the target Availability Zone, Amazon EC2 launches
  52212. // the largest possible number of instances above MinCount.
  52213. //
  52214. // Constraints: Between 1 and the maximum number you're allowed for the specified
  52215. // instance type. For more information about the default limits, and how to
  52216. // 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)
  52217. // in the Amazon EC2 FAQ.
  52218. //
  52219. // MaxCount is a required field
  52220. MaxCount *int64 `type:"integer" required:"true"`
  52221. // The minimum number of instances to launch. If you specify a minimum that
  52222. // is more instances than Amazon EC2 can launch in the target Availability Zone,
  52223. // Amazon EC2 launches no instances.
  52224. //
  52225. // Constraints: Between 1 and the maximum number you're allowed for the specified
  52226. // instance type. For more information about the default limits, and how to
  52227. // 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)
  52228. // in the Amazon EC2 General FAQ.
  52229. //
  52230. // MinCount is a required field
  52231. MinCount *int64 `type:"integer" required:"true"`
  52232. // The monitoring for the instance.
  52233. Monitoring *RunInstancesMonitoringEnabled `type:"structure"`
  52234. // One or more network interfaces.
  52235. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterface" locationNameList:"item" type:"list"`
  52236. // The placement for the instance.
  52237. Placement *Placement `type:"structure"`
  52238. // [EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4
  52239. // address range of the subnet.
  52240. //
  52241. // Only one private IP address can be designated as primary. You can't specify
  52242. // this option if you've specified the option to designate a private IP address
  52243. // as the primary IP address in a network interface specification. You cannot
  52244. // specify this option if you're launching more than one instance in the request.
  52245. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  52246. // The ID of the RAM disk.
  52247. //
  52248. // We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
  52249. // information, see PV-GRUB (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
  52250. // in the Amazon Elastic Compute Cloud User Guide.
  52251. RamdiskId *string `type:"string"`
  52252. // One or more security group IDs. You can create a security group using CreateSecurityGroup.
  52253. //
  52254. // Default: Amazon EC2 uses the default security group.
  52255. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  52256. // [EC2-Classic, default VPC] One or more security group names. For a nondefault
  52257. // VPC, you must use security group IDs instead.
  52258. //
  52259. // Default: Amazon EC2 uses the default security group.
  52260. SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"SecurityGroup" type:"list"`
  52261. // [EC2-VPC] The ID of the subnet to launch the instance into.
  52262. SubnetId *string `type:"string"`
  52263. // The tags to apply to the resources during launch. You can tag instances and
  52264. // volumes. The specified tags are applied to all instances or volumes that
  52265. // are created during launch.
  52266. TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
  52267. // The user data to make available to the instance. For more information, see
  52268. // Running Commands on Your Linux Instance at Launch (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html)
  52269. // (Linux) and Adding User Data (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-add-user-data)
  52270. // (Windows). If you are using a command line tool, base64-encoding is performed
  52271. // for you, and you can load the text from a file. Otherwise, you must provide
  52272. // base64-encoded text.
  52273. UserData *string `type:"string"`
  52274. }
  52275. // String returns the string representation
  52276. func (s RunInstancesInput) String() string {
  52277. return awsutil.Prettify(s)
  52278. }
  52279. // GoString returns the string representation
  52280. func (s RunInstancesInput) GoString() string {
  52281. return s.String()
  52282. }
  52283. // Validate inspects the fields of the type to determine if they are valid.
  52284. func (s *RunInstancesInput) Validate() error {
  52285. invalidParams := request.ErrInvalidParams{Context: "RunInstancesInput"}
  52286. if s.MaxCount == nil {
  52287. invalidParams.Add(request.NewErrParamRequired("MaxCount"))
  52288. }
  52289. if s.MinCount == nil {
  52290. invalidParams.Add(request.NewErrParamRequired("MinCount"))
  52291. }
  52292. if s.CreditSpecification != nil {
  52293. if err := s.CreditSpecification.Validate(); err != nil {
  52294. invalidParams.AddNested("CreditSpecification", err.(request.ErrInvalidParams))
  52295. }
  52296. }
  52297. if s.ElasticGpuSpecification != nil {
  52298. for i, v := range s.ElasticGpuSpecification {
  52299. if v == nil {
  52300. continue
  52301. }
  52302. if err := v.Validate(); err != nil {
  52303. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ElasticGpuSpecification", i), err.(request.ErrInvalidParams))
  52304. }
  52305. }
  52306. }
  52307. if s.Monitoring != nil {
  52308. if err := s.Monitoring.Validate(); err != nil {
  52309. invalidParams.AddNested("Monitoring", err.(request.ErrInvalidParams))
  52310. }
  52311. }
  52312. if s.NetworkInterfaces != nil {
  52313. for i, v := range s.NetworkInterfaces {
  52314. if v == nil {
  52315. continue
  52316. }
  52317. if err := v.Validate(); err != nil {
  52318. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NetworkInterfaces", i), err.(request.ErrInvalidParams))
  52319. }
  52320. }
  52321. }
  52322. if invalidParams.Len() > 0 {
  52323. return invalidParams
  52324. }
  52325. return nil
  52326. }
  52327. // SetAdditionalInfo sets the AdditionalInfo field's value.
  52328. func (s *RunInstancesInput) SetAdditionalInfo(v string) *RunInstancesInput {
  52329. s.AdditionalInfo = &v
  52330. return s
  52331. }
  52332. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  52333. func (s *RunInstancesInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *RunInstancesInput {
  52334. s.BlockDeviceMappings = v
  52335. return s
  52336. }
  52337. // SetClientToken sets the ClientToken field's value.
  52338. func (s *RunInstancesInput) SetClientToken(v string) *RunInstancesInput {
  52339. s.ClientToken = &v
  52340. return s
  52341. }
  52342. // SetCreditSpecification sets the CreditSpecification field's value.
  52343. func (s *RunInstancesInput) SetCreditSpecification(v *CreditSpecificationRequest) *RunInstancesInput {
  52344. s.CreditSpecification = v
  52345. return s
  52346. }
  52347. // SetDisableApiTermination sets the DisableApiTermination field's value.
  52348. func (s *RunInstancesInput) SetDisableApiTermination(v bool) *RunInstancesInput {
  52349. s.DisableApiTermination = &v
  52350. return s
  52351. }
  52352. // SetDryRun sets the DryRun field's value.
  52353. func (s *RunInstancesInput) SetDryRun(v bool) *RunInstancesInput {
  52354. s.DryRun = &v
  52355. return s
  52356. }
  52357. // SetEbsOptimized sets the EbsOptimized field's value.
  52358. func (s *RunInstancesInput) SetEbsOptimized(v bool) *RunInstancesInput {
  52359. s.EbsOptimized = &v
  52360. return s
  52361. }
  52362. // SetElasticGpuSpecification sets the ElasticGpuSpecification field's value.
  52363. func (s *RunInstancesInput) SetElasticGpuSpecification(v []*ElasticGpuSpecification) *RunInstancesInput {
  52364. s.ElasticGpuSpecification = v
  52365. return s
  52366. }
  52367. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  52368. func (s *RunInstancesInput) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *RunInstancesInput {
  52369. s.IamInstanceProfile = v
  52370. return s
  52371. }
  52372. // SetImageId sets the ImageId field's value.
  52373. func (s *RunInstancesInput) SetImageId(v string) *RunInstancesInput {
  52374. s.ImageId = &v
  52375. return s
  52376. }
  52377. // SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
  52378. func (s *RunInstancesInput) SetInstanceInitiatedShutdownBehavior(v string) *RunInstancesInput {
  52379. s.InstanceInitiatedShutdownBehavior = &v
  52380. return s
  52381. }
  52382. // SetInstanceMarketOptions sets the InstanceMarketOptions field's value.
  52383. func (s *RunInstancesInput) SetInstanceMarketOptions(v *InstanceMarketOptionsRequest) *RunInstancesInput {
  52384. s.InstanceMarketOptions = v
  52385. return s
  52386. }
  52387. // SetInstanceType sets the InstanceType field's value.
  52388. func (s *RunInstancesInput) SetInstanceType(v string) *RunInstancesInput {
  52389. s.InstanceType = &v
  52390. return s
  52391. }
  52392. // SetIpv6AddressCount sets the Ipv6AddressCount field's value.
  52393. func (s *RunInstancesInput) SetIpv6AddressCount(v int64) *RunInstancesInput {
  52394. s.Ipv6AddressCount = &v
  52395. return s
  52396. }
  52397. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  52398. func (s *RunInstancesInput) SetIpv6Addresses(v []*InstanceIpv6Address) *RunInstancesInput {
  52399. s.Ipv6Addresses = v
  52400. return s
  52401. }
  52402. // SetKernelId sets the KernelId field's value.
  52403. func (s *RunInstancesInput) SetKernelId(v string) *RunInstancesInput {
  52404. s.KernelId = &v
  52405. return s
  52406. }
  52407. // SetKeyName sets the KeyName field's value.
  52408. func (s *RunInstancesInput) SetKeyName(v string) *RunInstancesInput {
  52409. s.KeyName = &v
  52410. return s
  52411. }
  52412. // SetLaunchTemplate sets the LaunchTemplate field's value.
  52413. func (s *RunInstancesInput) SetLaunchTemplate(v *LaunchTemplateSpecification) *RunInstancesInput {
  52414. s.LaunchTemplate = v
  52415. return s
  52416. }
  52417. // SetMaxCount sets the MaxCount field's value.
  52418. func (s *RunInstancesInput) SetMaxCount(v int64) *RunInstancesInput {
  52419. s.MaxCount = &v
  52420. return s
  52421. }
  52422. // SetMinCount sets the MinCount field's value.
  52423. func (s *RunInstancesInput) SetMinCount(v int64) *RunInstancesInput {
  52424. s.MinCount = &v
  52425. return s
  52426. }
  52427. // SetMonitoring sets the Monitoring field's value.
  52428. func (s *RunInstancesInput) SetMonitoring(v *RunInstancesMonitoringEnabled) *RunInstancesInput {
  52429. s.Monitoring = v
  52430. return s
  52431. }
  52432. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  52433. func (s *RunInstancesInput) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *RunInstancesInput {
  52434. s.NetworkInterfaces = v
  52435. return s
  52436. }
  52437. // SetPlacement sets the Placement field's value.
  52438. func (s *RunInstancesInput) SetPlacement(v *Placement) *RunInstancesInput {
  52439. s.Placement = v
  52440. return s
  52441. }
  52442. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  52443. func (s *RunInstancesInput) SetPrivateIpAddress(v string) *RunInstancesInput {
  52444. s.PrivateIpAddress = &v
  52445. return s
  52446. }
  52447. // SetRamdiskId sets the RamdiskId field's value.
  52448. func (s *RunInstancesInput) SetRamdiskId(v string) *RunInstancesInput {
  52449. s.RamdiskId = &v
  52450. return s
  52451. }
  52452. // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  52453. func (s *RunInstancesInput) SetSecurityGroupIds(v []*string) *RunInstancesInput {
  52454. s.SecurityGroupIds = v
  52455. return s
  52456. }
  52457. // SetSecurityGroups sets the SecurityGroups field's value.
  52458. func (s *RunInstancesInput) SetSecurityGroups(v []*string) *RunInstancesInput {
  52459. s.SecurityGroups = v
  52460. return s
  52461. }
  52462. // SetSubnetId sets the SubnetId field's value.
  52463. func (s *RunInstancesInput) SetSubnetId(v string) *RunInstancesInput {
  52464. s.SubnetId = &v
  52465. return s
  52466. }
  52467. // SetTagSpecifications sets the TagSpecifications field's value.
  52468. func (s *RunInstancesInput) SetTagSpecifications(v []*TagSpecification) *RunInstancesInput {
  52469. s.TagSpecifications = v
  52470. return s
  52471. }
  52472. // SetUserData sets the UserData field's value.
  52473. func (s *RunInstancesInput) SetUserData(v string) *RunInstancesInput {
  52474. s.UserData = &v
  52475. return s
  52476. }
  52477. // Describes the monitoring of an instance.
  52478. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunInstancesMonitoringEnabled
  52479. type RunInstancesMonitoringEnabled struct {
  52480. _ struct{} `type:"structure"`
  52481. // Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring
  52482. // is enabled.
  52483. //
  52484. // Enabled is a required field
  52485. Enabled *bool `locationName:"enabled" type:"boolean" required:"true"`
  52486. }
  52487. // String returns the string representation
  52488. func (s RunInstancesMonitoringEnabled) String() string {
  52489. return awsutil.Prettify(s)
  52490. }
  52491. // GoString returns the string representation
  52492. func (s RunInstancesMonitoringEnabled) GoString() string {
  52493. return s.String()
  52494. }
  52495. // Validate inspects the fields of the type to determine if they are valid.
  52496. func (s *RunInstancesMonitoringEnabled) Validate() error {
  52497. invalidParams := request.ErrInvalidParams{Context: "RunInstancesMonitoringEnabled"}
  52498. if s.Enabled == nil {
  52499. invalidParams.Add(request.NewErrParamRequired("Enabled"))
  52500. }
  52501. if invalidParams.Len() > 0 {
  52502. return invalidParams
  52503. }
  52504. return nil
  52505. }
  52506. // SetEnabled sets the Enabled field's value.
  52507. func (s *RunInstancesMonitoringEnabled) SetEnabled(v bool) *RunInstancesMonitoringEnabled {
  52508. s.Enabled = &v
  52509. return s
  52510. }
  52511. // Contains the parameters for RunScheduledInstances.
  52512. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunScheduledInstancesRequest
  52513. type RunScheduledInstancesInput struct {
  52514. _ struct{} `type:"structure"`
  52515. // Unique, case-sensitive identifier that ensures the idempotency of the request.
  52516. // For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  52517. ClientToken *string `type:"string" idempotencyToken:"true"`
  52518. // Checks whether you have the required permissions for the action, without
  52519. // actually making the request, and provides an error response. If you have
  52520. // the required permissions, the error response is DryRunOperation. Otherwise,
  52521. // it is UnauthorizedOperation.
  52522. DryRun *bool `type:"boolean"`
  52523. // The number of instances.
  52524. //
  52525. // Default: 1
  52526. InstanceCount *int64 `type:"integer"`
  52527. // The launch specification. You must match the instance type, Availability
  52528. // Zone, network, and platform of the schedule that you purchased.
  52529. //
  52530. // LaunchSpecification is a required field
  52531. LaunchSpecification *ScheduledInstancesLaunchSpecification `type:"structure" required:"true"`
  52532. // The Scheduled Instance ID.
  52533. //
  52534. // ScheduledInstanceId is a required field
  52535. ScheduledInstanceId *string `type:"string" required:"true"`
  52536. }
  52537. // String returns the string representation
  52538. func (s RunScheduledInstancesInput) String() string {
  52539. return awsutil.Prettify(s)
  52540. }
  52541. // GoString returns the string representation
  52542. func (s RunScheduledInstancesInput) GoString() string {
  52543. return s.String()
  52544. }
  52545. // Validate inspects the fields of the type to determine if they are valid.
  52546. func (s *RunScheduledInstancesInput) Validate() error {
  52547. invalidParams := request.ErrInvalidParams{Context: "RunScheduledInstancesInput"}
  52548. if s.LaunchSpecification == nil {
  52549. invalidParams.Add(request.NewErrParamRequired("LaunchSpecification"))
  52550. }
  52551. if s.ScheduledInstanceId == nil {
  52552. invalidParams.Add(request.NewErrParamRequired("ScheduledInstanceId"))
  52553. }
  52554. if s.LaunchSpecification != nil {
  52555. if err := s.LaunchSpecification.Validate(); err != nil {
  52556. invalidParams.AddNested("LaunchSpecification", err.(request.ErrInvalidParams))
  52557. }
  52558. }
  52559. if invalidParams.Len() > 0 {
  52560. return invalidParams
  52561. }
  52562. return nil
  52563. }
  52564. // SetClientToken sets the ClientToken field's value.
  52565. func (s *RunScheduledInstancesInput) SetClientToken(v string) *RunScheduledInstancesInput {
  52566. s.ClientToken = &v
  52567. return s
  52568. }
  52569. // SetDryRun sets the DryRun field's value.
  52570. func (s *RunScheduledInstancesInput) SetDryRun(v bool) *RunScheduledInstancesInput {
  52571. s.DryRun = &v
  52572. return s
  52573. }
  52574. // SetInstanceCount sets the InstanceCount field's value.
  52575. func (s *RunScheduledInstancesInput) SetInstanceCount(v int64) *RunScheduledInstancesInput {
  52576. s.InstanceCount = &v
  52577. return s
  52578. }
  52579. // SetLaunchSpecification sets the LaunchSpecification field's value.
  52580. func (s *RunScheduledInstancesInput) SetLaunchSpecification(v *ScheduledInstancesLaunchSpecification) *RunScheduledInstancesInput {
  52581. s.LaunchSpecification = v
  52582. return s
  52583. }
  52584. // SetScheduledInstanceId sets the ScheduledInstanceId field's value.
  52585. func (s *RunScheduledInstancesInput) SetScheduledInstanceId(v string) *RunScheduledInstancesInput {
  52586. s.ScheduledInstanceId = &v
  52587. return s
  52588. }
  52589. // Contains the output of RunScheduledInstances.
  52590. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunScheduledInstancesResult
  52591. type RunScheduledInstancesOutput struct {
  52592. _ struct{} `type:"structure"`
  52593. // The IDs of the newly launched instances.
  52594. InstanceIdSet []*string `locationName:"instanceIdSet" locationNameList:"item" type:"list"`
  52595. }
  52596. // String returns the string representation
  52597. func (s RunScheduledInstancesOutput) String() string {
  52598. return awsutil.Prettify(s)
  52599. }
  52600. // GoString returns the string representation
  52601. func (s RunScheduledInstancesOutput) GoString() string {
  52602. return s.String()
  52603. }
  52604. // SetInstanceIdSet sets the InstanceIdSet field's value.
  52605. func (s *RunScheduledInstancesOutput) SetInstanceIdSet(v []*string) *RunScheduledInstancesOutput {
  52606. s.InstanceIdSet = v
  52607. return s
  52608. }
  52609. // Describes the storage parameters for S3 and S3 buckets for an instance store-backed
  52610. // AMI.
  52611. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/S3Storage
  52612. type S3Storage struct {
  52613. _ struct{} `type:"structure"`
  52614. // The access key ID of the owner of the bucket. Before you specify a value
  52615. // for your access key ID, review and follow the guidance in Best Practices
  52616. // for Managing AWS Access Keys (http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html).
  52617. AWSAccessKeyId *string `type:"string"`
  52618. // The bucket in which to store the AMI. You can specify a bucket that you already
  52619. // own or a new bucket that Amazon EC2 creates on your behalf. If you specify
  52620. // a bucket that belongs to someone else, Amazon EC2 returns an error.
  52621. Bucket *string `locationName:"bucket" type:"string"`
  52622. // The beginning of the file name of the AMI.
  52623. Prefix *string `locationName:"prefix" type:"string"`
  52624. // An Amazon S3 upload policy that gives Amazon EC2 permission to upload items
  52625. // into Amazon S3 on your behalf.
  52626. //
  52627. // UploadPolicy is automatically base64 encoded/decoded by the SDK.
  52628. UploadPolicy []byte `locationName:"uploadPolicy" type:"blob"`
  52629. // The signature of the JSON document.
  52630. UploadPolicySignature *string `locationName:"uploadPolicySignature" type:"string"`
  52631. }
  52632. // String returns the string representation
  52633. func (s S3Storage) String() string {
  52634. return awsutil.Prettify(s)
  52635. }
  52636. // GoString returns the string representation
  52637. func (s S3Storage) GoString() string {
  52638. return s.String()
  52639. }
  52640. // SetAWSAccessKeyId sets the AWSAccessKeyId field's value.
  52641. func (s *S3Storage) SetAWSAccessKeyId(v string) *S3Storage {
  52642. s.AWSAccessKeyId = &v
  52643. return s
  52644. }
  52645. // SetBucket sets the Bucket field's value.
  52646. func (s *S3Storage) SetBucket(v string) *S3Storage {
  52647. s.Bucket = &v
  52648. return s
  52649. }
  52650. // SetPrefix sets the Prefix field's value.
  52651. func (s *S3Storage) SetPrefix(v string) *S3Storage {
  52652. s.Prefix = &v
  52653. return s
  52654. }
  52655. // SetUploadPolicy sets the UploadPolicy field's value.
  52656. func (s *S3Storage) SetUploadPolicy(v []byte) *S3Storage {
  52657. s.UploadPolicy = v
  52658. return s
  52659. }
  52660. // SetUploadPolicySignature sets the UploadPolicySignature field's value.
  52661. func (s *S3Storage) SetUploadPolicySignature(v string) *S3Storage {
  52662. s.UploadPolicySignature = &v
  52663. return s
  52664. }
  52665. // Describes a Scheduled Instance.
  52666. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstance
  52667. type ScheduledInstance struct {
  52668. _ struct{} `type:"structure"`
  52669. // The Availability Zone.
  52670. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  52671. // The date when the Scheduled Instance was purchased.
  52672. CreateDate *time.Time `locationName:"createDate" type:"timestamp" timestampFormat:"iso8601"`
  52673. // The hourly price for a single instance.
  52674. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  52675. // The number of instances.
  52676. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  52677. // The instance type.
  52678. InstanceType *string `locationName:"instanceType" type:"string"`
  52679. // The network platform (EC2-Classic or EC2-VPC).
  52680. NetworkPlatform *string `locationName:"networkPlatform" type:"string"`
  52681. // The time for the next schedule to start.
  52682. NextSlotStartTime *time.Time `locationName:"nextSlotStartTime" type:"timestamp" timestampFormat:"iso8601"`
  52683. // The platform (Linux/UNIX or Windows).
  52684. Platform *string `locationName:"platform" type:"string"`
  52685. // The time that the previous schedule ended or will end.
  52686. PreviousSlotEndTime *time.Time `locationName:"previousSlotEndTime" type:"timestamp" timestampFormat:"iso8601"`
  52687. // The schedule recurrence.
  52688. Recurrence *ScheduledInstanceRecurrence `locationName:"recurrence" type:"structure"`
  52689. // The Scheduled Instance ID.
  52690. ScheduledInstanceId *string `locationName:"scheduledInstanceId" type:"string"`
  52691. // The number of hours in the schedule.
  52692. SlotDurationInHours *int64 `locationName:"slotDurationInHours" type:"integer"`
  52693. // The end date for the Scheduled Instance.
  52694. TermEndDate *time.Time `locationName:"termEndDate" type:"timestamp" timestampFormat:"iso8601"`
  52695. // The start date for the Scheduled Instance.
  52696. TermStartDate *time.Time `locationName:"termStartDate" type:"timestamp" timestampFormat:"iso8601"`
  52697. // The total number of hours for a single instance for the entire term.
  52698. TotalScheduledInstanceHours *int64 `locationName:"totalScheduledInstanceHours" type:"integer"`
  52699. }
  52700. // String returns the string representation
  52701. func (s ScheduledInstance) String() string {
  52702. return awsutil.Prettify(s)
  52703. }
  52704. // GoString returns the string representation
  52705. func (s ScheduledInstance) GoString() string {
  52706. return s.String()
  52707. }
  52708. // SetAvailabilityZone sets the AvailabilityZone field's value.
  52709. func (s *ScheduledInstance) SetAvailabilityZone(v string) *ScheduledInstance {
  52710. s.AvailabilityZone = &v
  52711. return s
  52712. }
  52713. // SetCreateDate sets the CreateDate field's value.
  52714. func (s *ScheduledInstance) SetCreateDate(v time.Time) *ScheduledInstance {
  52715. s.CreateDate = &v
  52716. return s
  52717. }
  52718. // SetHourlyPrice sets the HourlyPrice field's value.
  52719. func (s *ScheduledInstance) SetHourlyPrice(v string) *ScheduledInstance {
  52720. s.HourlyPrice = &v
  52721. return s
  52722. }
  52723. // SetInstanceCount sets the InstanceCount field's value.
  52724. func (s *ScheduledInstance) SetInstanceCount(v int64) *ScheduledInstance {
  52725. s.InstanceCount = &v
  52726. return s
  52727. }
  52728. // SetInstanceType sets the InstanceType field's value.
  52729. func (s *ScheduledInstance) SetInstanceType(v string) *ScheduledInstance {
  52730. s.InstanceType = &v
  52731. return s
  52732. }
  52733. // SetNetworkPlatform sets the NetworkPlatform field's value.
  52734. func (s *ScheduledInstance) SetNetworkPlatform(v string) *ScheduledInstance {
  52735. s.NetworkPlatform = &v
  52736. return s
  52737. }
  52738. // SetNextSlotStartTime sets the NextSlotStartTime field's value.
  52739. func (s *ScheduledInstance) SetNextSlotStartTime(v time.Time) *ScheduledInstance {
  52740. s.NextSlotStartTime = &v
  52741. return s
  52742. }
  52743. // SetPlatform sets the Platform field's value.
  52744. func (s *ScheduledInstance) SetPlatform(v string) *ScheduledInstance {
  52745. s.Platform = &v
  52746. return s
  52747. }
  52748. // SetPreviousSlotEndTime sets the PreviousSlotEndTime field's value.
  52749. func (s *ScheduledInstance) SetPreviousSlotEndTime(v time.Time) *ScheduledInstance {
  52750. s.PreviousSlotEndTime = &v
  52751. return s
  52752. }
  52753. // SetRecurrence sets the Recurrence field's value.
  52754. func (s *ScheduledInstance) SetRecurrence(v *ScheduledInstanceRecurrence) *ScheduledInstance {
  52755. s.Recurrence = v
  52756. return s
  52757. }
  52758. // SetScheduledInstanceId sets the ScheduledInstanceId field's value.
  52759. func (s *ScheduledInstance) SetScheduledInstanceId(v string) *ScheduledInstance {
  52760. s.ScheduledInstanceId = &v
  52761. return s
  52762. }
  52763. // SetSlotDurationInHours sets the SlotDurationInHours field's value.
  52764. func (s *ScheduledInstance) SetSlotDurationInHours(v int64) *ScheduledInstance {
  52765. s.SlotDurationInHours = &v
  52766. return s
  52767. }
  52768. // SetTermEndDate sets the TermEndDate field's value.
  52769. func (s *ScheduledInstance) SetTermEndDate(v time.Time) *ScheduledInstance {
  52770. s.TermEndDate = &v
  52771. return s
  52772. }
  52773. // SetTermStartDate sets the TermStartDate field's value.
  52774. func (s *ScheduledInstance) SetTermStartDate(v time.Time) *ScheduledInstance {
  52775. s.TermStartDate = &v
  52776. return s
  52777. }
  52778. // SetTotalScheduledInstanceHours sets the TotalScheduledInstanceHours field's value.
  52779. func (s *ScheduledInstance) SetTotalScheduledInstanceHours(v int64) *ScheduledInstance {
  52780. s.TotalScheduledInstanceHours = &v
  52781. return s
  52782. }
  52783. // Describes a schedule that is available for your Scheduled Instances.
  52784. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstanceAvailability
  52785. type ScheduledInstanceAvailability struct {
  52786. _ struct{} `type:"structure"`
  52787. // The Availability Zone.
  52788. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  52789. // The number of available instances.
  52790. AvailableInstanceCount *int64 `locationName:"availableInstanceCount" type:"integer"`
  52791. // The time period for the first schedule to start.
  52792. FirstSlotStartTime *time.Time `locationName:"firstSlotStartTime" type:"timestamp" timestampFormat:"iso8601"`
  52793. // The hourly price for a single instance.
  52794. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  52795. // The instance type. You can specify one of the C3, C4, M4, or R3 instance
  52796. // types.
  52797. InstanceType *string `locationName:"instanceType" type:"string"`
  52798. // The maximum term. The only possible value is 365 days.
  52799. MaxTermDurationInDays *int64 `locationName:"maxTermDurationInDays" type:"integer"`
  52800. // The minimum term. The only possible value is 365 days.
  52801. MinTermDurationInDays *int64 `locationName:"minTermDurationInDays" type:"integer"`
  52802. // The network platform (EC2-Classic or EC2-VPC).
  52803. NetworkPlatform *string `locationName:"networkPlatform" type:"string"`
  52804. // The platform (Linux/UNIX or Windows).
  52805. Platform *string `locationName:"platform" type:"string"`
  52806. // The purchase token. This token expires in two hours.
  52807. PurchaseToken *string `locationName:"purchaseToken" type:"string"`
  52808. // The schedule recurrence.
  52809. Recurrence *ScheduledInstanceRecurrence `locationName:"recurrence" type:"structure"`
  52810. // The number of hours in the schedule.
  52811. SlotDurationInHours *int64 `locationName:"slotDurationInHours" type:"integer"`
  52812. // The total number of hours for a single instance for the entire term.
  52813. TotalScheduledInstanceHours *int64 `locationName:"totalScheduledInstanceHours" type:"integer"`
  52814. }
  52815. // String returns the string representation
  52816. func (s ScheduledInstanceAvailability) String() string {
  52817. return awsutil.Prettify(s)
  52818. }
  52819. // GoString returns the string representation
  52820. func (s ScheduledInstanceAvailability) GoString() string {
  52821. return s.String()
  52822. }
  52823. // SetAvailabilityZone sets the AvailabilityZone field's value.
  52824. func (s *ScheduledInstanceAvailability) SetAvailabilityZone(v string) *ScheduledInstanceAvailability {
  52825. s.AvailabilityZone = &v
  52826. return s
  52827. }
  52828. // SetAvailableInstanceCount sets the AvailableInstanceCount field's value.
  52829. func (s *ScheduledInstanceAvailability) SetAvailableInstanceCount(v int64) *ScheduledInstanceAvailability {
  52830. s.AvailableInstanceCount = &v
  52831. return s
  52832. }
  52833. // SetFirstSlotStartTime sets the FirstSlotStartTime field's value.
  52834. func (s *ScheduledInstanceAvailability) SetFirstSlotStartTime(v time.Time) *ScheduledInstanceAvailability {
  52835. s.FirstSlotStartTime = &v
  52836. return s
  52837. }
  52838. // SetHourlyPrice sets the HourlyPrice field's value.
  52839. func (s *ScheduledInstanceAvailability) SetHourlyPrice(v string) *ScheduledInstanceAvailability {
  52840. s.HourlyPrice = &v
  52841. return s
  52842. }
  52843. // SetInstanceType sets the InstanceType field's value.
  52844. func (s *ScheduledInstanceAvailability) SetInstanceType(v string) *ScheduledInstanceAvailability {
  52845. s.InstanceType = &v
  52846. return s
  52847. }
  52848. // SetMaxTermDurationInDays sets the MaxTermDurationInDays field's value.
  52849. func (s *ScheduledInstanceAvailability) SetMaxTermDurationInDays(v int64) *ScheduledInstanceAvailability {
  52850. s.MaxTermDurationInDays = &v
  52851. return s
  52852. }
  52853. // SetMinTermDurationInDays sets the MinTermDurationInDays field's value.
  52854. func (s *ScheduledInstanceAvailability) SetMinTermDurationInDays(v int64) *ScheduledInstanceAvailability {
  52855. s.MinTermDurationInDays = &v
  52856. return s
  52857. }
  52858. // SetNetworkPlatform sets the NetworkPlatform field's value.
  52859. func (s *ScheduledInstanceAvailability) SetNetworkPlatform(v string) *ScheduledInstanceAvailability {
  52860. s.NetworkPlatform = &v
  52861. return s
  52862. }
  52863. // SetPlatform sets the Platform field's value.
  52864. func (s *ScheduledInstanceAvailability) SetPlatform(v string) *ScheduledInstanceAvailability {
  52865. s.Platform = &v
  52866. return s
  52867. }
  52868. // SetPurchaseToken sets the PurchaseToken field's value.
  52869. func (s *ScheduledInstanceAvailability) SetPurchaseToken(v string) *ScheduledInstanceAvailability {
  52870. s.PurchaseToken = &v
  52871. return s
  52872. }
  52873. // SetRecurrence sets the Recurrence field's value.
  52874. func (s *ScheduledInstanceAvailability) SetRecurrence(v *ScheduledInstanceRecurrence) *ScheduledInstanceAvailability {
  52875. s.Recurrence = v
  52876. return s
  52877. }
  52878. // SetSlotDurationInHours sets the SlotDurationInHours field's value.
  52879. func (s *ScheduledInstanceAvailability) SetSlotDurationInHours(v int64) *ScheduledInstanceAvailability {
  52880. s.SlotDurationInHours = &v
  52881. return s
  52882. }
  52883. // SetTotalScheduledInstanceHours sets the TotalScheduledInstanceHours field's value.
  52884. func (s *ScheduledInstanceAvailability) SetTotalScheduledInstanceHours(v int64) *ScheduledInstanceAvailability {
  52885. s.TotalScheduledInstanceHours = &v
  52886. return s
  52887. }
  52888. // Describes the recurring schedule for a Scheduled Instance.
  52889. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstanceRecurrence
  52890. type ScheduledInstanceRecurrence struct {
  52891. _ struct{} `type:"structure"`
  52892. // The frequency (Daily, Weekly, or Monthly).
  52893. Frequency *string `locationName:"frequency" type:"string"`
  52894. // The interval quantity. The interval unit depends on the value of frequency.
  52895. // For example, every 2 weeks or every 2 months.
  52896. Interval *int64 `locationName:"interval" type:"integer"`
  52897. // The days. For a monthly schedule, this is one or more days of the month (1-31).
  52898. // For a weekly schedule, this is one or more days of the week (1-7, where 1
  52899. // is Sunday).
  52900. OccurrenceDaySet []*int64 `locationName:"occurrenceDaySet" locationNameList:"item" type:"list"`
  52901. // Indicates whether the occurrence is relative to the end of the specified
  52902. // week or month.
  52903. OccurrenceRelativeToEnd *bool `locationName:"occurrenceRelativeToEnd" type:"boolean"`
  52904. // The unit for occurrenceDaySet (DayOfWeek or DayOfMonth).
  52905. OccurrenceUnit *string `locationName:"occurrenceUnit" type:"string"`
  52906. }
  52907. // String returns the string representation
  52908. func (s ScheduledInstanceRecurrence) String() string {
  52909. return awsutil.Prettify(s)
  52910. }
  52911. // GoString returns the string representation
  52912. func (s ScheduledInstanceRecurrence) GoString() string {
  52913. return s.String()
  52914. }
  52915. // SetFrequency sets the Frequency field's value.
  52916. func (s *ScheduledInstanceRecurrence) SetFrequency(v string) *ScheduledInstanceRecurrence {
  52917. s.Frequency = &v
  52918. return s
  52919. }
  52920. // SetInterval sets the Interval field's value.
  52921. func (s *ScheduledInstanceRecurrence) SetInterval(v int64) *ScheduledInstanceRecurrence {
  52922. s.Interval = &v
  52923. return s
  52924. }
  52925. // SetOccurrenceDaySet sets the OccurrenceDaySet field's value.
  52926. func (s *ScheduledInstanceRecurrence) SetOccurrenceDaySet(v []*int64) *ScheduledInstanceRecurrence {
  52927. s.OccurrenceDaySet = v
  52928. return s
  52929. }
  52930. // SetOccurrenceRelativeToEnd sets the OccurrenceRelativeToEnd field's value.
  52931. func (s *ScheduledInstanceRecurrence) SetOccurrenceRelativeToEnd(v bool) *ScheduledInstanceRecurrence {
  52932. s.OccurrenceRelativeToEnd = &v
  52933. return s
  52934. }
  52935. // SetOccurrenceUnit sets the OccurrenceUnit field's value.
  52936. func (s *ScheduledInstanceRecurrence) SetOccurrenceUnit(v string) *ScheduledInstanceRecurrence {
  52937. s.OccurrenceUnit = &v
  52938. return s
  52939. }
  52940. // Describes the recurring schedule for a Scheduled Instance.
  52941. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstanceRecurrenceRequest
  52942. type ScheduledInstanceRecurrenceRequest struct {
  52943. _ struct{} `type:"structure"`
  52944. // The frequency (Daily, Weekly, or Monthly).
  52945. Frequency *string `type:"string"`
  52946. // The interval quantity. The interval unit depends on the value of Frequency.
  52947. // For example, every 2 weeks or every 2 months.
  52948. Interval *int64 `type:"integer"`
  52949. // The days. For a monthly schedule, this is one or more days of the month (1-31).
  52950. // For a weekly schedule, this is one or more days of the week (1-7, where 1
  52951. // is Sunday). You can't specify this value with a daily schedule. If the occurrence
  52952. // is relative to the end of the month, you can specify only a single day.
  52953. OccurrenceDays []*int64 `locationName:"OccurrenceDay" locationNameList:"OccurenceDay" type:"list"`
  52954. // Indicates whether the occurrence is relative to the end of the specified
  52955. // week or month. You can't specify this value with a daily schedule.
  52956. OccurrenceRelativeToEnd *bool `type:"boolean"`
  52957. // The unit for OccurrenceDays (DayOfWeek or DayOfMonth). This value is required
  52958. // for a monthly schedule. You can't specify DayOfWeek with a weekly schedule.
  52959. // You can't specify this value with a daily schedule.
  52960. OccurrenceUnit *string `type:"string"`
  52961. }
  52962. // String returns the string representation
  52963. func (s ScheduledInstanceRecurrenceRequest) String() string {
  52964. return awsutil.Prettify(s)
  52965. }
  52966. // GoString returns the string representation
  52967. func (s ScheduledInstanceRecurrenceRequest) GoString() string {
  52968. return s.String()
  52969. }
  52970. // SetFrequency sets the Frequency field's value.
  52971. func (s *ScheduledInstanceRecurrenceRequest) SetFrequency(v string) *ScheduledInstanceRecurrenceRequest {
  52972. s.Frequency = &v
  52973. return s
  52974. }
  52975. // SetInterval sets the Interval field's value.
  52976. func (s *ScheduledInstanceRecurrenceRequest) SetInterval(v int64) *ScheduledInstanceRecurrenceRequest {
  52977. s.Interval = &v
  52978. return s
  52979. }
  52980. // SetOccurrenceDays sets the OccurrenceDays field's value.
  52981. func (s *ScheduledInstanceRecurrenceRequest) SetOccurrenceDays(v []*int64) *ScheduledInstanceRecurrenceRequest {
  52982. s.OccurrenceDays = v
  52983. return s
  52984. }
  52985. // SetOccurrenceRelativeToEnd sets the OccurrenceRelativeToEnd field's value.
  52986. func (s *ScheduledInstanceRecurrenceRequest) SetOccurrenceRelativeToEnd(v bool) *ScheduledInstanceRecurrenceRequest {
  52987. s.OccurrenceRelativeToEnd = &v
  52988. return s
  52989. }
  52990. // SetOccurrenceUnit sets the OccurrenceUnit field's value.
  52991. func (s *ScheduledInstanceRecurrenceRequest) SetOccurrenceUnit(v string) *ScheduledInstanceRecurrenceRequest {
  52992. s.OccurrenceUnit = &v
  52993. return s
  52994. }
  52995. // Describes a block device mapping for a Scheduled Instance.
  52996. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstancesBlockDeviceMapping
  52997. type ScheduledInstancesBlockDeviceMapping struct {
  52998. _ struct{} `type:"structure"`
  52999. // The device name (for example, /dev/sdh or xvdh).
  53000. DeviceName *string `type:"string"`
  53001. // Parameters used to set up EBS volumes automatically when the instance is
  53002. // launched.
  53003. Ebs *ScheduledInstancesEbs `type:"structure"`
  53004. // Suppresses the specified device included in the block device mapping of the
  53005. // AMI.
  53006. NoDevice *string `type:"string"`
  53007. // The virtual device name (ephemeralN). Instance store volumes are numbered
  53008. // starting from 0. An instance type with two available instance store volumes
  53009. // can specify mappings for ephemeral0 and ephemeral1. The number of available
  53010. // instance store volumes depends on the instance type. After you connect to
  53011. // the instance, you must mount the volume.
  53012. //
  53013. // Constraints: For M3 instances, you must specify instance store volumes in
  53014. // the block device mapping for the instance. When you launch an M3 instance,
  53015. // we ignore any instance store volumes specified in the block device mapping
  53016. // for the AMI.
  53017. VirtualName *string `type:"string"`
  53018. }
  53019. // String returns the string representation
  53020. func (s ScheduledInstancesBlockDeviceMapping) String() string {
  53021. return awsutil.Prettify(s)
  53022. }
  53023. // GoString returns the string representation
  53024. func (s ScheduledInstancesBlockDeviceMapping) GoString() string {
  53025. return s.String()
  53026. }
  53027. // SetDeviceName sets the DeviceName field's value.
  53028. func (s *ScheduledInstancesBlockDeviceMapping) SetDeviceName(v string) *ScheduledInstancesBlockDeviceMapping {
  53029. s.DeviceName = &v
  53030. return s
  53031. }
  53032. // SetEbs sets the Ebs field's value.
  53033. func (s *ScheduledInstancesBlockDeviceMapping) SetEbs(v *ScheduledInstancesEbs) *ScheduledInstancesBlockDeviceMapping {
  53034. s.Ebs = v
  53035. return s
  53036. }
  53037. // SetNoDevice sets the NoDevice field's value.
  53038. func (s *ScheduledInstancesBlockDeviceMapping) SetNoDevice(v string) *ScheduledInstancesBlockDeviceMapping {
  53039. s.NoDevice = &v
  53040. return s
  53041. }
  53042. // SetVirtualName sets the VirtualName field's value.
  53043. func (s *ScheduledInstancesBlockDeviceMapping) SetVirtualName(v string) *ScheduledInstancesBlockDeviceMapping {
  53044. s.VirtualName = &v
  53045. return s
  53046. }
  53047. // Describes an EBS volume for a Scheduled Instance.
  53048. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstancesEbs
  53049. type ScheduledInstancesEbs struct {
  53050. _ struct{} `type:"structure"`
  53051. // Indicates whether the volume is deleted on instance termination.
  53052. DeleteOnTermination *bool `type:"boolean"`
  53053. // Indicates whether the volume is encrypted. You can attached encrypted volumes
  53054. // only to instances that support them.
  53055. Encrypted *bool `type:"boolean"`
  53056. // The number of I/O operations per second (IOPS) that the volume supports.
  53057. // For io1 volumes, this represents the number of IOPS that are provisioned
  53058. // for the volume. For gp2 volumes, this represents the baseline performance
  53059. // of the volume and the rate at which the volume accumulates I/O credits for
  53060. // bursting. For more information about gp2 baseline performance, I/O credits,
  53061. // and bursting, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
  53062. // in the Amazon Elastic Compute Cloud User Guide.
  53063. //
  53064. // Constraint: Range is 100-20000 IOPS for io1 volumes and 100-10000 IOPS for
  53065. // gp2 volumes.
  53066. //
  53067. // Condition: This parameter is required for requests to create io1volumes;
  53068. // it is not used in requests to create gp2, st1, sc1, or standard volumes.
  53069. Iops *int64 `type:"integer"`
  53070. // The ID of the snapshot.
  53071. SnapshotId *string `type:"string"`
  53072. // The size of the volume, in GiB.
  53073. //
  53074. // Default: If you're creating the volume from a snapshot and don't specify
  53075. // a volume size, the default is the snapshot size.
  53076. VolumeSize *int64 `type:"integer"`
  53077. // The volume type. gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD,
  53078. // Throughput Optimized HDD for st1, Cold HDD for sc1, or standard for Magnetic.
  53079. //
  53080. // Default: standard
  53081. VolumeType *string `type:"string"`
  53082. }
  53083. // String returns the string representation
  53084. func (s ScheduledInstancesEbs) String() string {
  53085. return awsutil.Prettify(s)
  53086. }
  53087. // GoString returns the string representation
  53088. func (s ScheduledInstancesEbs) GoString() string {
  53089. return s.String()
  53090. }
  53091. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  53092. func (s *ScheduledInstancesEbs) SetDeleteOnTermination(v bool) *ScheduledInstancesEbs {
  53093. s.DeleteOnTermination = &v
  53094. return s
  53095. }
  53096. // SetEncrypted sets the Encrypted field's value.
  53097. func (s *ScheduledInstancesEbs) SetEncrypted(v bool) *ScheduledInstancesEbs {
  53098. s.Encrypted = &v
  53099. return s
  53100. }
  53101. // SetIops sets the Iops field's value.
  53102. func (s *ScheduledInstancesEbs) SetIops(v int64) *ScheduledInstancesEbs {
  53103. s.Iops = &v
  53104. return s
  53105. }
  53106. // SetSnapshotId sets the SnapshotId field's value.
  53107. func (s *ScheduledInstancesEbs) SetSnapshotId(v string) *ScheduledInstancesEbs {
  53108. s.SnapshotId = &v
  53109. return s
  53110. }
  53111. // SetVolumeSize sets the VolumeSize field's value.
  53112. func (s *ScheduledInstancesEbs) SetVolumeSize(v int64) *ScheduledInstancesEbs {
  53113. s.VolumeSize = &v
  53114. return s
  53115. }
  53116. // SetVolumeType sets the VolumeType field's value.
  53117. func (s *ScheduledInstancesEbs) SetVolumeType(v string) *ScheduledInstancesEbs {
  53118. s.VolumeType = &v
  53119. return s
  53120. }
  53121. // Describes an IAM instance profile for a Scheduled Instance.
  53122. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstancesIamInstanceProfile
  53123. type ScheduledInstancesIamInstanceProfile struct {
  53124. _ struct{} `type:"structure"`
  53125. // The Amazon Resource Name (ARN).
  53126. Arn *string `type:"string"`
  53127. // The name.
  53128. Name *string `type:"string"`
  53129. }
  53130. // String returns the string representation
  53131. func (s ScheduledInstancesIamInstanceProfile) String() string {
  53132. return awsutil.Prettify(s)
  53133. }
  53134. // GoString returns the string representation
  53135. func (s ScheduledInstancesIamInstanceProfile) GoString() string {
  53136. return s.String()
  53137. }
  53138. // SetArn sets the Arn field's value.
  53139. func (s *ScheduledInstancesIamInstanceProfile) SetArn(v string) *ScheduledInstancesIamInstanceProfile {
  53140. s.Arn = &v
  53141. return s
  53142. }
  53143. // SetName sets the Name field's value.
  53144. func (s *ScheduledInstancesIamInstanceProfile) SetName(v string) *ScheduledInstancesIamInstanceProfile {
  53145. s.Name = &v
  53146. return s
  53147. }
  53148. // Describes an IPv6 address.
  53149. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstancesIpv6Address
  53150. type ScheduledInstancesIpv6Address struct {
  53151. _ struct{} `type:"structure"`
  53152. // The IPv6 address.
  53153. Ipv6Address *string `type:"string"`
  53154. }
  53155. // String returns the string representation
  53156. func (s ScheduledInstancesIpv6Address) String() string {
  53157. return awsutil.Prettify(s)
  53158. }
  53159. // GoString returns the string representation
  53160. func (s ScheduledInstancesIpv6Address) GoString() string {
  53161. return s.String()
  53162. }
  53163. // SetIpv6Address sets the Ipv6Address field's value.
  53164. func (s *ScheduledInstancesIpv6Address) SetIpv6Address(v string) *ScheduledInstancesIpv6Address {
  53165. s.Ipv6Address = &v
  53166. return s
  53167. }
  53168. // Describes the launch specification for a Scheduled Instance.
  53169. //
  53170. // If you are launching the Scheduled Instance in EC2-VPC, you must specify
  53171. // the ID of the subnet. You can specify the subnet using either SubnetId or
  53172. // NetworkInterface.
  53173. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstancesLaunchSpecification
  53174. type ScheduledInstancesLaunchSpecification struct {
  53175. _ struct{} `type:"structure"`
  53176. // One or more block device mapping entries.
  53177. BlockDeviceMappings []*ScheduledInstancesBlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
  53178. // Indicates whether the instances are optimized for EBS I/O. This optimization
  53179. // provides dedicated throughput to Amazon EBS and an optimized configuration
  53180. // stack to provide optimal EBS I/O performance. This optimization isn't available
  53181. // with all instance types. Additional usage charges apply when using an EBS-optimized
  53182. // instance.
  53183. //
  53184. // Default: false
  53185. EbsOptimized *bool `type:"boolean"`
  53186. // The IAM instance profile.
  53187. IamInstanceProfile *ScheduledInstancesIamInstanceProfile `type:"structure"`
  53188. // The ID of the Amazon Machine Image (AMI).
  53189. //
  53190. // ImageId is a required field
  53191. ImageId *string `type:"string" required:"true"`
  53192. // The instance type.
  53193. InstanceType *string `type:"string"`
  53194. // The ID of the kernel.
  53195. KernelId *string `type:"string"`
  53196. // The name of the key pair.
  53197. KeyName *string `type:"string"`
  53198. // Enable or disable monitoring for the instances.
  53199. Monitoring *ScheduledInstancesMonitoring `type:"structure"`
  53200. // One or more network interfaces.
  53201. NetworkInterfaces []*ScheduledInstancesNetworkInterface `locationName:"NetworkInterface" locationNameList:"NetworkInterface" type:"list"`
  53202. // The placement information.
  53203. Placement *ScheduledInstancesPlacement `type:"structure"`
  53204. // The ID of the RAM disk.
  53205. RamdiskId *string `type:"string"`
  53206. // The IDs of one or more security groups.
  53207. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  53208. // The ID of the subnet in which to launch the instances.
  53209. SubnetId *string `type:"string"`
  53210. // The base64-encoded MIME user data.
  53211. UserData *string `type:"string"`
  53212. }
  53213. // String returns the string representation
  53214. func (s ScheduledInstancesLaunchSpecification) String() string {
  53215. return awsutil.Prettify(s)
  53216. }
  53217. // GoString returns the string representation
  53218. func (s ScheduledInstancesLaunchSpecification) GoString() string {
  53219. return s.String()
  53220. }
  53221. // Validate inspects the fields of the type to determine if they are valid.
  53222. func (s *ScheduledInstancesLaunchSpecification) Validate() error {
  53223. invalidParams := request.ErrInvalidParams{Context: "ScheduledInstancesLaunchSpecification"}
  53224. if s.ImageId == nil {
  53225. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  53226. }
  53227. if invalidParams.Len() > 0 {
  53228. return invalidParams
  53229. }
  53230. return nil
  53231. }
  53232. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  53233. func (s *ScheduledInstancesLaunchSpecification) SetBlockDeviceMappings(v []*ScheduledInstancesBlockDeviceMapping) *ScheduledInstancesLaunchSpecification {
  53234. s.BlockDeviceMappings = v
  53235. return s
  53236. }
  53237. // SetEbsOptimized sets the EbsOptimized field's value.
  53238. func (s *ScheduledInstancesLaunchSpecification) SetEbsOptimized(v bool) *ScheduledInstancesLaunchSpecification {
  53239. s.EbsOptimized = &v
  53240. return s
  53241. }
  53242. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  53243. func (s *ScheduledInstancesLaunchSpecification) SetIamInstanceProfile(v *ScheduledInstancesIamInstanceProfile) *ScheduledInstancesLaunchSpecification {
  53244. s.IamInstanceProfile = v
  53245. return s
  53246. }
  53247. // SetImageId sets the ImageId field's value.
  53248. func (s *ScheduledInstancesLaunchSpecification) SetImageId(v string) *ScheduledInstancesLaunchSpecification {
  53249. s.ImageId = &v
  53250. return s
  53251. }
  53252. // SetInstanceType sets the InstanceType field's value.
  53253. func (s *ScheduledInstancesLaunchSpecification) SetInstanceType(v string) *ScheduledInstancesLaunchSpecification {
  53254. s.InstanceType = &v
  53255. return s
  53256. }
  53257. // SetKernelId sets the KernelId field's value.
  53258. func (s *ScheduledInstancesLaunchSpecification) SetKernelId(v string) *ScheduledInstancesLaunchSpecification {
  53259. s.KernelId = &v
  53260. return s
  53261. }
  53262. // SetKeyName sets the KeyName field's value.
  53263. func (s *ScheduledInstancesLaunchSpecification) SetKeyName(v string) *ScheduledInstancesLaunchSpecification {
  53264. s.KeyName = &v
  53265. return s
  53266. }
  53267. // SetMonitoring sets the Monitoring field's value.
  53268. func (s *ScheduledInstancesLaunchSpecification) SetMonitoring(v *ScheduledInstancesMonitoring) *ScheduledInstancesLaunchSpecification {
  53269. s.Monitoring = v
  53270. return s
  53271. }
  53272. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  53273. func (s *ScheduledInstancesLaunchSpecification) SetNetworkInterfaces(v []*ScheduledInstancesNetworkInterface) *ScheduledInstancesLaunchSpecification {
  53274. s.NetworkInterfaces = v
  53275. return s
  53276. }
  53277. // SetPlacement sets the Placement field's value.
  53278. func (s *ScheduledInstancesLaunchSpecification) SetPlacement(v *ScheduledInstancesPlacement) *ScheduledInstancesLaunchSpecification {
  53279. s.Placement = v
  53280. return s
  53281. }
  53282. // SetRamdiskId sets the RamdiskId field's value.
  53283. func (s *ScheduledInstancesLaunchSpecification) SetRamdiskId(v string) *ScheduledInstancesLaunchSpecification {
  53284. s.RamdiskId = &v
  53285. return s
  53286. }
  53287. // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  53288. func (s *ScheduledInstancesLaunchSpecification) SetSecurityGroupIds(v []*string) *ScheduledInstancesLaunchSpecification {
  53289. s.SecurityGroupIds = v
  53290. return s
  53291. }
  53292. // SetSubnetId sets the SubnetId field's value.
  53293. func (s *ScheduledInstancesLaunchSpecification) SetSubnetId(v string) *ScheduledInstancesLaunchSpecification {
  53294. s.SubnetId = &v
  53295. return s
  53296. }
  53297. // SetUserData sets the UserData field's value.
  53298. func (s *ScheduledInstancesLaunchSpecification) SetUserData(v string) *ScheduledInstancesLaunchSpecification {
  53299. s.UserData = &v
  53300. return s
  53301. }
  53302. // Describes whether monitoring is enabled for a Scheduled Instance.
  53303. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstancesMonitoring
  53304. type ScheduledInstancesMonitoring struct {
  53305. _ struct{} `type:"structure"`
  53306. // Indicates whether monitoring is enabled.
  53307. Enabled *bool `type:"boolean"`
  53308. }
  53309. // String returns the string representation
  53310. func (s ScheduledInstancesMonitoring) String() string {
  53311. return awsutil.Prettify(s)
  53312. }
  53313. // GoString returns the string representation
  53314. func (s ScheduledInstancesMonitoring) GoString() string {
  53315. return s.String()
  53316. }
  53317. // SetEnabled sets the Enabled field's value.
  53318. func (s *ScheduledInstancesMonitoring) SetEnabled(v bool) *ScheduledInstancesMonitoring {
  53319. s.Enabled = &v
  53320. return s
  53321. }
  53322. // Describes a network interface for a Scheduled Instance.
  53323. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstancesNetworkInterface
  53324. type ScheduledInstancesNetworkInterface struct {
  53325. _ struct{} `type:"structure"`
  53326. // Indicates whether to assign a public IPv4 address to instances launched in
  53327. // a VPC. The public IPv4 address can only be assigned to a network interface
  53328. // for eth0, and can only be assigned to a new network interface, not an existing
  53329. // one. You cannot specify more than one network interface in the request. If
  53330. // launching into a default subnet, the default value is true.
  53331. AssociatePublicIpAddress *bool `type:"boolean"`
  53332. // Indicates whether to delete the interface when the instance is terminated.
  53333. DeleteOnTermination *bool `type:"boolean"`
  53334. // The description.
  53335. Description *string `type:"string"`
  53336. // The index of the device for the network interface attachment.
  53337. DeviceIndex *int64 `type:"integer"`
  53338. // The IDs of one or more security groups.
  53339. Groups []*string `locationName:"Group" locationNameList:"SecurityGroupId" type:"list"`
  53340. // The number of IPv6 addresses to assign to the network interface. The IPv6
  53341. // addresses are automatically selected from the subnet range.
  53342. Ipv6AddressCount *int64 `type:"integer"`
  53343. // One or more specific IPv6 addresses from the subnet range.
  53344. Ipv6Addresses []*ScheduledInstancesIpv6Address `locationName:"Ipv6Address" locationNameList:"Ipv6Address" type:"list"`
  53345. // The ID of the network interface.
  53346. NetworkInterfaceId *string `type:"string"`
  53347. // The IPv4 address of the network interface within the subnet.
  53348. PrivateIpAddress *string `type:"string"`
  53349. // The private IPv4 addresses.
  53350. PrivateIpAddressConfigs []*ScheduledInstancesPrivateIpAddressConfig `locationName:"PrivateIpAddressConfig" locationNameList:"PrivateIpAddressConfigSet" type:"list"`
  53351. // The number of secondary private IPv4 addresses.
  53352. SecondaryPrivateIpAddressCount *int64 `type:"integer"`
  53353. // The ID of the subnet.
  53354. SubnetId *string `type:"string"`
  53355. }
  53356. // String returns the string representation
  53357. func (s ScheduledInstancesNetworkInterface) String() string {
  53358. return awsutil.Prettify(s)
  53359. }
  53360. // GoString returns the string representation
  53361. func (s ScheduledInstancesNetworkInterface) GoString() string {
  53362. return s.String()
  53363. }
  53364. // SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
  53365. func (s *ScheduledInstancesNetworkInterface) SetAssociatePublicIpAddress(v bool) *ScheduledInstancesNetworkInterface {
  53366. s.AssociatePublicIpAddress = &v
  53367. return s
  53368. }
  53369. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  53370. func (s *ScheduledInstancesNetworkInterface) SetDeleteOnTermination(v bool) *ScheduledInstancesNetworkInterface {
  53371. s.DeleteOnTermination = &v
  53372. return s
  53373. }
  53374. // SetDescription sets the Description field's value.
  53375. func (s *ScheduledInstancesNetworkInterface) SetDescription(v string) *ScheduledInstancesNetworkInterface {
  53376. s.Description = &v
  53377. return s
  53378. }
  53379. // SetDeviceIndex sets the DeviceIndex field's value.
  53380. func (s *ScheduledInstancesNetworkInterface) SetDeviceIndex(v int64) *ScheduledInstancesNetworkInterface {
  53381. s.DeviceIndex = &v
  53382. return s
  53383. }
  53384. // SetGroups sets the Groups field's value.
  53385. func (s *ScheduledInstancesNetworkInterface) SetGroups(v []*string) *ScheduledInstancesNetworkInterface {
  53386. s.Groups = v
  53387. return s
  53388. }
  53389. // SetIpv6AddressCount sets the Ipv6AddressCount field's value.
  53390. func (s *ScheduledInstancesNetworkInterface) SetIpv6AddressCount(v int64) *ScheduledInstancesNetworkInterface {
  53391. s.Ipv6AddressCount = &v
  53392. return s
  53393. }
  53394. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  53395. func (s *ScheduledInstancesNetworkInterface) SetIpv6Addresses(v []*ScheduledInstancesIpv6Address) *ScheduledInstancesNetworkInterface {
  53396. s.Ipv6Addresses = v
  53397. return s
  53398. }
  53399. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  53400. func (s *ScheduledInstancesNetworkInterface) SetNetworkInterfaceId(v string) *ScheduledInstancesNetworkInterface {
  53401. s.NetworkInterfaceId = &v
  53402. return s
  53403. }
  53404. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  53405. func (s *ScheduledInstancesNetworkInterface) SetPrivateIpAddress(v string) *ScheduledInstancesNetworkInterface {
  53406. s.PrivateIpAddress = &v
  53407. return s
  53408. }
  53409. // SetPrivateIpAddressConfigs sets the PrivateIpAddressConfigs field's value.
  53410. func (s *ScheduledInstancesNetworkInterface) SetPrivateIpAddressConfigs(v []*ScheduledInstancesPrivateIpAddressConfig) *ScheduledInstancesNetworkInterface {
  53411. s.PrivateIpAddressConfigs = v
  53412. return s
  53413. }
  53414. // SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
  53415. func (s *ScheduledInstancesNetworkInterface) SetSecondaryPrivateIpAddressCount(v int64) *ScheduledInstancesNetworkInterface {
  53416. s.SecondaryPrivateIpAddressCount = &v
  53417. return s
  53418. }
  53419. // SetSubnetId sets the SubnetId field's value.
  53420. func (s *ScheduledInstancesNetworkInterface) SetSubnetId(v string) *ScheduledInstancesNetworkInterface {
  53421. s.SubnetId = &v
  53422. return s
  53423. }
  53424. // Describes the placement for a Scheduled Instance.
  53425. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstancesPlacement
  53426. type ScheduledInstancesPlacement struct {
  53427. _ struct{} `type:"structure"`
  53428. // The Availability Zone.
  53429. AvailabilityZone *string `type:"string"`
  53430. // The name of the placement group.
  53431. GroupName *string `type:"string"`
  53432. }
  53433. // String returns the string representation
  53434. func (s ScheduledInstancesPlacement) String() string {
  53435. return awsutil.Prettify(s)
  53436. }
  53437. // GoString returns the string representation
  53438. func (s ScheduledInstancesPlacement) GoString() string {
  53439. return s.String()
  53440. }
  53441. // SetAvailabilityZone sets the AvailabilityZone field's value.
  53442. func (s *ScheduledInstancesPlacement) SetAvailabilityZone(v string) *ScheduledInstancesPlacement {
  53443. s.AvailabilityZone = &v
  53444. return s
  53445. }
  53446. // SetGroupName sets the GroupName field's value.
  53447. func (s *ScheduledInstancesPlacement) SetGroupName(v string) *ScheduledInstancesPlacement {
  53448. s.GroupName = &v
  53449. return s
  53450. }
  53451. // Describes a private IPv4 address for a Scheduled Instance.
  53452. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstancesPrivateIpAddressConfig
  53453. type ScheduledInstancesPrivateIpAddressConfig struct {
  53454. _ struct{} `type:"structure"`
  53455. // Indicates whether this is a primary IPv4 address. Otherwise, this is a secondary
  53456. // IPv4 address.
  53457. Primary *bool `type:"boolean"`
  53458. // The IPv4 address.
  53459. PrivateIpAddress *string `type:"string"`
  53460. }
  53461. // String returns the string representation
  53462. func (s ScheduledInstancesPrivateIpAddressConfig) String() string {
  53463. return awsutil.Prettify(s)
  53464. }
  53465. // GoString returns the string representation
  53466. func (s ScheduledInstancesPrivateIpAddressConfig) GoString() string {
  53467. return s.String()
  53468. }
  53469. // SetPrimary sets the Primary field's value.
  53470. func (s *ScheduledInstancesPrivateIpAddressConfig) SetPrimary(v bool) *ScheduledInstancesPrivateIpAddressConfig {
  53471. s.Primary = &v
  53472. return s
  53473. }
  53474. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  53475. func (s *ScheduledInstancesPrivateIpAddressConfig) SetPrivateIpAddress(v string) *ScheduledInstancesPrivateIpAddressConfig {
  53476. s.PrivateIpAddress = &v
  53477. return s
  53478. }
  53479. // Describes a security group
  53480. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SecurityGroup
  53481. type SecurityGroup struct {
  53482. _ struct{} `type:"structure"`
  53483. // A description of the security group.
  53484. Description *string `locationName:"groupDescription" type:"string"`
  53485. // The ID of the security group.
  53486. GroupId *string `locationName:"groupId" type:"string"`
  53487. // The name of the security group.
  53488. GroupName *string `locationName:"groupName" type:"string"`
  53489. // One or more inbound rules associated with the security group.
  53490. IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
  53491. // [EC2-VPC] One or more outbound rules associated with the security group.
  53492. IpPermissionsEgress []*IpPermission `locationName:"ipPermissionsEgress" locationNameList:"item" type:"list"`
  53493. // The AWS account ID of the owner of the security group.
  53494. OwnerId *string `locationName:"ownerId" type:"string"`
  53495. // Any tags assigned to the security group.
  53496. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  53497. // [EC2-VPC] The ID of the VPC for the security group.
  53498. VpcId *string `locationName:"vpcId" type:"string"`
  53499. }
  53500. // String returns the string representation
  53501. func (s SecurityGroup) String() string {
  53502. return awsutil.Prettify(s)
  53503. }
  53504. // GoString returns the string representation
  53505. func (s SecurityGroup) GoString() string {
  53506. return s.String()
  53507. }
  53508. // SetDescription sets the Description field's value.
  53509. func (s *SecurityGroup) SetDescription(v string) *SecurityGroup {
  53510. s.Description = &v
  53511. return s
  53512. }
  53513. // SetGroupId sets the GroupId field's value.
  53514. func (s *SecurityGroup) SetGroupId(v string) *SecurityGroup {
  53515. s.GroupId = &v
  53516. return s
  53517. }
  53518. // SetGroupName sets the GroupName field's value.
  53519. func (s *SecurityGroup) SetGroupName(v string) *SecurityGroup {
  53520. s.GroupName = &v
  53521. return s
  53522. }
  53523. // SetIpPermissions sets the IpPermissions field's value.
  53524. func (s *SecurityGroup) SetIpPermissions(v []*IpPermission) *SecurityGroup {
  53525. s.IpPermissions = v
  53526. return s
  53527. }
  53528. // SetIpPermissionsEgress sets the IpPermissionsEgress field's value.
  53529. func (s *SecurityGroup) SetIpPermissionsEgress(v []*IpPermission) *SecurityGroup {
  53530. s.IpPermissionsEgress = v
  53531. return s
  53532. }
  53533. // SetOwnerId sets the OwnerId field's value.
  53534. func (s *SecurityGroup) SetOwnerId(v string) *SecurityGroup {
  53535. s.OwnerId = &v
  53536. return s
  53537. }
  53538. // SetTags sets the Tags field's value.
  53539. func (s *SecurityGroup) SetTags(v []*Tag) *SecurityGroup {
  53540. s.Tags = v
  53541. return s
  53542. }
  53543. // SetVpcId sets the VpcId field's value.
  53544. func (s *SecurityGroup) SetVpcId(v string) *SecurityGroup {
  53545. s.VpcId = &v
  53546. return s
  53547. }
  53548. // Describes a security group.
  53549. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SecurityGroupIdentifier
  53550. type SecurityGroupIdentifier struct {
  53551. _ struct{} `type:"structure"`
  53552. // The ID of the security group.
  53553. GroupId *string `locationName:"groupId" type:"string"`
  53554. // The name of the security group.
  53555. GroupName *string `locationName:"groupName" type:"string"`
  53556. }
  53557. // String returns the string representation
  53558. func (s SecurityGroupIdentifier) String() string {
  53559. return awsutil.Prettify(s)
  53560. }
  53561. // GoString returns the string representation
  53562. func (s SecurityGroupIdentifier) GoString() string {
  53563. return s.String()
  53564. }
  53565. // SetGroupId sets the GroupId field's value.
  53566. func (s *SecurityGroupIdentifier) SetGroupId(v string) *SecurityGroupIdentifier {
  53567. s.GroupId = &v
  53568. return s
  53569. }
  53570. // SetGroupName sets the GroupName field's value.
  53571. func (s *SecurityGroupIdentifier) SetGroupName(v string) *SecurityGroupIdentifier {
  53572. s.GroupName = &v
  53573. return s
  53574. }
  53575. // Describes a VPC with a security group that references your security group.
  53576. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SecurityGroupReference
  53577. type SecurityGroupReference struct {
  53578. _ struct{} `type:"structure"`
  53579. // The ID of your security group.
  53580. //
  53581. // GroupId is a required field
  53582. GroupId *string `locationName:"groupId" type:"string" required:"true"`
  53583. // The ID of the VPC with the referencing security group.
  53584. //
  53585. // ReferencingVpcId is a required field
  53586. ReferencingVpcId *string `locationName:"referencingVpcId" type:"string" required:"true"`
  53587. // The ID of the VPC peering connection.
  53588. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  53589. }
  53590. // String returns the string representation
  53591. func (s SecurityGroupReference) String() string {
  53592. return awsutil.Prettify(s)
  53593. }
  53594. // GoString returns the string representation
  53595. func (s SecurityGroupReference) GoString() string {
  53596. return s.String()
  53597. }
  53598. // SetGroupId sets the GroupId field's value.
  53599. func (s *SecurityGroupReference) SetGroupId(v string) *SecurityGroupReference {
  53600. s.GroupId = &v
  53601. return s
  53602. }
  53603. // SetReferencingVpcId sets the ReferencingVpcId field's value.
  53604. func (s *SecurityGroupReference) SetReferencingVpcId(v string) *SecurityGroupReference {
  53605. s.ReferencingVpcId = &v
  53606. return s
  53607. }
  53608. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  53609. func (s *SecurityGroupReference) SetVpcPeeringConnectionId(v string) *SecurityGroupReference {
  53610. s.VpcPeeringConnectionId = &v
  53611. return s
  53612. }
  53613. // Describes a service configuration for a VPC endpoint service.
  53614. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ServiceConfiguration
  53615. type ServiceConfiguration struct {
  53616. _ struct{} `type:"structure"`
  53617. // Indicates whether requests from other AWS accounts to create an endpoint
  53618. // to the service must first be accepted.
  53619. AcceptanceRequired *bool `locationName:"acceptanceRequired" type:"boolean"`
  53620. // In the Availability Zones in which the service is available.
  53621. AvailabilityZones []*string `locationName:"availabilityZoneSet" locationNameList:"item" type:"list"`
  53622. // The DNS names for the service.
  53623. BaseEndpointDnsNames []*string `locationName:"baseEndpointDnsNameSet" locationNameList:"item" type:"list"`
  53624. // The Amazon Resource Names (ARNs) of the Network Load Balancers for the service.
  53625. NetworkLoadBalancerArns []*string `locationName:"networkLoadBalancerArnSet" locationNameList:"item" type:"list"`
  53626. // The private DNS name for the service.
  53627. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  53628. // The ID of the service.
  53629. ServiceId *string `locationName:"serviceId" type:"string"`
  53630. // The name of the service.
  53631. ServiceName *string `locationName:"serviceName" type:"string"`
  53632. // The service state.
  53633. ServiceState *string `locationName:"serviceState" type:"string" enum:"ServiceState"`
  53634. // The type of service.
  53635. ServiceType []*ServiceTypeDetail `locationName:"serviceType" locationNameList:"item" type:"list"`
  53636. }
  53637. // String returns the string representation
  53638. func (s ServiceConfiguration) String() string {
  53639. return awsutil.Prettify(s)
  53640. }
  53641. // GoString returns the string representation
  53642. func (s ServiceConfiguration) GoString() string {
  53643. return s.String()
  53644. }
  53645. // SetAcceptanceRequired sets the AcceptanceRequired field's value.
  53646. func (s *ServiceConfiguration) SetAcceptanceRequired(v bool) *ServiceConfiguration {
  53647. s.AcceptanceRequired = &v
  53648. return s
  53649. }
  53650. // SetAvailabilityZones sets the AvailabilityZones field's value.
  53651. func (s *ServiceConfiguration) SetAvailabilityZones(v []*string) *ServiceConfiguration {
  53652. s.AvailabilityZones = v
  53653. return s
  53654. }
  53655. // SetBaseEndpointDnsNames sets the BaseEndpointDnsNames field's value.
  53656. func (s *ServiceConfiguration) SetBaseEndpointDnsNames(v []*string) *ServiceConfiguration {
  53657. s.BaseEndpointDnsNames = v
  53658. return s
  53659. }
  53660. // SetNetworkLoadBalancerArns sets the NetworkLoadBalancerArns field's value.
  53661. func (s *ServiceConfiguration) SetNetworkLoadBalancerArns(v []*string) *ServiceConfiguration {
  53662. s.NetworkLoadBalancerArns = v
  53663. return s
  53664. }
  53665. // SetPrivateDnsName sets the PrivateDnsName field's value.
  53666. func (s *ServiceConfiguration) SetPrivateDnsName(v string) *ServiceConfiguration {
  53667. s.PrivateDnsName = &v
  53668. return s
  53669. }
  53670. // SetServiceId sets the ServiceId field's value.
  53671. func (s *ServiceConfiguration) SetServiceId(v string) *ServiceConfiguration {
  53672. s.ServiceId = &v
  53673. return s
  53674. }
  53675. // SetServiceName sets the ServiceName field's value.
  53676. func (s *ServiceConfiguration) SetServiceName(v string) *ServiceConfiguration {
  53677. s.ServiceName = &v
  53678. return s
  53679. }
  53680. // SetServiceState sets the ServiceState field's value.
  53681. func (s *ServiceConfiguration) SetServiceState(v string) *ServiceConfiguration {
  53682. s.ServiceState = &v
  53683. return s
  53684. }
  53685. // SetServiceType sets the ServiceType field's value.
  53686. func (s *ServiceConfiguration) SetServiceType(v []*ServiceTypeDetail) *ServiceConfiguration {
  53687. s.ServiceType = v
  53688. return s
  53689. }
  53690. // Describes a VPC endpoint service.
  53691. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ServiceDetail
  53692. type ServiceDetail struct {
  53693. _ struct{} `type:"structure"`
  53694. // Indicates whether VPC endpoint connection requests to the service must be
  53695. // accepted by the service owner.
  53696. AcceptanceRequired *bool `locationName:"acceptanceRequired" type:"boolean"`
  53697. // The Availability Zones in which the service is available.
  53698. AvailabilityZones []*string `locationName:"availabilityZoneSet" locationNameList:"item" type:"list"`
  53699. // The DNS names for the service.
  53700. BaseEndpointDnsNames []*string `locationName:"baseEndpointDnsNameSet" locationNameList:"item" type:"list"`
  53701. // The AWS account ID of the service owner.
  53702. Owner *string `locationName:"owner" type:"string"`
  53703. // The private DNS name for the service.
  53704. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  53705. // The Amazon Resource Name (ARN) of the service.
  53706. ServiceName *string `locationName:"serviceName" type:"string"`
  53707. // The type of service.
  53708. ServiceType []*ServiceTypeDetail `locationName:"serviceType" locationNameList:"item" type:"list"`
  53709. // Indicates whether the service supports endpoint policies.
  53710. VpcEndpointPolicySupported *bool `locationName:"vpcEndpointPolicySupported" type:"boolean"`
  53711. }
  53712. // String returns the string representation
  53713. func (s ServiceDetail) String() string {
  53714. return awsutil.Prettify(s)
  53715. }
  53716. // GoString returns the string representation
  53717. func (s ServiceDetail) GoString() string {
  53718. return s.String()
  53719. }
  53720. // SetAcceptanceRequired sets the AcceptanceRequired field's value.
  53721. func (s *ServiceDetail) SetAcceptanceRequired(v bool) *ServiceDetail {
  53722. s.AcceptanceRequired = &v
  53723. return s
  53724. }
  53725. // SetAvailabilityZones sets the AvailabilityZones field's value.
  53726. func (s *ServiceDetail) SetAvailabilityZones(v []*string) *ServiceDetail {
  53727. s.AvailabilityZones = v
  53728. return s
  53729. }
  53730. // SetBaseEndpointDnsNames sets the BaseEndpointDnsNames field's value.
  53731. func (s *ServiceDetail) SetBaseEndpointDnsNames(v []*string) *ServiceDetail {
  53732. s.BaseEndpointDnsNames = v
  53733. return s
  53734. }
  53735. // SetOwner sets the Owner field's value.
  53736. func (s *ServiceDetail) SetOwner(v string) *ServiceDetail {
  53737. s.Owner = &v
  53738. return s
  53739. }
  53740. // SetPrivateDnsName sets the PrivateDnsName field's value.
  53741. func (s *ServiceDetail) SetPrivateDnsName(v string) *ServiceDetail {
  53742. s.PrivateDnsName = &v
  53743. return s
  53744. }
  53745. // SetServiceName sets the ServiceName field's value.
  53746. func (s *ServiceDetail) SetServiceName(v string) *ServiceDetail {
  53747. s.ServiceName = &v
  53748. return s
  53749. }
  53750. // SetServiceType sets the ServiceType field's value.
  53751. func (s *ServiceDetail) SetServiceType(v []*ServiceTypeDetail) *ServiceDetail {
  53752. s.ServiceType = v
  53753. return s
  53754. }
  53755. // SetVpcEndpointPolicySupported sets the VpcEndpointPolicySupported field's value.
  53756. func (s *ServiceDetail) SetVpcEndpointPolicySupported(v bool) *ServiceDetail {
  53757. s.VpcEndpointPolicySupported = &v
  53758. return s
  53759. }
  53760. // Describes the type of service for a VPC endpoint.
  53761. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ServiceTypeDetail
  53762. type ServiceTypeDetail struct {
  53763. _ struct{} `type:"structure"`
  53764. // The type of service.
  53765. ServiceType *string `locationName:"serviceType" type:"string" enum:"ServiceType"`
  53766. }
  53767. // String returns the string representation
  53768. func (s ServiceTypeDetail) String() string {
  53769. return awsutil.Prettify(s)
  53770. }
  53771. // GoString returns the string representation
  53772. func (s ServiceTypeDetail) GoString() string {
  53773. return s.String()
  53774. }
  53775. // SetServiceType sets the ServiceType field's value.
  53776. func (s *ServiceTypeDetail) SetServiceType(v string) *ServiceTypeDetail {
  53777. s.ServiceType = &v
  53778. return s
  53779. }
  53780. // Describes the time period for a Scheduled Instance to start its first schedule.
  53781. // The time period must span less than one day.
  53782. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SlotDateTimeRangeRequest
  53783. type SlotDateTimeRangeRequest struct {
  53784. _ struct{} `type:"structure"`
  53785. // The earliest date and time, in UTC, for the Scheduled Instance to start.
  53786. //
  53787. // EarliestTime is a required field
  53788. EarliestTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  53789. // The latest date and time, in UTC, for the Scheduled Instance to start. This
  53790. // value must be later than or equal to the earliest date and at most three
  53791. // months in the future.
  53792. //
  53793. // LatestTime is a required field
  53794. LatestTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  53795. }
  53796. // String returns the string representation
  53797. func (s SlotDateTimeRangeRequest) String() string {
  53798. return awsutil.Prettify(s)
  53799. }
  53800. // GoString returns the string representation
  53801. func (s SlotDateTimeRangeRequest) GoString() string {
  53802. return s.String()
  53803. }
  53804. // Validate inspects the fields of the type to determine if they are valid.
  53805. func (s *SlotDateTimeRangeRequest) Validate() error {
  53806. invalidParams := request.ErrInvalidParams{Context: "SlotDateTimeRangeRequest"}
  53807. if s.EarliestTime == nil {
  53808. invalidParams.Add(request.NewErrParamRequired("EarliestTime"))
  53809. }
  53810. if s.LatestTime == nil {
  53811. invalidParams.Add(request.NewErrParamRequired("LatestTime"))
  53812. }
  53813. if invalidParams.Len() > 0 {
  53814. return invalidParams
  53815. }
  53816. return nil
  53817. }
  53818. // SetEarliestTime sets the EarliestTime field's value.
  53819. func (s *SlotDateTimeRangeRequest) SetEarliestTime(v time.Time) *SlotDateTimeRangeRequest {
  53820. s.EarliestTime = &v
  53821. return s
  53822. }
  53823. // SetLatestTime sets the LatestTime field's value.
  53824. func (s *SlotDateTimeRangeRequest) SetLatestTime(v time.Time) *SlotDateTimeRangeRequest {
  53825. s.LatestTime = &v
  53826. return s
  53827. }
  53828. // Describes the time period for a Scheduled Instance to start its first schedule.
  53829. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SlotStartTimeRangeRequest
  53830. type SlotStartTimeRangeRequest struct {
  53831. _ struct{} `type:"structure"`
  53832. // The earliest date and time, in UTC, for the Scheduled Instance to start.
  53833. EarliestTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  53834. // The latest date and time, in UTC, for the Scheduled Instance to start.
  53835. LatestTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  53836. }
  53837. // String returns the string representation
  53838. func (s SlotStartTimeRangeRequest) String() string {
  53839. return awsutil.Prettify(s)
  53840. }
  53841. // GoString returns the string representation
  53842. func (s SlotStartTimeRangeRequest) GoString() string {
  53843. return s.String()
  53844. }
  53845. // SetEarliestTime sets the EarliestTime field's value.
  53846. func (s *SlotStartTimeRangeRequest) SetEarliestTime(v time.Time) *SlotStartTimeRangeRequest {
  53847. s.EarliestTime = &v
  53848. return s
  53849. }
  53850. // SetLatestTime sets the LatestTime field's value.
  53851. func (s *SlotStartTimeRangeRequest) SetLatestTime(v time.Time) *SlotStartTimeRangeRequest {
  53852. s.LatestTime = &v
  53853. return s
  53854. }
  53855. // Describes a snapshot.
  53856. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Snapshot
  53857. type Snapshot struct {
  53858. _ struct{} `type:"structure"`
  53859. // The data encryption key identifier for the snapshot. This value is a unique
  53860. // identifier that corresponds to the data encryption key that was used to encrypt
  53861. // the original volume or snapshot copy. Because data encryption keys are inherited
  53862. // by volumes created from snapshots, and vice versa, if snapshots share the
  53863. // same data encryption key identifier, then they belong to the same volume/snapshot
  53864. // lineage. This parameter is only returned by the DescribeSnapshots API operation.
  53865. DataEncryptionKeyId *string `locationName:"dataEncryptionKeyId" type:"string"`
  53866. // The description for the snapshot.
  53867. Description *string `locationName:"description" type:"string"`
  53868. // Indicates whether the snapshot is encrypted.
  53869. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  53870. // The full ARN of the AWS Key Management Service (AWS KMS) customer master
  53871. // key (CMK) that was used to protect the volume encryption key for the parent
  53872. // volume.
  53873. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  53874. // Value from an Amazon-maintained list (amazon | aws-marketplace | microsoft)
  53875. // of snapshot owners. Not to be confused with the user-configured AWS account
  53876. // alias, which is set from the IAM console.
  53877. OwnerAlias *string `locationName:"ownerAlias" type:"string"`
  53878. // The AWS account ID of the EBS snapshot owner.
  53879. OwnerId *string `locationName:"ownerId" type:"string"`
  53880. // The progress of the snapshot, as a percentage.
  53881. Progress *string `locationName:"progress" type:"string"`
  53882. // The ID of the snapshot. Each snapshot receives a unique identifier when it
  53883. // is created.
  53884. SnapshotId *string `locationName:"snapshotId" type:"string"`
  53885. // The time stamp when the snapshot was initiated.
  53886. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
  53887. // The snapshot state.
  53888. State *string `locationName:"status" type:"string" enum:"SnapshotState"`
  53889. // Encrypted Amazon EBS snapshots are copied asynchronously. If a snapshot copy
  53890. // operation fails (for example, if the proper AWS Key Management Service (AWS
  53891. // KMS) permissions are not obtained) this field displays error state details
  53892. // to help you diagnose why the error occurred. This parameter is only returned
  53893. // by the DescribeSnapshots API operation.
  53894. StateMessage *string `locationName:"statusMessage" type:"string"`
  53895. // Any tags assigned to the snapshot.
  53896. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  53897. // The ID of the volume that was used to create the snapshot. Snapshots created
  53898. // by the CopySnapshot action have an arbitrary volume ID that should not be
  53899. // used for any purpose.
  53900. VolumeId *string `locationName:"volumeId" type:"string"`
  53901. // The size of the volume, in GiB.
  53902. VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
  53903. }
  53904. // String returns the string representation
  53905. func (s Snapshot) String() string {
  53906. return awsutil.Prettify(s)
  53907. }
  53908. // GoString returns the string representation
  53909. func (s Snapshot) GoString() string {
  53910. return s.String()
  53911. }
  53912. // SetDataEncryptionKeyId sets the DataEncryptionKeyId field's value.
  53913. func (s *Snapshot) SetDataEncryptionKeyId(v string) *Snapshot {
  53914. s.DataEncryptionKeyId = &v
  53915. return s
  53916. }
  53917. // SetDescription sets the Description field's value.
  53918. func (s *Snapshot) SetDescription(v string) *Snapshot {
  53919. s.Description = &v
  53920. return s
  53921. }
  53922. // SetEncrypted sets the Encrypted field's value.
  53923. func (s *Snapshot) SetEncrypted(v bool) *Snapshot {
  53924. s.Encrypted = &v
  53925. return s
  53926. }
  53927. // SetKmsKeyId sets the KmsKeyId field's value.
  53928. func (s *Snapshot) SetKmsKeyId(v string) *Snapshot {
  53929. s.KmsKeyId = &v
  53930. return s
  53931. }
  53932. // SetOwnerAlias sets the OwnerAlias field's value.
  53933. func (s *Snapshot) SetOwnerAlias(v string) *Snapshot {
  53934. s.OwnerAlias = &v
  53935. return s
  53936. }
  53937. // SetOwnerId sets the OwnerId field's value.
  53938. func (s *Snapshot) SetOwnerId(v string) *Snapshot {
  53939. s.OwnerId = &v
  53940. return s
  53941. }
  53942. // SetProgress sets the Progress field's value.
  53943. func (s *Snapshot) SetProgress(v string) *Snapshot {
  53944. s.Progress = &v
  53945. return s
  53946. }
  53947. // SetSnapshotId sets the SnapshotId field's value.
  53948. func (s *Snapshot) SetSnapshotId(v string) *Snapshot {
  53949. s.SnapshotId = &v
  53950. return s
  53951. }
  53952. // SetStartTime sets the StartTime field's value.
  53953. func (s *Snapshot) SetStartTime(v time.Time) *Snapshot {
  53954. s.StartTime = &v
  53955. return s
  53956. }
  53957. // SetState sets the State field's value.
  53958. func (s *Snapshot) SetState(v string) *Snapshot {
  53959. s.State = &v
  53960. return s
  53961. }
  53962. // SetStateMessage sets the StateMessage field's value.
  53963. func (s *Snapshot) SetStateMessage(v string) *Snapshot {
  53964. s.StateMessage = &v
  53965. return s
  53966. }
  53967. // SetTags sets the Tags field's value.
  53968. func (s *Snapshot) SetTags(v []*Tag) *Snapshot {
  53969. s.Tags = v
  53970. return s
  53971. }
  53972. // SetVolumeId sets the VolumeId field's value.
  53973. func (s *Snapshot) SetVolumeId(v string) *Snapshot {
  53974. s.VolumeId = &v
  53975. return s
  53976. }
  53977. // SetVolumeSize sets the VolumeSize field's value.
  53978. func (s *Snapshot) SetVolumeSize(v int64) *Snapshot {
  53979. s.VolumeSize = &v
  53980. return s
  53981. }
  53982. // Describes the snapshot created from the imported disk.
  53983. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SnapshotDetail
  53984. type SnapshotDetail struct {
  53985. _ struct{} `type:"structure"`
  53986. // A description for the snapshot.
  53987. Description *string `locationName:"description" type:"string"`
  53988. // The block device mapping for the snapshot.
  53989. DeviceName *string `locationName:"deviceName" type:"string"`
  53990. // The size of the disk in the snapshot, in GiB.
  53991. DiskImageSize *float64 `locationName:"diskImageSize" type:"double"`
  53992. // The format of the disk image from which the snapshot is created.
  53993. Format *string `locationName:"format" type:"string"`
  53994. // The percentage of progress for the task.
  53995. Progress *string `locationName:"progress" type:"string"`
  53996. // The snapshot ID of the disk being imported.
  53997. SnapshotId *string `locationName:"snapshotId" type:"string"`
  53998. // A brief status of the snapshot creation.
  53999. Status *string `locationName:"status" type:"string"`
  54000. // A detailed status message for the snapshot creation.
  54001. StatusMessage *string `locationName:"statusMessage" type:"string"`
  54002. // The URL used to access the disk image.
  54003. Url *string `locationName:"url" type:"string"`
  54004. // The S3 bucket for the disk image.
  54005. UserBucket *UserBucketDetails `locationName:"userBucket" type:"structure"`
  54006. }
  54007. // String returns the string representation
  54008. func (s SnapshotDetail) String() string {
  54009. return awsutil.Prettify(s)
  54010. }
  54011. // GoString returns the string representation
  54012. func (s SnapshotDetail) GoString() string {
  54013. return s.String()
  54014. }
  54015. // SetDescription sets the Description field's value.
  54016. func (s *SnapshotDetail) SetDescription(v string) *SnapshotDetail {
  54017. s.Description = &v
  54018. return s
  54019. }
  54020. // SetDeviceName sets the DeviceName field's value.
  54021. func (s *SnapshotDetail) SetDeviceName(v string) *SnapshotDetail {
  54022. s.DeviceName = &v
  54023. return s
  54024. }
  54025. // SetDiskImageSize sets the DiskImageSize field's value.
  54026. func (s *SnapshotDetail) SetDiskImageSize(v float64) *SnapshotDetail {
  54027. s.DiskImageSize = &v
  54028. return s
  54029. }
  54030. // SetFormat sets the Format field's value.
  54031. func (s *SnapshotDetail) SetFormat(v string) *SnapshotDetail {
  54032. s.Format = &v
  54033. return s
  54034. }
  54035. // SetProgress sets the Progress field's value.
  54036. func (s *SnapshotDetail) SetProgress(v string) *SnapshotDetail {
  54037. s.Progress = &v
  54038. return s
  54039. }
  54040. // SetSnapshotId sets the SnapshotId field's value.
  54041. func (s *SnapshotDetail) SetSnapshotId(v string) *SnapshotDetail {
  54042. s.SnapshotId = &v
  54043. return s
  54044. }
  54045. // SetStatus sets the Status field's value.
  54046. func (s *SnapshotDetail) SetStatus(v string) *SnapshotDetail {
  54047. s.Status = &v
  54048. return s
  54049. }
  54050. // SetStatusMessage sets the StatusMessage field's value.
  54051. func (s *SnapshotDetail) SetStatusMessage(v string) *SnapshotDetail {
  54052. s.StatusMessage = &v
  54053. return s
  54054. }
  54055. // SetUrl sets the Url field's value.
  54056. func (s *SnapshotDetail) SetUrl(v string) *SnapshotDetail {
  54057. s.Url = &v
  54058. return s
  54059. }
  54060. // SetUserBucket sets the UserBucket field's value.
  54061. func (s *SnapshotDetail) SetUserBucket(v *UserBucketDetails) *SnapshotDetail {
  54062. s.UserBucket = v
  54063. return s
  54064. }
  54065. // The disk container object for the import snapshot request.
  54066. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SnapshotDiskContainer
  54067. type SnapshotDiskContainer struct {
  54068. _ struct{} `type:"structure"`
  54069. // The description of the disk image being imported.
  54070. Description *string `type:"string"`
  54071. // The format of the disk image being imported.
  54072. //
  54073. // Valid values: RAW | VHD | VMDK | OVA
  54074. Format *string `type:"string"`
  54075. // The URL to the Amazon S3-based disk image being imported. It can either be
  54076. // a https URL (https://..) or an Amazon S3 URL (s3://..).
  54077. Url *string `type:"string"`
  54078. // The S3 bucket for the disk image.
  54079. UserBucket *UserBucket `type:"structure"`
  54080. }
  54081. // String returns the string representation
  54082. func (s SnapshotDiskContainer) String() string {
  54083. return awsutil.Prettify(s)
  54084. }
  54085. // GoString returns the string representation
  54086. func (s SnapshotDiskContainer) GoString() string {
  54087. return s.String()
  54088. }
  54089. // SetDescription sets the Description field's value.
  54090. func (s *SnapshotDiskContainer) SetDescription(v string) *SnapshotDiskContainer {
  54091. s.Description = &v
  54092. return s
  54093. }
  54094. // SetFormat sets the Format field's value.
  54095. func (s *SnapshotDiskContainer) SetFormat(v string) *SnapshotDiskContainer {
  54096. s.Format = &v
  54097. return s
  54098. }
  54099. // SetUrl sets the Url field's value.
  54100. func (s *SnapshotDiskContainer) SetUrl(v string) *SnapshotDiskContainer {
  54101. s.Url = &v
  54102. return s
  54103. }
  54104. // SetUserBucket sets the UserBucket field's value.
  54105. func (s *SnapshotDiskContainer) SetUserBucket(v *UserBucket) *SnapshotDiskContainer {
  54106. s.UserBucket = v
  54107. return s
  54108. }
  54109. // Details about the import snapshot task.
  54110. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SnapshotTaskDetail
  54111. type SnapshotTaskDetail struct {
  54112. _ struct{} `type:"structure"`
  54113. // The description of the snapshot.
  54114. Description *string `locationName:"description" type:"string"`
  54115. // The size of the disk in the snapshot, in GiB.
  54116. DiskImageSize *float64 `locationName:"diskImageSize" type:"double"`
  54117. // The format of the disk image from which the snapshot is created.
  54118. Format *string `locationName:"format" type:"string"`
  54119. // The percentage of completion for the import snapshot task.
  54120. Progress *string `locationName:"progress" type:"string"`
  54121. // The snapshot ID of the disk being imported.
  54122. SnapshotId *string `locationName:"snapshotId" type:"string"`
  54123. // A brief status for the import snapshot task.
  54124. Status *string `locationName:"status" type:"string"`
  54125. // A detailed status message for the import snapshot task.
  54126. StatusMessage *string `locationName:"statusMessage" type:"string"`
  54127. // The URL of the disk image from which the snapshot is created.
  54128. Url *string `locationName:"url" type:"string"`
  54129. // The S3 bucket for the disk image.
  54130. UserBucket *UserBucketDetails `locationName:"userBucket" type:"structure"`
  54131. }
  54132. // String returns the string representation
  54133. func (s SnapshotTaskDetail) String() string {
  54134. return awsutil.Prettify(s)
  54135. }
  54136. // GoString returns the string representation
  54137. func (s SnapshotTaskDetail) GoString() string {
  54138. return s.String()
  54139. }
  54140. // SetDescription sets the Description field's value.
  54141. func (s *SnapshotTaskDetail) SetDescription(v string) *SnapshotTaskDetail {
  54142. s.Description = &v
  54143. return s
  54144. }
  54145. // SetDiskImageSize sets the DiskImageSize field's value.
  54146. func (s *SnapshotTaskDetail) SetDiskImageSize(v float64) *SnapshotTaskDetail {
  54147. s.DiskImageSize = &v
  54148. return s
  54149. }
  54150. // SetFormat sets the Format field's value.
  54151. func (s *SnapshotTaskDetail) SetFormat(v string) *SnapshotTaskDetail {
  54152. s.Format = &v
  54153. return s
  54154. }
  54155. // SetProgress sets the Progress field's value.
  54156. func (s *SnapshotTaskDetail) SetProgress(v string) *SnapshotTaskDetail {
  54157. s.Progress = &v
  54158. return s
  54159. }
  54160. // SetSnapshotId sets the SnapshotId field's value.
  54161. func (s *SnapshotTaskDetail) SetSnapshotId(v string) *SnapshotTaskDetail {
  54162. s.SnapshotId = &v
  54163. return s
  54164. }
  54165. // SetStatus sets the Status field's value.
  54166. func (s *SnapshotTaskDetail) SetStatus(v string) *SnapshotTaskDetail {
  54167. s.Status = &v
  54168. return s
  54169. }
  54170. // SetStatusMessage sets the StatusMessage field's value.
  54171. func (s *SnapshotTaskDetail) SetStatusMessage(v string) *SnapshotTaskDetail {
  54172. s.StatusMessage = &v
  54173. return s
  54174. }
  54175. // SetUrl sets the Url field's value.
  54176. func (s *SnapshotTaskDetail) SetUrl(v string) *SnapshotTaskDetail {
  54177. s.Url = &v
  54178. return s
  54179. }
  54180. // SetUserBucket sets the UserBucket field's value.
  54181. func (s *SnapshotTaskDetail) SetUserBucket(v *UserBucketDetails) *SnapshotTaskDetail {
  54182. s.UserBucket = v
  54183. return s
  54184. }
  54185. // Describes the data feed for a Spot Instance.
  54186. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotDatafeedSubscription
  54187. type SpotDatafeedSubscription struct {
  54188. _ struct{} `type:"structure"`
  54189. // The Amazon S3 bucket where the Spot Instance data feed is located.
  54190. Bucket *string `locationName:"bucket" type:"string"`
  54191. // The fault codes for the Spot Instance request, if any.
  54192. Fault *SpotInstanceStateFault `locationName:"fault" type:"structure"`
  54193. // The AWS account ID of the account.
  54194. OwnerId *string `locationName:"ownerId" type:"string"`
  54195. // The prefix that is prepended to data feed files.
  54196. Prefix *string `locationName:"prefix" type:"string"`
  54197. // The state of the Spot Instance data feed subscription.
  54198. State *string `locationName:"state" type:"string" enum:"DatafeedSubscriptionState"`
  54199. }
  54200. // String returns the string representation
  54201. func (s SpotDatafeedSubscription) String() string {
  54202. return awsutil.Prettify(s)
  54203. }
  54204. // GoString returns the string representation
  54205. func (s SpotDatafeedSubscription) GoString() string {
  54206. return s.String()
  54207. }
  54208. // SetBucket sets the Bucket field's value.
  54209. func (s *SpotDatafeedSubscription) SetBucket(v string) *SpotDatafeedSubscription {
  54210. s.Bucket = &v
  54211. return s
  54212. }
  54213. // SetFault sets the Fault field's value.
  54214. func (s *SpotDatafeedSubscription) SetFault(v *SpotInstanceStateFault) *SpotDatafeedSubscription {
  54215. s.Fault = v
  54216. return s
  54217. }
  54218. // SetOwnerId sets the OwnerId field's value.
  54219. func (s *SpotDatafeedSubscription) SetOwnerId(v string) *SpotDatafeedSubscription {
  54220. s.OwnerId = &v
  54221. return s
  54222. }
  54223. // SetPrefix sets the Prefix field's value.
  54224. func (s *SpotDatafeedSubscription) SetPrefix(v string) *SpotDatafeedSubscription {
  54225. s.Prefix = &v
  54226. return s
  54227. }
  54228. // SetState sets the State field's value.
  54229. func (s *SpotDatafeedSubscription) SetState(v string) *SpotDatafeedSubscription {
  54230. s.State = &v
  54231. return s
  54232. }
  54233. // Describes the launch specification for one or more Spot Instances.
  54234. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotFleetLaunchSpecification
  54235. type SpotFleetLaunchSpecification struct {
  54236. _ struct{} `type:"structure"`
  54237. // Deprecated.
  54238. AddressingType *string `locationName:"addressingType" type:"string"`
  54239. // One or more block device mapping entries. You can't specify both a snapshot
  54240. // ID and an encryption value. This is because only blank volumes can be encrypted
  54241. // on creation. If a snapshot is the basis for a volume, it is not blank and
  54242. // its encryption status is used for the volume encryption status.
  54243. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  54244. // Indicates whether the instances are optimized for EBS I/O. This optimization
  54245. // provides dedicated throughput to Amazon EBS and an optimized configuration
  54246. // stack to provide optimal EBS I/O performance. This optimization isn't available
  54247. // with all instance types. Additional usage charges apply when using an EBS
  54248. // Optimized instance.
  54249. //
  54250. // Default: false
  54251. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  54252. // The IAM instance profile.
  54253. IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
  54254. // The ID of the AMI.
  54255. ImageId *string `locationName:"imageId" type:"string"`
  54256. // The instance type.
  54257. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  54258. // The ID of the kernel.
  54259. KernelId *string `locationName:"kernelId" type:"string"`
  54260. // The name of the key pair.
  54261. KeyName *string `locationName:"keyName" type:"string"`
  54262. // Enable or disable monitoring for the instances.
  54263. Monitoring *SpotFleetMonitoring `locationName:"monitoring" type:"structure"`
  54264. // One or more network interfaces. If you specify a network interface, you must
  54265. // specify subnet IDs and security group IDs using the network interface.
  54266. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
  54267. // The placement information.
  54268. Placement *SpotPlacement `locationName:"placement" type:"structure"`
  54269. // The ID of the RAM disk.
  54270. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  54271. // One or more security groups. When requesting instances in a VPC, you must
  54272. // specify the IDs of the security groups. When requesting instances in EC2-Classic,
  54273. // you can specify the names or the IDs of the security groups.
  54274. SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  54275. // The maximum price per unit hour that you are willing to pay for a Spot Instance.
  54276. // If this value is not specified, the default is the Spot price specified for
  54277. // the fleet. To determine the Spot price per unit hour, divide the Spot price
  54278. // by the value of WeightedCapacity.
  54279. SpotPrice *string `locationName:"spotPrice" type:"string"`
  54280. // The ID of the subnet in which to launch the instances. To specify multiple
  54281. // subnets, separate them using commas; for example, "subnet-a61dafcf, subnet-65ea5f08".
  54282. SubnetId *string `locationName:"subnetId" type:"string"`
  54283. // The tags to apply during creation.
  54284. TagSpecifications []*SpotFleetTagSpecification `locationName:"tagSpecificationSet" locationNameList:"item" type:"list"`
  54285. // The user data to make available to the instances. If you are using an AWS
  54286. // SDK or command line tool, Base64-encoding is performed for you, and you can
  54287. // load the text from a file. Otherwise, you must provide Base64-encoded text.
  54288. UserData *string `locationName:"userData" type:"string"`
  54289. // The number of units provided by the specified instance type. These are the
  54290. // same units that you chose to set the target capacity in terms (instances
  54291. // or a performance characteristic such as vCPUs, memory, or I/O).
  54292. //
  54293. // If the target capacity divided by this value is not a whole number, we round
  54294. // the number of instances to the next whole number. If this value is not specified,
  54295. // the default is 1.
  54296. WeightedCapacity *float64 `locationName:"weightedCapacity" type:"double"`
  54297. }
  54298. // String returns the string representation
  54299. func (s SpotFleetLaunchSpecification) String() string {
  54300. return awsutil.Prettify(s)
  54301. }
  54302. // GoString returns the string representation
  54303. func (s SpotFleetLaunchSpecification) GoString() string {
  54304. return s.String()
  54305. }
  54306. // Validate inspects the fields of the type to determine if they are valid.
  54307. func (s *SpotFleetLaunchSpecification) Validate() error {
  54308. invalidParams := request.ErrInvalidParams{Context: "SpotFleetLaunchSpecification"}
  54309. if s.NetworkInterfaces != nil {
  54310. for i, v := range s.NetworkInterfaces {
  54311. if v == nil {
  54312. continue
  54313. }
  54314. if err := v.Validate(); err != nil {
  54315. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NetworkInterfaces", i), err.(request.ErrInvalidParams))
  54316. }
  54317. }
  54318. }
  54319. if invalidParams.Len() > 0 {
  54320. return invalidParams
  54321. }
  54322. return nil
  54323. }
  54324. // SetAddressingType sets the AddressingType field's value.
  54325. func (s *SpotFleetLaunchSpecification) SetAddressingType(v string) *SpotFleetLaunchSpecification {
  54326. s.AddressingType = &v
  54327. return s
  54328. }
  54329. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  54330. func (s *SpotFleetLaunchSpecification) SetBlockDeviceMappings(v []*BlockDeviceMapping) *SpotFleetLaunchSpecification {
  54331. s.BlockDeviceMappings = v
  54332. return s
  54333. }
  54334. // SetEbsOptimized sets the EbsOptimized field's value.
  54335. func (s *SpotFleetLaunchSpecification) SetEbsOptimized(v bool) *SpotFleetLaunchSpecification {
  54336. s.EbsOptimized = &v
  54337. return s
  54338. }
  54339. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  54340. func (s *SpotFleetLaunchSpecification) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *SpotFleetLaunchSpecification {
  54341. s.IamInstanceProfile = v
  54342. return s
  54343. }
  54344. // SetImageId sets the ImageId field's value.
  54345. func (s *SpotFleetLaunchSpecification) SetImageId(v string) *SpotFleetLaunchSpecification {
  54346. s.ImageId = &v
  54347. return s
  54348. }
  54349. // SetInstanceType sets the InstanceType field's value.
  54350. func (s *SpotFleetLaunchSpecification) SetInstanceType(v string) *SpotFleetLaunchSpecification {
  54351. s.InstanceType = &v
  54352. return s
  54353. }
  54354. // SetKernelId sets the KernelId field's value.
  54355. func (s *SpotFleetLaunchSpecification) SetKernelId(v string) *SpotFleetLaunchSpecification {
  54356. s.KernelId = &v
  54357. return s
  54358. }
  54359. // SetKeyName sets the KeyName field's value.
  54360. func (s *SpotFleetLaunchSpecification) SetKeyName(v string) *SpotFleetLaunchSpecification {
  54361. s.KeyName = &v
  54362. return s
  54363. }
  54364. // SetMonitoring sets the Monitoring field's value.
  54365. func (s *SpotFleetLaunchSpecification) SetMonitoring(v *SpotFleetMonitoring) *SpotFleetLaunchSpecification {
  54366. s.Monitoring = v
  54367. return s
  54368. }
  54369. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  54370. func (s *SpotFleetLaunchSpecification) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *SpotFleetLaunchSpecification {
  54371. s.NetworkInterfaces = v
  54372. return s
  54373. }
  54374. // SetPlacement sets the Placement field's value.
  54375. func (s *SpotFleetLaunchSpecification) SetPlacement(v *SpotPlacement) *SpotFleetLaunchSpecification {
  54376. s.Placement = v
  54377. return s
  54378. }
  54379. // SetRamdiskId sets the RamdiskId field's value.
  54380. func (s *SpotFleetLaunchSpecification) SetRamdiskId(v string) *SpotFleetLaunchSpecification {
  54381. s.RamdiskId = &v
  54382. return s
  54383. }
  54384. // SetSecurityGroups sets the SecurityGroups field's value.
  54385. func (s *SpotFleetLaunchSpecification) SetSecurityGroups(v []*GroupIdentifier) *SpotFleetLaunchSpecification {
  54386. s.SecurityGroups = v
  54387. return s
  54388. }
  54389. // SetSpotPrice sets the SpotPrice field's value.
  54390. func (s *SpotFleetLaunchSpecification) SetSpotPrice(v string) *SpotFleetLaunchSpecification {
  54391. s.SpotPrice = &v
  54392. return s
  54393. }
  54394. // SetSubnetId sets the SubnetId field's value.
  54395. func (s *SpotFleetLaunchSpecification) SetSubnetId(v string) *SpotFleetLaunchSpecification {
  54396. s.SubnetId = &v
  54397. return s
  54398. }
  54399. // SetTagSpecifications sets the TagSpecifications field's value.
  54400. func (s *SpotFleetLaunchSpecification) SetTagSpecifications(v []*SpotFleetTagSpecification) *SpotFleetLaunchSpecification {
  54401. s.TagSpecifications = v
  54402. return s
  54403. }
  54404. // SetUserData sets the UserData field's value.
  54405. func (s *SpotFleetLaunchSpecification) SetUserData(v string) *SpotFleetLaunchSpecification {
  54406. s.UserData = &v
  54407. return s
  54408. }
  54409. // SetWeightedCapacity sets the WeightedCapacity field's value.
  54410. func (s *SpotFleetLaunchSpecification) SetWeightedCapacity(v float64) *SpotFleetLaunchSpecification {
  54411. s.WeightedCapacity = &v
  54412. return s
  54413. }
  54414. // Describes whether monitoring is enabled.
  54415. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotFleetMonitoring
  54416. type SpotFleetMonitoring struct {
  54417. _ struct{} `type:"structure"`
  54418. // Enables monitoring for the instance.
  54419. //
  54420. // Default: false
  54421. Enabled *bool `locationName:"enabled" type:"boolean"`
  54422. }
  54423. // String returns the string representation
  54424. func (s SpotFleetMonitoring) String() string {
  54425. return awsutil.Prettify(s)
  54426. }
  54427. // GoString returns the string representation
  54428. func (s SpotFleetMonitoring) GoString() string {
  54429. return s.String()
  54430. }
  54431. // SetEnabled sets the Enabled field's value.
  54432. func (s *SpotFleetMonitoring) SetEnabled(v bool) *SpotFleetMonitoring {
  54433. s.Enabled = &v
  54434. return s
  54435. }
  54436. // Describes a Spot Fleet request.
  54437. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotFleetRequestConfig
  54438. type SpotFleetRequestConfig struct {
  54439. _ struct{} `type:"structure"`
  54440. // The progress of the Spot Fleet request. If there is an error, the status
  54441. // is error. After all requests are placed, the status is pending_fulfillment.
  54442. // If the size of the fleet is equal to or greater than its target capacity,
  54443. // the status is fulfilled. If the size of the fleet is decreased, the status
  54444. // is pending_termination while Spot Instances are terminating.
  54445. ActivityStatus *string `locationName:"activityStatus" type:"string" enum:"ActivityStatus"`
  54446. // The creation date and time of the request.
  54447. //
  54448. // CreateTime is a required field
  54449. CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601" required:"true"`
  54450. // The configuration of the Spot Fleet request.
  54451. //
  54452. // SpotFleetRequestConfig is a required field
  54453. SpotFleetRequestConfig *SpotFleetRequestConfigData `locationName:"spotFleetRequestConfig" type:"structure" required:"true"`
  54454. // The ID of the Spot Fleet request.
  54455. //
  54456. // SpotFleetRequestId is a required field
  54457. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  54458. // The state of the Spot Fleet request.
  54459. //
  54460. // SpotFleetRequestState is a required field
  54461. SpotFleetRequestState *string `locationName:"spotFleetRequestState" type:"string" required:"true" enum:"BatchState"`
  54462. }
  54463. // String returns the string representation
  54464. func (s SpotFleetRequestConfig) String() string {
  54465. return awsutil.Prettify(s)
  54466. }
  54467. // GoString returns the string representation
  54468. func (s SpotFleetRequestConfig) GoString() string {
  54469. return s.String()
  54470. }
  54471. // SetActivityStatus sets the ActivityStatus field's value.
  54472. func (s *SpotFleetRequestConfig) SetActivityStatus(v string) *SpotFleetRequestConfig {
  54473. s.ActivityStatus = &v
  54474. return s
  54475. }
  54476. // SetCreateTime sets the CreateTime field's value.
  54477. func (s *SpotFleetRequestConfig) SetCreateTime(v time.Time) *SpotFleetRequestConfig {
  54478. s.CreateTime = &v
  54479. return s
  54480. }
  54481. // SetSpotFleetRequestConfig sets the SpotFleetRequestConfig field's value.
  54482. func (s *SpotFleetRequestConfig) SetSpotFleetRequestConfig(v *SpotFleetRequestConfigData) *SpotFleetRequestConfig {
  54483. s.SpotFleetRequestConfig = v
  54484. return s
  54485. }
  54486. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  54487. func (s *SpotFleetRequestConfig) SetSpotFleetRequestId(v string) *SpotFleetRequestConfig {
  54488. s.SpotFleetRequestId = &v
  54489. return s
  54490. }
  54491. // SetSpotFleetRequestState sets the SpotFleetRequestState field's value.
  54492. func (s *SpotFleetRequestConfig) SetSpotFleetRequestState(v string) *SpotFleetRequestConfig {
  54493. s.SpotFleetRequestState = &v
  54494. return s
  54495. }
  54496. // Describes the configuration of a Spot Fleet request.
  54497. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotFleetRequestConfigData
  54498. type SpotFleetRequestConfigData struct {
  54499. _ struct{} `type:"structure"`
  54500. // Indicates how to allocate the target capacity across the Spot pools specified
  54501. // by the Spot Fleet request. The default is lowestPrice.
  54502. AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"AllocationStrategy"`
  54503. // A unique, case-sensitive identifier you provide to ensure idempotency of
  54504. // your listings. This helps avoid duplicate listings. For more information,
  54505. // see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  54506. ClientToken *string `locationName:"clientToken" type:"string"`
  54507. // Indicates whether running Spot Instances should be terminated if the target
  54508. // capacity of the Spot Fleet request is decreased below the current size of
  54509. // the Spot Fleet.
  54510. ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"ExcessCapacityTerminationPolicy"`
  54511. // The number of units fulfilled by this request compared to the set target
  54512. // capacity.
  54513. FulfilledCapacity *float64 `locationName:"fulfilledCapacity" type:"double"`
  54514. // Grants the Spot Fleet permission to terminate Spot Instances on your behalf
  54515. // when you cancel its Spot Fleet request using CancelSpotFleetRequests or when
  54516. // the Spot Fleet request expires, if you set terminateInstancesWithExpiration.
  54517. //
  54518. // IamFleetRole is a required field
  54519. IamFleetRole *string `locationName:"iamFleetRole" type:"string" required:"true"`
  54520. // The behavior when a Spot Instance is interrupted. The default is terminate.
  54521. InstanceInterruptionBehavior *string `locationName:"instanceInterruptionBehavior" type:"string" enum:"InstanceInterruptionBehavior"`
  54522. // The launch specifications for the Spot Fleet request.
  54523. LaunchSpecifications []*SpotFleetLaunchSpecification `locationName:"launchSpecifications" locationNameList:"item" type:"list"`
  54524. // The launch template and overrides.
  54525. LaunchTemplateConfigs []*LaunchTemplateConfig `locationName:"launchTemplateConfigs" locationNameList:"item" type:"list"`
  54526. // One or more Classic Load Balancers and target groups to attach to the Spot
  54527. // Fleet request. Spot Fleet registers the running Spot Instances with the specified
  54528. // Classic Load Balancers and target groups.
  54529. //
  54530. // With Network Load Balancers, Spot Fleet cannot register instances that have
  54531. // the following instance types: C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1,
  54532. // HS1, M1, M2, M3, and T1.
  54533. LoadBalancersConfig *LoadBalancersConfig `locationName:"loadBalancersConfig" type:"structure"`
  54534. // Indicates whether Spot Fleet should replace unhealthy instances.
  54535. ReplaceUnhealthyInstances *bool `locationName:"replaceUnhealthyInstances" type:"boolean"`
  54536. // The maximum price per unit hour that you are willing to pay for a Spot Instance.
  54537. // The default is the On-Demand price.
  54538. SpotPrice *string `locationName:"spotPrice" type:"string"`
  54539. // The number of units to request. You can choose to set the target capacity
  54540. // in terms of instances or a performance characteristic that is important to
  54541. // your application workload, such as vCPUs, memory, or I/O. If the request
  54542. // type is maintain, you can specify a target capacity of 0 and add capacity
  54543. // later.
  54544. //
  54545. // TargetCapacity is a required field
  54546. TargetCapacity *int64 `locationName:"targetCapacity" type:"integer" required:"true"`
  54547. // Indicates whether running Spot Instances should be terminated when the Spot
  54548. // Fleet request expires.
  54549. TerminateInstancesWithExpiration *bool `locationName:"terminateInstancesWithExpiration" type:"boolean"`
  54550. // The type of request. Indicates whether the fleet will only request the target
  54551. // capacity or also attempt to maintain it. When you request a certain target
  54552. // capacity, the fleet will only place the required requests. It will not attempt
  54553. // to replenish Spot Instances if capacity is diminished, nor will it submit
  54554. // requests in alternative Spot pools if capacity is not available. When you
  54555. // want to maintain a certain target capacity, fleet will place the required
  54556. // requests to meet this target capacity. It will also automatically replenish
  54557. // any interrupted instances. Default: maintain.
  54558. Type *string `locationName:"type" type:"string" enum:"FleetType"`
  54559. // The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  54560. // The default is to start fulfilling the request immediately.
  54561. ValidFrom *time.Time `locationName:"validFrom" type:"timestamp" timestampFormat:"iso8601"`
  54562. // The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  54563. // At this point, no new Spot Instance requests are placed or able to fulfill
  54564. // the request. The default end date is 7 days from the current date.
  54565. ValidUntil *time.Time `locationName:"validUntil" type:"timestamp" timestampFormat:"iso8601"`
  54566. }
  54567. // String returns the string representation
  54568. func (s SpotFleetRequestConfigData) String() string {
  54569. return awsutil.Prettify(s)
  54570. }
  54571. // GoString returns the string representation
  54572. func (s SpotFleetRequestConfigData) GoString() string {
  54573. return s.String()
  54574. }
  54575. // Validate inspects the fields of the type to determine if they are valid.
  54576. func (s *SpotFleetRequestConfigData) Validate() error {
  54577. invalidParams := request.ErrInvalidParams{Context: "SpotFleetRequestConfigData"}
  54578. if s.IamFleetRole == nil {
  54579. invalidParams.Add(request.NewErrParamRequired("IamFleetRole"))
  54580. }
  54581. if s.TargetCapacity == nil {
  54582. invalidParams.Add(request.NewErrParamRequired("TargetCapacity"))
  54583. }
  54584. if s.LaunchSpecifications != nil {
  54585. for i, v := range s.LaunchSpecifications {
  54586. if v == nil {
  54587. continue
  54588. }
  54589. if err := v.Validate(); err != nil {
  54590. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LaunchSpecifications", i), err.(request.ErrInvalidParams))
  54591. }
  54592. }
  54593. }
  54594. if s.LaunchTemplateConfigs != nil {
  54595. for i, v := range s.LaunchTemplateConfigs {
  54596. if v == nil {
  54597. continue
  54598. }
  54599. if err := v.Validate(); err != nil {
  54600. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LaunchTemplateConfigs", i), err.(request.ErrInvalidParams))
  54601. }
  54602. }
  54603. }
  54604. if s.LoadBalancersConfig != nil {
  54605. if err := s.LoadBalancersConfig.Validate(); err != nil {
  54606. invalidParams.AddNested("LoadBalancersConfig", err.(request.ErrInvalidParams))
  54607. }
  54608. }
  54609. if invalidParams.Len() > 0 {
  54610. return invalidParams
  54611. }
  54612. return nil
  54613. }
  54614. // SetAllocationStrategy sets the AllocationStrategy field's value.
  54615. func (s *SpotFleetRequestConfigData) SetAllocationStrategy(v string) *SpotFleetRequestConfigData {
  54616. s.AllocationStrategy = &v
  54617. return s
  54618. }
  54619. // SetClientToken sets the ClientToken field's value.
  54620. func (s *SpotFleetRequestConfigData) SetClientToken(v string) *SpotFleetRequestConfigData {
  54621. s.ClientToken = &v
  54622. return s
  54623. }
  54624. // SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
  54625. func (s *SpotFleetRequestConfigData) SetExcessCapacityTerminationPolicy(v string) *SpotFleetRequestConfigData {
  54626. s.ExcessCapacityTerminationPolicy = &v
  54627. return s
  54628. }
  54629. // SetFulfilledCapacity sets the FulfilledCapacity field's value.
  54630. func (s *SpotFleetRequestConfigData) SetFulfilledCapacity(v float64) *SpotFleetRequestConfigData {
  54631. s.FulfilledCapacity = &v
  54632. return s
  54633. }
  54634. // SetIamFleetRole sets the IamFleetRole field's value.
  54635. func (s *SpotFleetRequestConfigData) SetIamFleetRole(v string) *SpotFleetRequestConfigData {
  54636. s.IamFleetRole = &v
  54637. return s
  54638. }
  54639. // SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
  54640. func (s *SpotFleetRequestConfigData) SetInstanceInterruptionBehavior(v string) *SpotFleetRequestConfigData {
  54641. s.InstanceInterruptionBehavior = &v
  54642. return s
  54643. }
  54644. // SetLaunchSpecifications sets the LaunchSpecifications field's value.
  54645. func (s *SpotFleetRequestConfigData) SetLaunchSpecifications(v []*SpotFleetLaunchSpecification) *SpotFleetRequestConfigData {
  54646. s.LaunchSpecifications = v
  54647. return s
  54648. }
  54649. // SetLaunchTemplateConfigs sets the LaunchTemplateConfigs field's value.
  54650. func (s *SpotFleetRequestConfigData) SetLaunchTemplateConfigs(v []*LaunchTemplateConfig) *SpotFleetRequestConfigData {
  54651. s.LaunchTemplateConfigs = v
  54652. return s
  54653. }
  54654. // SetLoadBalancersConfig sets the LoadBalancersConfig field's value.
  54655. func (s *SpotFleetRequestConfigData) SetLoadBalancersConfig(v *LoadBalancersConfig) *SpotFleetRequestConfigData {
  54656. s.LoadBalancersConfig = v
  54657. return s
  54658. }
  54659. // SetReplaceUnhealthyInstances sets the ReplaceUnhealthyInstances field's value.
  54660. func (s *SpotFleetRequestConfigData) SetReplaceUnhealthyInstances(v bool) *SpotFleetRequestConfigData {
  54661. s.ReplaceUnhealthyInstances = &v
  54662. return s
  54663. }
  54664. // SetSpotPrice sets the SpotPrice field's value.
  54665. func (s *SpotFleetRequestConfigData) SetSpotPrice(v string) *SpotFleetRequestConfigData {
  54666. s.SpotPrice = &v
  54667. return s
  54668. }
  54669. // SetTargetCapacity sets the TargetCapacity field's value.
  54670. func (s *SpotFleetRequestConfigData) SetTargetCapacity(v int64) *SpotFleetRequestConfigData {
  54671. s.TargetCapacity = &v
  54672. return s
  54673. }
  54674. // SetTerminateInstancesWithExpiration sets the TerminateInstancesWithExpiration field's value.
  54675. func (s *SpotFleetRequestConfigData) SetTerminateInstancesWithExpiration(v bool) *SpotFleetRequestConfigData {
  54676. s.TerminateInstancesWithExpiration = &v
  54677. return s
  54678. }
  54679. // SetType sets the Type field's value.
  54680. func (s *SpotFleetRequestConfigData) SetType(v string) *SpotFleetRequestConfigData {
  54681. s.Type = &v
  54682. return s
  54683. }
  54684. // SetValidFrom sets the ValidFrom field's value.
  54685. func (s *SpotFleetRequestConfigData) SetValidFrom(v time.Time) *SpotFleetRequestConfigData {
  54686. s.ValidFrom = &v
  54687. return s
  54688. }
  54689. // SetValidUntil sets the ValidUntil field's value.
  54690. func (s *SpotFleetRequestConfigData) SetValidUntil(v time.Time) *SpotFleetRequestConfigData {
  54691. s.ValidUntil = &v
  54692. return s
  54693. }
  54694. // The tags for a Spot Fleet resource.
  54695. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotFleetTagSpecification
  54696. type SpotFleetTagSpecification struct {
  54697. _ struct{} `type:"structure"`
  54698. // The type of resource. Currently, the only resource type that is supported
  54699. // is instance.
  54700. ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
  54701. // The tags.
  54702. Tags []*Tag `locationName:"tag" locationNameList:"item" type:"list"`
  54703. }
  54704. // String returns the string representation
  54705. func (s SpotFleetTagSpecification) String() string {
  54706. return awsutil.Prettify(s)
  54707. }
  54708. // GoString returns the string representation
  54709. func (s SpotFleetTagSpecification) GoString() string {
  54710. return s.String()
  54711. }
  54712. // SetResourceType sets the ResourceType field's value.
  54713. func (s *SpotFleetTagSpecification) SetResourceType(v string) *SpotFleetTagSpecification {
  54714. s.ResourceType = &v
  54715. return s
  54716. }
  54717. // SetTags sets the Tags field's value.
  54718. func (s *SpotFleetTagSpecification) SetTags(v []*Tag) *SpotFleetTagSpecification {
  54719. s.Tags = v
  54720. return s
  54721. }
  54722. // Describes a Spot Instance request.
  54723. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotInstanceRequest
  54724. type SpotInstanceRequest struct {
  54725. _ struct{} `type:"structure"`
  54726. // If you specified a duration and your Spot Instance request was fulfilled,
  54727. // this is the fixed hourly price in effect for the Spot Instance while it runs.
  54728. ActualBlockHourlyPrice *string `locationName:"actualBlockHourlyPrice" type:"string"`
  54729. // The Availability Zone group. If you specify the same Availability Zone group
  54730. // for all Spot Instance requests, all Spot Instances are launched in the same
  54731. // Availability Zone.
  54732. AvailabilityZoneGroup *string `locationName:"availabilityZoneGroup" type:"string"`
  54733. // The duration for the Spot Instance, in minutes.
  54734. BlockDurationMinutes *int64 `locationName:"blockDurationMinutes" type:"integer"`
  54735. // The date and time when the Spot Instance request was created, in UTC format
  54736. // (for example, YYYY-MM-DDTHH:MM:SSZ).
  54737. CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"`
  54738. // The fault codes for the Spot Instance request, if any.
  54739. Fault *SpotInstanceStateFault `locationName:"fault" type:"structure"`
  54740. // The instance ID, if an instance has been launched to fulfill the Spot Instance
  54741. // request.
  54742. InstanceId *string `locationName:"instanceId" type:"string"`
  54743. // The behavior when a Spot Instance is interrupted.
  54744. InstanceInterruptionBehavior *string `locationName:"instanceInterruptionBehavior" type:"string" enum:"InstanceInterruptionBehavior"`
  54745. // The instance launch group. Launch groups are Spot Instances that launch together
  54746. // and terminate together.
  54747. LaunchGroup *string `locationName:"launchGroup" type:"string"`
  54748. // Additional information for launching instances.
  54749. LaunchSpecification *LaunchSpecification `locationName:"launchSpecification" type:"structure"`
  54750. // The Availability Zone in which the request is launched.
  54751. LaunchedAvailabilityZone *string `locationName:"launchedAvailabilityZone" type:"string"`
  54752. // The product description associated with the Spot Instance.
  54753. ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
  54754. // The ID of the Spot Instance request.
  54755. SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
  54756. // The maximum price per hour that you are willing to pay for a Spot Instance.
  54757. SpotPrice *string `locationName:"spotPrice" type:"string"`
  54758. // The state of the Spot Instance request. Spot status information can help
  54759. // you track your Spot Instance requests. For more information, see Spot Status
  54760. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html)
  54761. // in the Amazon Elastic Compute Cloud User Guide.
  54762. State *string `locationName:"state" type:"string" enum:"SpotInstanceState"`
  54763. // The status code and status message describing the Spot Instance request.
  54764. Status *SpotInstanceStatus `locationName:"status" type:"structure"`
  54765. // Any tags assigned to the resource.
  54766. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  54767. // The Spot Instance request type.
  54768. Type *string `locationName:"type" type:"string" enum:"SpotInstanceType"`
  54769. // The start date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  54770. // The request becomes active at this date and time.
  54771. ValidFrom *time.Time `locationName:"validFrom" type:"timestamp" timestampFormat:"iso8601"`
  54772. // The end date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  54773. // If this is a one-time request, it remains active until all instances launch,
  54774. // the request is canceled, or this date is reached. If the request is persistent,
  54775. // it remains active until it is canceled or this date is reached. The default
  54776. // end date is 7 days from the current date.
  54777. ValidUntil *time.Time `locationName:"validUntil" type:"timestamp" timestampFormat:"iso8601"`
  54778. }
  54779. // String returns the string representation
  54780. func (s SpotInstanceRequest) String() string {
  54781. return awsutil.Prettify(s)
  54782. }
  54783. // GoString returns the string representation
  54784. func (s SpotInstanceRequest) GoString() string {
  54785. return s.String()
  54786. }
  54787. // SetActualBlockHourlyPrice sets the ActualBlockHourlyPrice field's value.
  54788. func (s *SpotInstanceRequest) SetActualBlockHourlyPrice(v string) *SpotInstanceRequest {
  54789. s.ActualBlockHourlyPrice = &v
  54790. return s
  54791. }
  54792. // SetAvailabilityZoneGroup sets the AvailabilityZoneGroup field's value.
  54793. func (s *SpotInstanceRequest) SetAvailabilityZoneGroup(v string) *SpotInstanceRequest {
  54794. s.AvailabilityZoneGroup = &v
  54795. return s
  54796. }
  54797. // SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
  54798. func (s *SpotInstanceRequest) SetBlockDurationMinutes(v int64) *SpotInstanceRequest {
  54799. s.BlockDurationMinutes = &v
  54800. return s
  54801. }
  54802. // SetCreateTime sets the CreateTime field's value.
  54803. func (s *SpotInstanceRequest) SetCreateTime(v time.Time) *SpotInstanceRequest {
  54804. s.CreateTime = &v
  54805. return s
  54806. }
  54807. // SetFault sets the Fault field's value.
  54808. func (s *SpotInstanceRequest) SetFault(v *SpotInstanceStateFault) *SpotInstanceRequest {
  54809. s.Fault = v
  54810. return s
  54811. }
  54812. // SetInstanceId sets the InstanceId field's value.
  54813. func (s *SpotInstanceRequest) SetInstanceId(v string) *SpotInstanceRequest {
  54814. s.InstanceId = &v
  54815. return s
  54816. }
  54817. // SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
  54818. func (s *SpotInstanceRequest) SetInstanceInterruptionBehavior(v string) *SpotInstanceRequest {
  54819. s.InstanceInterruptionBehavior = &v
  54820. return s
  54821. }
  54822. // SetLaunchGroup sets the LaunchGroup field's value.
  54823. func (s *SpotInstanceRequest) SetLaunchGroup(v string) *SpotInstanceRequest {
  54824. s.LaunchGroup = &v
  54825. return s
  54826. }
  54827. // SetLaunchSpecification sets the LaunchSpecification field's value.
  54828. func (s *SpotInstanceRequest) SetLaunchSpecification(v *LaunchSpecification) *SpotInstanceRequest {
  54829. s.LaunchSpecification = v
  54830. return s
  54831. }
  54832. // SetLaunchedAvailabilityZone sets the LaunchedAvailabilityZone field's value.
  54833. func (s *SpotInstanceRequest) SetLaunchedAvailabilityZone(v string) *SpotInstanceRequest {
  54834. s.LaunchedAvailabilityZone = &v
  54835. return s
  54836. }
  54837. // SetProductDescription sets the ProductDescription field's value.
  54838. func (s *SpotInstanceRequest) SetProductDescription(v string) *SpotInstanceRequest {
  54839. s.ProductDescription = &v
  54840. return s
  54841. }
  54842. // SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
  54843. func (s *SpotInstanceRequest) SetSpotInstanceRequestId(v string) *SpotInstanceRequest {
  54844. s.SpotInstanceRequestId = &v
  54845. return s
  54846. }
  54847. // SetSpotPrice sets the SpotPrice field's value.
  54848. func (s *SpotInstanceRequest) SetSpotPrice(v string) *SpotInstanceRequest {
  54849. s.SpotPrice = &v
  54850. return s
  54851. }
  54852. // SetState sets the State field's value.
  54853. func (s *SpotInstanceRequest) SetState(v string) *SpotInstanceRequest {
  54854. s.State = &v
  54855. return s
  54856. }
  54857. // SetStatus sets the Status field's value.
  54858. func (s *SpotInstanceRequest) SetStatus(v *SpotInstanceStatus) *SpotInstanceRequest {
  54859. s.Status = v
  54860. return s
  54861. }
  54862. // SetTags sets the Tags field's value.
  54863. func (s *SpotInstanceRequest) SetTags(v []*Tag) *SpotInstanceRequest {
  54864. s.Tags = v
  54865. return s
  54866. }
  54867. // SetType sets the Type field's value.
  54868. func (s *SpotInstanceRequest) SetType(v string) *SpotInstanceRequest {
  54869. s.Type = &v
  54870. return s
  54871. }
  54872. // SetValidFrom sets the ValidFrom field's value.
  54873. func (s *SpotInstanceRequest) SetValidFrom(v time.Time) *SpotInstanceRequest {
  54874. s.ValidFrom = &v
  54875. return s
  54876. }
  54877. // SetValidUntil sets the ValidUntil field's value.
  54878. func (s *SpotInstanceRequest) SetValidUntil(v time.Time) *SpotInstanceRequest {
  54879. s.ValidUntil = &v
  54880. return s
  54881. }
  54882. // Describes a Spot Instance state change.
  54883. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotInstanceStateFault
  54884. type SpotInstanceStateFault struct {
  54885. _ struct{} `type:"structure"`
  54886. // The reason code for the Spot Instance state change.
  54887. Code *string `locationName:"code" type:"string"`
  54888. // The message for the Spot Instance state change.
  54889. Message *string `locationName:"message" type:"string"`
  54890. }
  54891. // String returns the string representation
  54892. func (s SpotInstanceStateFault) String() string {
  54893. return awsutil.Prettify(s)
  54894. }
  54895. // GoString returns the string representation
  54896. func (s SpotInstanceStateFault) GoString() string {
  54897. return s.String()
  54898. }
  54899. // SetCode sets the Code field's value.
  54900. func (s *SpotInstanceStateFault) SetCode(v string) *SpotInstanceStateFault {
  54901. s.Code = &v
  54902. return s
  54903. }
  54904. // SetMessage sets the Message field's value.
  54905. func (s *SpotInstanceStateFault) SetMessage(v string) *SpotInstanceStateFault {
  54906. s.Message = &v
  54907. return s
  54908. }
  54909. // Describes the status of a Spot Instance request.
  54910. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotInstanceStatus
  54911. type SpotInstanceStatus struct {
  54912. _ struct{} `type:"structure"`
  54913. // The status code. For a list of status codes, see Spot Status Codes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html#spot-instance-bid-status-understand)
  54914. // in the Amazon Elastic Compute Cloud User Guide.
  54915. Code *string `locationName:"code" type:"string"`
  54916. // The description for the status code.
  54917. Message *string `locationName:"message" type:"string"`
  54918. // The date and time of the most recent status update, in UTC format (for example,
  54919. // YYYY-MM-DDTHH:MM:SSZ).
  54920. UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" timestampFormat:"iso8601"`
  54921. }
  54922. // String returns the string representation
  54923. func (s SpotInstanceStatus) String() string {
  54924. return awsutil.Prettify(s)
  54925. }
  54926. // GoString returns the string representation
  54927. func (s SpotInstanceStatus) GoString() string {
  54928. return s.String()
  54929. }
  54930. // SetCode sets the Code field's value.
  54931. func (s *SpotInstanceStatus) SetCode(v string) *SpotInstanceStatus {
  54932. s.Code = &v
  54933. return s
  54934. }
  54935. // SetMessage sets the Message field's value.
  54936. func (s *SpotInstanceStatus) SetMessage(v string) *SpotInstanceStatus {
  54937. s.Message = &v
  54938. return s
  54939. }
  54940. // SetUpdateTime sets the UpdateTime field's value.
  54941. func (s *SpotInstanceStatus) SetUpdateTime(v time.Time) *SpotInstanceStatus {
  54942. s.UpdateTime = &v
  54943. return s
  54944. }
  54945. // The options for Spot Instances.
  54946. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotMarketOptions
  54947. type SpotMarketOptions struct {
  54948. _ struct{} `type:"structure"`
  54949. // The required duration for the Spot Instances (also known as Spot blocks),
  54950. // in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
  54951. // or 360).
  54952. BlockDurationMinutes *int64 `type:"integer"`
  54953. // The behavior when a Spot Instance is interrupted. The default is terminate.
  54954. InstanceInterruptionBehavior *string `type:"string" enum:"InstanceInterruptionBehavior"`
  54955. // The maximum hourly price you're willing to pay for the Spot Instances. The
  54956. // default is the On-Demand price.
  54957. MaxPrice *string `type:"string"`
  54958. // The Spot Instance request type.
  54959. SpotInstanceType *string `type:"string" enum:"SpotInstanceType"`
  54960. // The end date of the request. For a one-time request, the request remains
  54961. // active until all instances launch, the request is canceled, or this date
  54962. // is reached. If the request is persistent, it remains active until it is canceled
  54963. // or this date and time is reached. The default end date is 7 days from the
  54964. // current date.
  54965. ValidUntil *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  54966. }
  54967. // String returns the string representation
  54968. func (s SpotMarketOptions) String() string {
  54969. return awsutil.Prettify(s)
  54970. }
  54971. // GoString returns the string representation
  54972. func (s SpotMarketOptions) GoString() string {
  54973. return s.String()
  54974. }
  54975. // SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
  54976. func (s *SpotMarketOptions) SetBlockDurationMinutes(v int64) *SpotMarketOptions {
  54977. s.BlockDurationMinutes = &v
  54978. return s
  54979. }
  54980. // SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
  54981. func (s *SpotMarketOptions) SetInstanceInterruptionBehavior(v string) *SpotMarketOptions {
  54982. s.InstanceInterruptionBehavior = &v
  54983. return s
  54984. }
  54985. // SetMaxPrice sets the MaxPrice field's value.
  54986. func (s *SpotMarketOptions) SetMaxPrice(v string) *SpotMarketOptions {
  54987. s.MaxPrice = &v
  54988. return s
  54989. }
  54990. // SetSpotInstanceType sets the SpotInstanceType field's value.
  54991. func (s *SpotMarketOptions) SetSpotInstanceType(v string) *SpotMarketOptions {
  54992. s.SpotInstanceType = &v
  54993. return s
  54994. }
  54995. // SetValidUntil sets the ValidUntil field's value.
  54996. func (s *SpotMarketOptions) SetValidUntil(v time.Time) *SpotMarketOptions {
  54997. s.ValidUntil = &v
  54998. return s
  54999. }
  55000. // Describes Spot Instance placement.
  55001. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotPlacement
  55002. type SpotPlacement struct {
  55003. _ struct{} `type:"structure"`
  55004. // The Availability Zone.
  55005. //
  55006. // [Spot Fleet only] To specify multiple Availability Zones, separate them using
  55007. // commas; for example, "us-west-2a, us-west-2b".
  55008. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  55009. // The name of the placement group.
  55010. GroupName *string `locationName:"groupName" type:"string"`
  55011. // The tenancy of the instance (if the instance is running in a VPC). An instance
  55012. // with a tenancy of dedicated runs on single-tenant hardware. The host tenancy
  55013. // is not supported for Spot Instances.
  55014. Tenancy *string `locationName:"tenancy" type:"string" enum:"Tenancy"`
  55015. }
  55016. // String returns the string representation
  55017. func (s SpotPlacement) String() string {
  55018. return awsutil.Prettify(s)
  55019. }
  55020. // GoString returns the string representation
  55021. func (s SpotPlacement) GoString() string {
  55022. return s.String()
  55023. }
  55024. // SetAvailabilityZone sets the AvailabilityZone field's value.
  55025. func (s *SpotPlacement) SetAvailabilityZone(v string) *SpotPlacement {
  55026. s.AvailabilityZone = &v
  55027. return s
  55028. }
  55029. // SetGroupName sets the GroupName field's value.
  55030. func (s *SpotPlacement) SetGroupName(v string) *SpotPlacement {
  55031. s.GroupName = &v
  55032. return s
  55033. }
  55034. // SetTenancy sets the Tenancy field's value.
  55035. func (s *SpotPlacement) SetTenancy(v string) *SpotPlacement {
  55036. s.Tenancy = &v
  55037. return s
  55038. }
  55039. // Describes the maximum price per hour that you are willing to pay for a Spot
  55040. // Instance.
  55041. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotPrice
  55042. type SpotPrice struct {
  55043. _ struct{} `type:"structure"`
  55044. // The Availability Zone.
  55045. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  55046. // The instance type.
  55047. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  55048. // A general description of the AMI.
  55049. ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
  55050. // The maximum price per hour that you are willing to pay for a Spot Instance.
  55051. SpotPrice *string `locationName:"spotPrice" type:"string"`
  55052. // The date and time the request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  55053. Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601"`
  55054. }
  55055. // String returns the string representation
  55056. func (s SpotPrice) String() string {
  55057. return awsutil.Prettify(s)
  55058. }
  55059. // GoString returns the string representation
  55060. func (s SpotPrice) GoString() string {
  55061. return s.String()
  55062. }
  55063. // SetAvailabilityZone sets the AvailabilityZone field's value.
  55064. func (s *SpotPrice) SetAvailabilityZone(v string) *SpotPrice {
  55065. s.AvailabilityZone = &v
  55066. return s
  55067. }
  55068. // SetInstanceType sets the InstanceType field's value.
  55069. func (s *SpotPrice) SetInstanceType(v string) *SpotPrice {
  55070. s.InstanceType = &v
  55071. return s
  55072. }
  55073. // SetProductDescription sets the ProductDescription field's value.
  55074. func (s *SpotPrice) SetProductDescription(v string) *SpotPrice {
  55075. s.ProductDescription = &v
  55076. return s
  55077. }
  55078. // SetSpotPrice sets the SpotPrice field's value.
  55079. func (s *SpotPrice) SetSpotPrice(v string) *SpotPrice {
  55080. s.SpotPrice = &v
  55081. return s
  55082. }
  55083. // SetTimestamp sets the Timestamp field's value.
  55084. func (s *SpotPrice) SetTimestamp(v time.Time) *SpotPrice {
  55085. s.Timestamp = &v
  55086. return s
  55087. }
  55088. // Describes a stale rule in a security group.
  55089. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StaleIpPermission
  55090. type StaleIpPermission struct {
  55091. _ struct{} `type:"structure"`
  55092. // The start of the port range for the TCP and UDP protocols, or an ICMP type
  55093. // number. A value of -1 indicates all ICMP types.
  55094. FromPort *int64 `locationName:"fromPort" type:"integer"`
  55095. // The IP protocol name (for tcp, udp, and icmp) or number (see Protocol Numbers)
  55096. // (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml).
  55097. IpProtocol *string `locationName:"ipProtocol" type:"string"`
  55098. // One or more IP ranges. Not applicable for stale security group rules.
  55099. IpRanges []*string `locationName:"ipRanges" locationNameList:"item" type:"list"`
  55100. // One or more prefix list IDs for an AWS service. Not applicable for stale
  55101. // security group rules.
  55102. PrefixListIds []*string `locationName:"prefixListIds" locationNameList:"item" type:"list"`
  55103. // The end of the port range for the TCP and UDP protocols, or an ICMP type
  55104. // number. A value of -1 indicates all ICMP types.
  55105. ToPort *int64 `locationName:"toPort" type:"integer"`
  55106. // One or more security group pairs. Returns the ID of the referenced security
  55107. // group and VPC, and the ID and status of the VPC peering connection.
  55108. UserIdGroupPairs []*UserIdGroupPair `locationName:"groups" locationNameList:"item" type:"list"`
  55109. }
  55110. // String returns the string representation
  55111. func (s StaleIpPermission) String() string {
  55112. return awsutil.Prettify(s)
  55113. }
  55114. // GoString returns the string representation
  55115. func (s StaleIpPermission) GoString() string {
  55116. return s.String()
  55117. }
  55118. // SetFromPort sets the FromPort field's value.
  55119. func (s *StaleIpPermission) SetFromPort(v int64) *StaleIpPermission {
  55120. s.FromPort = &v
  55121. return s
  55122. }
  55123. // SetIpProtocol sets the IpProtocol field's value.
  55124. func (s *StaleIpPermission) SetIpProtocol(v string) *StaleIpPermission {
  55125. s.IpProtocol = &v
  55126. return s
  55127. }
  55128. // SetIpRanges sets the IpRanges field's value.
  55129. func (s *StaleIpPermission) SetIpRanges(v []*string) *StaleIpPermission {
  55130. s.IpRanges = v
  55131. return s
  55132. }
  55133. // SetPrefixListIds sets the PrefixListIds field's value.
  55134. func (s *StaleIpPermission) SetPrefixListIds(v []*string) *StaleIpPermission {
  55135. s.PrefixListIds = v
  55136. return s
  55137. }
  55138. // SetToPort sets the ToPort field's value.
  55139. func (s *StaleIpPermission) SetToPort(v int64) *StaleIpPermission {
  55140. s.ToPort = &v
  55141. return s
  55142. }
  55143. // SetUserIdGroupPairs sets the UserIdGroupPairs field's value.
  55144. func (s *StaleIpPermission) SetUserIdGroupPairs(v []*UserIdGroupPair) *StaleIpPermission {
  55145. s.UserIdGroupPairs = v
  55146. return s
  55147. }
  55148. // Describes a stale security group (a security group that contains stale rules).
  55149. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StaleSecurityGroup
  55150. type StaleSecurityGroup struct {
  55151. _ struct{} `type:"structure"`
  55152. // The description of the security group.
  55153. Description *string `locationName:"description" type:"string"`
  55154. // The ID of the security group.
  55155. //
  55156. // GroupId is a required field
  55157. GroupId *string `locationName:"groupId" type:"string" required:"true"`
  55158. // The name of the security group.
  55159. GroupName *string `locationName:"groupName" type:"string"`
  55160. // Information about the stale inbound rules in the security group.
  55161. StaleIpPermissions []*StaleIpPermission `locationName:"staleIpPermissions" locationNameList:"item" type:"list"`
  55162. // Information about the stale outbound rules in the security group.
  55163. StaleIpPermissionsEgress []*StaleIpPermission `locationName:"staleIpPermissionsEgress" locationNameList:"item" type:"list"`
  55164. // The ID of the VPC for the security group.
  55165. VpcId *string `locationName:"vpcId" type:"string"`
  55166. }
  55167. // String returns the string representation
  55168. func (s StaleSecurityGroup) String() string {
  55169. return awsutil.Prettify(s)
  55170. }
  55171. // GoString returns the string representation
  55172. func (s StaleSecurityGroup) GoString() string {
  55173. return s.String()
  55174. }
  55175. // SetDescription sets the Description field's value.
  55176. func (s *StaleSecurityGroup) SetDescription(v string) *StaleSecurityGroup {
  55177. s.Description = &v
  55178. return s
  55179. }
  55180. // SetGroupId sets the GroupId field's value.
  55181. func (s *StaleSecurityGroup) SetGroupId(v string) *StaleSecurityGroup {
  55182. s.GroupId = &v
  55183. return s
  55184. }
  55185. // SetGroupName sets the GroupName field's value.
  55186. func (s *StaleSecurityGroup) SetGroupName(v string) *StaleSecurityGroup {
  55187. s.GroupName = &v
  55188. return s
  55189. }
  55190. // SetStaleIpPermissions sets the StaleIpPermissions field's value.
  55191. func (s *StaleSecurityGroup) SetStaleIpPermissions(v []*StaleIpPermission) *StaleSecurityGroup {
  55192. s.StaleIpPermissions = v
  55193. return s
  55194. }
  55195. // SetStaleIpPermissionsEgress sets the StaleIpPermissionsEgress field's value.
  55196. func (s *StaleSecurityGroup) SetStaleIpPermissionsEgress(v []*StaleIpPermission) *StaleSecurityGroup {
  55197. s.StaleIpPermissionsEgress = v
  55198. return s
  55199. }
  55200. // SetVpcId sets the VpcId field's value.
  55201. func (s *StaleSecurityGroup) SetVpcId(v string) *StaleSecurityGroup {
  55202. s.VpcId = &v
  55203. return s
  55204. }
  55205. // Contains the parameters for StartInstances.
  55206. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartInstancesRequest
  55207. type StartInstancesInput struct {
  55208. _ struct{} `type:"structure"`
  55209. // Reserved.
  55210. AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
  55211. // Checks whether you have the required permissions for the action, without
  55212. // actually making the request, and provides an error response. If you have
  55213. // the required permissions, the error response is DryRunOperation. Otherwise,
  55214. // it is UnauthorizedOperation.
  55215. DryRun *bool `locationName:"dryRun" type:"boolean"`
  55216. // One or more instance IDs.
  55217. //
  55218. // InstanceIds is a required field
  55219. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  55220. }
  55221. // String returns the string representation
  55222. func (s StartInstancesInput) String() string {
  55223. return awsutil.Prettify(s)
  55224. }
  55225. // GoString returns the string representation
  55226. func (s StartInstancesInput) GoString() string {
  55227. return s.String()
  55228. }
  55229. // Validate inspects the fields of the type to determine if they are valid.
  55230. func (s *StartInstancesInput) Validate() error {
  55231. invalidParams := request.ErrInvalidParams{Context: "StartInstancesInput"}
  55232. if s.InstanceIds == nil {
  55233. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  55234. }
  55235. if invalidParams.Len() > 0 {
  55236. return invalidParams
  55237. }
  55238. return nil
  55239. }
  55240. // SetAdditionalInfo sets the AdditionalInfo field's value.
  55241. func (s *StartInstancesInput) SetAdditionalInfo(v string) *StartInstancesInput {
  55242. s.AdditionalInfo = &v
  55243. return s
  55244. }
  55245. // SetDryRun sets the DryRun field's value.
  55246. func (s *StartInstancesInput) SetDryRun(v bool) *StartInstancesInput {
  55247. s.DryRun = &v
  55248. return s
  55249. }
  55250. // SetInstanceIds sets the InstanceIds field's value.
  55251. func (s *StartInstancesInput) SetInstanceIds(v []*string) *StartInstancesInput {
  55252. s.InstanceIds = v
  55253. return s
  55254. }
  55255. // Contains the output of StartInstances.
  55256. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartInstancesResult
  55257. type StartInstancesOutput struct {
  55258. _ struct{} `type:"structure"`
  55259. // Information about one or more started instances.
  55260. StartingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
  55261. }
  55262. // String returns the string representation
  55263. func (s StartInstancesOutput) String() string {
  55264. return awsutil.Prettify(s)
  55265. }
  55266. // GoString returns the string representation
  55267. func (s StartInstancesOutput) GoString() string {
  55268. return s.String()
  55269. }
  55270. // SetStartingInstances sets the StartingInstances field's value.
  55271. func (s *StartInstancesOutput) SetStartingInstances(v []*InstanceStateChange) *StartInstancesOutput {
  55272. s.StartingInstances = v
  55273. return s
  55274. }
  55275. // Describes a state change.
  55276. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StateReason
  55277. type StateReason struct {
  55278. _ struct{} `type:"structure"`
  55279. // The reason code for the state change.
  55280. Code *string `locationName:"code" type:"string"`
  55281. // The message for the state change.
  55282. //
  55283. // * Server.InsufficientInstanceCapacity: There was insufficient instance
  55284. // capacity to satisfy the launch request.
  55285. //
  55286. // * Server.InternalError: An internal error occurred during instance launch,
  55287. // resulting in termination.
  55288. //
  55289. // * Server.ScheduledStop: The instance was stopped due to a scheduled retirement.
  55290. //
  55291. // * Server.SpotInstanceTermination: A Spot Instance was terminated due to
  55292. // an increase in the Spot price.
  55293. //
  55294. // * Client.InternalError: A client error caused the instance to terminate
  55295. // on launch.
  55296. //
  55297. // * Client.InstanceInitiatedShutdown: The instance was shut down using the
  55298. // shutdown -h command from the instance.
  55299. //
  55300. // * Client.InstanceTerminated: The instance was terminated or rebooted during
  55301. // AMI creation.
  55302. //
  55303. // * Client.UserInitiatedShutdown: The instance was shut down using the Amazon
  55304. // EC2 API.
  55305. //
  55306. // * Client.VolumeLimitExceeded: The limit on the number of EBS volumes or
  55307. // total storage was exceeded. Decrease usage or request an increase in your
  55308. // limits.
  55309. //
  55310. // * Client.InvalidSnapshot.NotFound: The specified snapshot was not found.
  55311. Message *string `locationName:"message" type:"string"`
  55312. }
  55313. // String returns the string representation
  55314. func (s StateReason) String() string {
  55315. return awsutil.Prettify(s)
  55316. }
  55317. // GoString returns the string representation
  55318. func (s StateReason) GoString() string {
  55319. return s.String()
  55320. }
  55321. // SetCode sets the Code field's value.
  55322. func (s *StateReason) SetCode(v string) *StateReason {
  55323. s.Code = &v
  55324. return s
  55325. }
  55326. // SetMessage sets the Message field's value.
  55327. func (s *StateReason) SetMessage(v string) *StateReason {
  55328. s.Message = &v
  55329. return s
  55330. }
  55331. // Contains the parameters for StopInstances.
  55332. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StopInstancesRequest
  55333. type StopInstancesInput struct {
  55334. _ struct{} `type:"structure"`
  55335. // Checks whether you have the required permissions for the action, without
  55336. // actually making the request, and provides an error response. If you have
  55337. // the required permissions, the error response is DryRunOperation. Otherwise,
  55338. // it is UnauthorizedOperation.
  55339. DryRun *bool `locationName:"dryRun" type:"boolean"`
  55340. // Forces the instances to stop. The instances do not have an opportunity to
  55341. // flush file system caches or file system metadata. If you use this option,
  55342. // you must perform file system check and repair procedures. This option is
  55343. // not recommended for Windows instances.
  55344. //
  55345. // Default: false
  55346. Force *bool `locationName:"force" type:"boolean"`
  55347. // One or more instance IDs.
  55348. //
  55349. // InstanceIds is a required field
  55350. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  55351. }
  55352. // String returns the string representation
  55353. func (s StopInstancesInput) String() string {
  55354. return awsutil.Prettify(s)
  55355. }
  55356. // GoString returns the string representation
  55357. func (s StopInstancesInput) GoString() string {
  55358. return s.String()
  55359. }
  55360. // Validate inspects the fields of the type to determine if they are valid.
  55361. func (s *StopInstancesInput) Validate() error {
  55362. invalidParams := request.ErrInvalidParams{Context: "StopInstancesInput"}
  55363. if s.InstanceIds == nil {
  55364. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  55365. }
  55366. if invalidParams.Len() > 0 {
  55367. return invalidParams
  55368. }
  55369. return nil
  55370. }
  55371. // SetDryRun sets the DryRun field's value.
  55372. func (s *StopInstancesInput) SetDryRun(v bool) *StopInstancesInput {
  55373. s.DryRun = &v
  55374. return s
  55375. }
  55376. // SetForce sets the Force field's value.
  55377. func (s *StopInstancesInput) SetForce(v bool) *StopInstancesInput {
  55378. s.Force = &v
  55379. return s
  55380. }
  55381. // SetInstanceIds sets the InstanceIds field's value.
  55382. func (s *StopInstancesInput) SetInstanceIds(v []*string) *StopInstancesInput {
  55383. s.InstanceIds = v
  55384. return s
  55385. }
  55386. // Contains the output of StopInstances.
  55387. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StopInstancesResult
  55388. type StopInstancesOutput struct {
  55389. _ struct{} `type:"structure"`
  55390. // Information about one or more stopped instances.
  55391. StoppingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
  55392. }
  55393. // String returns the string representation
  55394. func (s StopInstancesOutput) String() string {
  55395. return awsutil.Prettify(s)
  55396. }
  55397. // GoString returns the string representation
  55398. func (s StopInstancesOutput) GoString() string {
  55399. return s.String()
  55400. }
  55401. // SetStoppingInstances sets the StoppingInstances field's value.
  55402. func (s *StopInstancesOutput) SetStoppingInstances(v []*InstanceStateChange) *StopInstancesOutput {
  55403. s.StoppingInstances = v
  55404. return s
  55405. }
  55406. // Describes the storage location for an instance store-backed AMI.
  55407. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Storage
  55408. type Storage struct {
  55409. _ struct{} `type:"structure"`
  55410. // An Amazon S3 storage location.
  55411. S3 *S3Storage `type:"structure"`
  55412. }
  55413. // String returns the string representation
  55414. func (s Storage) String() string {
  55415. return awsutil.Prettify(s)
  55416. }
  55417. // GoString returns the string representation
  55418. func (s Storage) GoString() string {
  55419. return s.String()
  55420. }
  55421. // SetS3 sets the S3 field's value.
  55422. func (s *Storage) SetS3(v *S3Storage) *Storage {
  55423. s.S3 = v
  55424. return s
  55425. }
  55426. // Describes a storage location in Amazon S3.
  55427. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StorageLocation
  55428. type StorageLocation struct {
  55429. _ struct{} `type:"structure"`
  55430. // The name of the S3 bucket.
  55431. Bucket *string `type:"string"`
  55432. // The key.
  55433. Key *string `type:"string"`
  55434. }
  55435. // String returns the string representation
  55436. func (s StorageLocation) String() string {
  55437. return awsutil.Prettify(s)
  55438. }
  55439. // GoString returns the string representation
  55440. func (s StorageLocation) GoString() string {
  55441. return s.String()
  55442. }
  55443. // SetBucket sets the Bucket field's value.
  55444. func (s *StorageLocation) SetBucket(v string) *StorageLocation {
  55445. s.Bucket = &v
  55446. return s
  55447. }
  55448. // SetKey sets the Key field's value.
  55449. func (s *StorageLocation) SetKey(v string) *StorageLocation {
  55450. s.Key = &v
  55451. return s
  55452. }
  55453. // Describes a subnet.
  55454. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Subnet
  55455. type Subnet struct {
  55456. _ struct{} `type:"structure"`
  55457. // Indicates whether a network interface created in this subnet (including a
  55458. // network interface created by RunInstances) receives an IPv6 address.
  55459. AssignIpv6AddressOnCreation *bool `locationName:"assignIpv6AddressOnCreation" type:"boolean"`
  55460. // The Availability Zone of the subnet.
  55461. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  55462. // The number of unused private IPv4 addresses in the subnet. Note that the
  55463. // IPv4 addresses for any stopped instances are considered unavailable.
  55464. AvailableIpAddressCount *int64 `locationName:"availableIpAddressCount" type:"integer"`
  55465. // The IPv4 CIDR block assigned to the subnet.
  55466. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  55467. // Indicates whether this is the default subnet for the Availability Zone.
  55468. DefaultForAz *bool `locationName:"defaultForAz" type:"boolean"`
  55469. // Information about the IPv6 CIDR blocks associated with the subnet.
  55470. Ipv6CidrBlockAssociationSet []*SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociationSet" locationNameList:"item" type:"list"`
  55471. // Indicates whether instances launched in this subnet receive a public IPv4
  55472. // address.
  55473. MapPublicIpOnLaunch *bool `locationName:"mapPublicIpOnLaunch" type:"boolean"`
  55474. // The current state of the subnet.
  55475. State *string `locationName:"state" type:"string" enum:"SubnetState"`
  55476. // The ID of the subnet.
  55477. SubnetId *string `locationName:"subnetId" type:"string"`
  55478. // Any tags assigned to the subnet.
  55479. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  55480. // The ID of the VPC the subnet is in.
  55481. VpcId *string `locationName:"vpcId" type:"string"`
  55482. }
  55483. // String returns the string representation
  55484. func (s Subnet) String() string {
  55485. return awsutil.Prettify(s)
  55486. }
  55487. // GoString returns the string representation
  55488. func (s Subnet) GoString() string {
  55489. return s.String()
  55490. }
  55491. // SetAssignIpv6AddressOnCreation sets the AssignIpv6AddressOnCreation field's value.
  55492. func (s *Subnet) SetAssignIpv6AddressOnCreation(v bool) *Subnet {
  55493. s.AssignIpv6AddressOnCreation = &v
  55494. return s
  55495. }
  55496. // SetAvailabilityZone sets the AvailabilityZone field's value.
  55497. func (s *Subnet) SetAvailabilityZone(v string) *Subnet {
  55498. s.AvailabilityZone = &v
  55499. return s
  55500. }
  55501. // SetAvailableIpAddressCount sets the AvailableIpAddressCount field's value.
  55502. func (s *Subnet) SetAvailableIpAddressCount(v int64) *Subnet {
  55503. s.AvailableIpAddressCount = &v
  55504. return s
  55505. }
  55506. // SetCidrBlock sets the CidrBlock field's value.
  55507. func (s *Subnet) SetCidrBlock(v string) *Subnet {
  55508. s.CidrBlock = &v
  55509. return s
  55510. }
  55511. // SetDefaultForAz sets the DefaultForAz field's value.
  55512. func (s *Subnet) SetDefaultForAz(v bool) *Subnet {
  55513. s.DefaultForAz = &v
  55514. return s
  55515. }
  55516. // SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value.
  55517. func (s *Subnet) SetIpv6CidrBlockAssociationSet(v []*SubnetIpv6CidrBlockAssociation) *Subnet {
  55518. s.Ipv6CidrBlockAssociationSet = v
  55519. return s
  55520. }
  55521. // SetMapPublicIpOnLaunch sets the MapPublicIpOnLaunch field's value.
  55522. func (s *Subnet) SetMapPublicIpOnLaunch(v bool) *Subnet {
  55523. s.MapPublicIpOnLaunch = &v
  55524. return s
  55525. }
  55526. // SetState sets the State field's value.
  55527. func (s *Subnet) SetState(v string) *Subnet {
  55528. s.State = &v
  55529. return s
  55530. }
  55531. // SetSubnetId sets the SubnetId field's value.
  55532. func (s *Subnet) SetSubnetId(v string) *Subnet {
  55533. s.SubnetId = &v
  55534. return s
  55535. }
  55536. // SetTags sets the Tags field's value.
  55537. func (s *Subnet) SetTags(v []*Tag) *Subnet {
  55538. s.Tags = v
  55539. return s
  55540. }
  55541. // SetVpcId sets the VpcId field's value.
  55542. func (s *Subnet) SetVpcId(v string) *Subnet {
  55543. s.VpcId = &v
  55544. return s
  55545. }
  55546. // Describes the state of a CIDR block.
  55547. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SubnetCidrBlockState
  55548. type SubnetCidrBlockState struct {
  55549. _ struct{} `type:"structure"`
  55550. // The state of a CIDR block.
  55551. State *string `locationName:"state" type:"string" enum:"SubnetCidrBlockStateCode"`
  55552. // A message about the status of the CIDR block, if applicable.
  55553. StatusMessage *string `locationName:"statusMessage" type:"string"`
  55554. }
  55555. // String returns the string representation
  55556. func (s SubnetCidrBlockState) String() string {
  55557. return awsutil.Prettify(s)
  55558. }
  55559. // GoString returns the string representation
  55560. func (s SubnetCidrBlockState) GoString() string {
  55561. return s.String()
  55562. }
  55563. // SetState sets the State field's value.
  55564. func (s *SubnetCidrBlockState) SetState(v string) *SubnetCidrBlockState {
  55565. s.State = &v
  55566. return s
  55567. }
  55568. // SetStatusMessage sets the StatusMessage field's value.
  55569. func (s *SubnetCidrBlockState) SetStatusMessage(v string) *SubnetCidrBlockState {
  55570. s.StatusMessage = &v
  55571. return s
  55572. }
  55573. // Describes an IPv6 CIDR block associated with a subnet.
  55574. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SubnetIpv6CidrBlockAssociation
  55575. type SubnetIpv6CidrBlockAssociation struct {
  55576. _ struct{} `type:"structure"`
  55577. // The association ID for the CIDR block.
  55578. AssociationId *string `locationName:"associationId" type:"string"`
  55579. // The IPv6 CIDR block.
  55580. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
  55581. // Information about the state of the CIDR block.
  55582. Ipv6CidrBlockState *SubnetCidrBlockState `locationName:"ipv6CidrBlockState" type:"structure"`
  55583. }
  55584. // String returns the string representation
  55585. func (s SubnetIpv6CidrBlockAssociation) String() string {
  55586. return awsutil.Prettify(s)
  55587. }
  55588. // GoString returns the string representation
  55589. func (s SubnetIpv6CidrBlockAssociation) GoString() string {
  55590. return s.String()
  55591. }
  55592. // SetAssociationId sets the AssociationId field's value.
  55593. func (s *SubnetIpv6CidrBlockAssociation) SetAssociationId(v string) *SubnetIpv6CidrBlockAssociation {
  55594. s.AssociationId = &v
  55595. return s
  55596. }
  55597. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  55598. func (s *SubnetIpv6CidrBlockAssociation) SetIpv6CidrBlock(v string) *SubnetIpv6CidrBlockAssociation {
  55599. s.Ipv6CidrBlock = &v
  55600. return s
  55601. }
  55602. // SetIpv6CidrBlockState sets the Ipv6CidrBlockState field's value.
  55603. func (s *SubnetIpv6CidrBlockAssociation) SetIpv6CidrBlockState(v *SubnetCidrBlockState) *SubnetIpv6CidrBlockAssociation {
  55604. s.Ipv6CidrBlockState = v
  55605. return s
  55606. }
  55607. // Describes the T2 instance whose credit option for CPU usage was successfully
  55608. // modified.
  55609. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SuccessfulInstanceCreditSpecificationItem
  55610. type SuccessfulInstanceCreditSpecificationItem struct {
  55611. _ struct{} `type:"structure"`
  55612. // The ID of the instance.
  55613. InstanceId *string `locationName:"instanceId" type:"string"`
  55614. }
  55615. // String returns the string representation
  55616. func (s SuccessfulInstanceCreditSpecificationItem) String() string {
  55617. return awsutil.Prettify(s)
  55618. }
  55619. // GoString returns the string representation
  55620. func (s SuccessfulInstanceCreditSpecificationItem) GoString() string {
  55621. return s.String()
  55622. }
  55623. // SetInstanceId sets the InstanceId field's value.
  55624. func (s *SuccessfulInstanceCreditSpecificationItem) SetInstanceId(v string) *SuccessfulInstanceCreditSpecificationItem {
  55625. s.InstanceId = &v
  55626. return s
  55627. }
  55628. // Describes a tag.
  55629. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Tag
  55630. type Tag struct {
  55631. _ struct{} `type:"structure"`
  55632. // The key of the tag.
  55633. //
  55634. // Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode
  55635. // characters. May not begin with aws:
  55636. Key *string `locationName:"key" type:"string"`
  55637. // The value of the tag.
  55638. //
  55639. // Constraints: Tag values are case-sensitive and accept a maximum of 255 Unicode
  55640. // characters.
  55641. Value *string `locationName:"value" type:"string"`
  55642. }
  55643. // String returns the string representation
  55644. func (s Tag) String() string {
  55645. return awsutil.Prettify(s)
  55646. }
  55647. // GoString returns the string representation
  55648. func (s Tag) GoString() string {
  55649. return s.String()
  55650. }
  55651. // SetKey sets the Key field's value.
  55652. func (s *Tag) SetKey(v string) *Tag {
  55653. s.Key = &v
  55654. return s
  55655. }
  55656. // SetValue sets the Value field's value.
  55657. func (s *Tag) SetValue(v string) *Tag {
  55658. s.Value = &v
  55659. return s
  55660. }
  55661. // Describes a tag.
  55662. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TagDescription
  55663. type TagDescription struct {
  55664. _ struct{} `type:"structure"`
  55665. // The tag key.
  55666. Key *string `locationName:"key" type:"string"`
  55667. // The ID of the resource. For example, ami-1a2b3c4d.
  55668. ResourceId *string `locationName:"resourceId" type:"string"`
  55669. // The resource type.
  55670. ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
  55671. // The tag value.
  55672. Value *string `locationName:"value" type:"string"`
  55673. }
  55674. // String returns the string representation
  55675. func (s TagDescription) String() string {
  55676. return awsutil.Prettify(s)
  55677. }
  55678. // GoString returns the string representation
  55679. func (s TagDescription) GoString() string {
  55680. return s.String()
  55681. }
  55682. // SetKey sets the Key field's value.
  55683. func (s *TagDescription) SetKey(v string) *TagDescription {
  55684. s.Key = &v
  55685. return s
  55686. }
  55687. // SetResourceId sets the ResourceId field's value.
  55688. func (s *TagDescription) SetResourceId(v string) *TagDescription {
  55689. s.ResourceId = &v
  55690. return s
  55691. }
  55692. // SetResourceType sets the ResourceType field's value.
  55693. func (s *TagDescription) SetResourceType(v string) *TagDescription {
  55694. s.ResourceType = &v
  55695. return s
  55696. }
  55697. // SetValue sets the Value field's value.
  55698. func (s *TagDescription) SetValue(v string) *TagDescription {
  55699. s.Value = &v
  55700. return s
  55701. }
  55702. // The tags to apply to a resource when the resource is being created.
  55703. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TagSpecification
  55704. type TagSpecification struct {
  55705. _ struct{} `type:"structure"`
  55706. // The type of resource to tag. Currently, the resource types that support tagging
  55707. // on creation are instance and volume.
  55708. ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
  55709. // The tags to apply to the resource.
  55710. Tags []*Tag `locationName:"Tag" locationNameList:"item" type:"list"`
  55711. }
  55712. // String returns the string representation
  55713. func (s TagSpecification) String() string {
  55714. return awsutil.Prettify(s)
  55715. }
  55716. // GoString returns the string representation
  55717. func (s TagSpecification) GoString() string {
  55718. return s.String()
  55719. }
  55720. // SetResourceType sets the ResourceType field's value.
  55721. func (s *TagSpecification) SetResourceType(v string) *TagSpecification {
  55722. s.ResourceType = &v
  55723. return s
  55724. }
  55725. // SetTags sets the Tags field's value.
  55726. func (s *TagSpecification) SetTags(v []*Tag) *TagSpecification {
  55727. s.Tags = v
  55728. return s
  55729. }
  55730. // Information about the Convertible Reserved Instance offering.
  55731. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TargetConfiguration
  55732. type TargetConfiguration struct {
  55733. _ struct{} `type:"structure"`
  55734. // The number of instances the Convertible Reserved Instance offering can be
  55735. // applied to. This parameter is reserved and cannot be specified in a request
  55736. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  55737. // The ID of the Convertible Reserved Instance offering.
  55738. OfferingId *string `locationName:"offeringId" type:"string"`
  55739. }
  55740. // String returns the string representation
  55741. func (s TargetConfiguration) String() string {
  55742. return awsutil.Prettify(s)
  55743. }
  55744. // GoString returns the string representation
  55745. func (s TargetConfiguration) GoString() string {
  55746. return s.String()
  55747. }
  55748. // SetInstanceCount sets the InstanceCount field's value.
  55749. func (s *TargetConfiguration) SetInstanceCount(v int64) *TargetConfiguration {
  55750. s.InstanceCount = &v
  55751. return s
  55752. }
  55753. // SetOfferingId sets the OfferingId field's value.
  55754. func (s *TargetConfiguration) SetOfferingId(v string) *TargetConfiguration {
  55755. s.OfferingId = &v
  55756. return s
  55757. }
  55758. // Details about the target configuration.
  55759. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TargetConfigurationRequest
  55760. type TargetConfigurationRequest struct {
  55761. _ struct{} `type:"structure"`
  55762. // The number of instances the Covertible Reserved Instance offering can be
  55763. // applied to. This parameter is reserved and cannot be specified in a request
  55764. InstanceCount *int64 `type:"integer"`
  55765. // The Convertible Reserved Instance offering ID.
  55766. //
  55767. // OfferingId is a required field
  55768. OfferingId *string `type:"string" required:"true"`
  55769. }
  55770. // String returns the string representation
  55771. func (s TargetConfigurationRequest) String() string {
  55772. return awsutil.Prettify(s)
  55773. }
  55774. // GoString returns the string representation
  55775. func (s TargetConfigurationRequest) GoString() string {
  55776. return s.String()
  55777. }
  55778. // Validate inspects the fields of the type to determine if they are valid.
  55779. func (s *TargetConfigurationRequest) Validate() error {
  55780. invalidParams := request.ErrInvalidParams{Context: "TargetConfigurationRequest"}
  55781. if s.OfferingId == nil {
  55782. invalidParams.Add(request.NewErrParamRequired("OfferingId"))
  55783. }
  55784. if invalidParams.Len() > 0 {
  55785. return invalidParams
  55786. }
  55787. return nil
  55788. }
  55789. // SetInstanceCount sets the InstanceCount field's value.
  55790. func (s *TargetConfigurationRequest) SetInstanceCount(v int64) *TargetConfigurationRequest {
  55791. s.InstanceCount = &v
  55792. return s
  55793. }
  55794. // SetOfferingId sets the OfferingId field's value.
  55795. func (s *TargetConfigurationRequest) SetOfferingId(v string) *TargetConfigurationRequest {
  55796. s.OfferingId = &v
  55797. return s
  55798. }
  55799. // Describes a load balancer target group.
  55800. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TargetGroup
  55801. type TargetGroup struct {
  55802. _ struct{} `type:"structure"`
  55803. // The Amazon Resource Name (ARN) of the target group.
  55804. //
  55805. // Arn is a required field
  55806. Arn *string `locationName:"arn" type:"string" required:"true"`
  55807. }
  55808. // String returns the string representation
  55809. func (s TargetGroup) String() string {
  55810. return awsutil.Prettify(s)
  55811. }
  55812. // GoString returns the string representation
  55813. func (s TargetGroup) GoString() string {
  55814. return s.String()
  55815. }
  55816. // Validate inspects the fields of the type to determine if they are valid.
  55817. func (s *TargetGroup) Validate() error {
  55818. invalidParams := request.ErrInvalidParams{Context: "TargetGroup"}
  55819. if s.Arn == nil {
  55820. invalidParams.Add(request.NewErrParamRequired("Arn"))
  55821. }
  55822. if invalidParams.Len() > 0 {
  55823. return invalidParams
  55824. }
  55825. return nil
  55826. }
  55827. // SetArn sets the Arn field's value.
  55828. func (s *TargetGroup) SetArn(v string) *TargetGroup {
  55829. s.Arn = &v
  55830. return s
  55831. }
  55832. // Describes the target groups to attach to a Spot Fleet. Spot Fleet registers
  55833. // the running Spot Instances with these target groups.
  55834. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TargetGroupsConfig
  55835. type TargetGroupsConfig struct {
  55836. _ struct{} `type:"structure"`
  55837. // One or more target groups.
  55838. //
  55839. // TargetGroups is a required field
  55840. TargetGroups []*TargetGroup `locationName:"targetGroups" locationNameList:"item" min:"1" type:"list" required:"true"`
  55841. }
  55842. // String returns the string representation
  55843. func (s TargetGroupsConfig) String() string {
  55844. return awsutil.Prettify(s)
  55845. }
  55846. // GoString returns the string representation
  55847. func (s TargetGroupsConfig) GoString() string {
  55848. return s.String()
  55849. }
  55850. // Validate inspects the fields of the type to determine if they are valid.
  55851. func (s *TargetGroupsConfig) Validate() error {
  55852. invalidParams := request.ErrInvalidParams{Context: "TargetGroupsConfig"}
  55853. if s.TargetGroups == nil {
  55854. invalidParams.Add(request.NewErrParamRequired("TargetGroups"))
  55855. }
  55856. if s.TargetGroups != nil && len(s.TargetGroups) < 1 {
  55857. invalidParams.Add(request.NewErrParamMinLen("TargetGroups", 1))
  55858. }
  55859. if s.TargetGroups != nil {
  55860. for i, v := range s.TargetGroups {
  55861. if v == nil {
  55862. continue
  55863. }
  55864. if err := v.Validate(); err != nil {
  55865. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetGroups", i), err.(request.ErrInvalidParams))
  55866. }
  55867. }
  55868. }
  55869. if invalidParams.Len() > 0 {
  55870. return invalidParams
  55871. }
  55872. return nil
  55873. }
  55874. // SetTargetGroups sets the TargetGroups field's value.
  55875. func (s *TargetGroupsConfig) SetTargetGroups(v []*TargetGroup) *TargetGroupsConfig {
  55876. s.TargetGroups = v
  55877. return s
  55878. }
  55879. // The total value of the new Convertible Reserved Instances.
  55880. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TargetReservationValue
  55881. type TargetReservationValue struct {
  55882. _ struct{} `type:"structure"`
  55883. // The total value of the Convertible Reserved Instances that make up the exchange.
  55884. // This is the sum of the list value, remaining upfront price, and additional
  55885. // upfront cost of the exchange.
  55886. ReservationValue *ReservationValue `locationName:"reservationValue" type:"structure"`
  55887. // The configuration of the Convertible Reserved Instances that make up the
  55888. // exchange.
  55889. TargetConfiguration *TargetConfiguration `locationName:"targetConfiguration" type:"structure"`
  55890. }
  55891. // String returns the string representation
  55892. func (s TargetReservationValue) String() string {
  55893. return awsutil.Prettify(s)
  55894. }
  55895. // GoString returns the string representation
  55896. func (s TargetReservationValue) GoString() string {
  55897. return s.String()
  55898. }
  55899. // SetReservationValue sets the ReservationValue field's value.
  55900. func (s *TargetReservationValue) SetReservationValue(v *ReservationValue) *TargetReservationValue {
  55901. s.ReservationValue = v
  55902. return s
  55903. }
  55904. // SetTargetConfiguration sets the TargetConfiguration field's value.
  55905. func (s *TargetReservationValue) SetTargetConfiguration(v *TargetConfiguration) *TargetReservationValue {
  55906. s.TargetConfiguration = v
  55907. return s
  55908. }
  55909. // Contains the parameters for TerminateInstances.
  55910. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateInstancesRequest
  55911. type TerminateInstancesInput struct {
  55912. _ struct{} `type:"structure"`
  55913. // Checks whether you have the required permissions for the action, without
  55914. // actually making the request, and provides an error response. If you have
  55915. // the required permissions, the error response is DryRunOperation. Otherwise,
  55916. // it is UnauthorizedOperation.
  55917. DryRun *bool `locationName:"dryRun" type:"boolean"`
  55918. // One or more instance IDs.
  55919. //
  55920. // Constraints: Up to 1000 instance IDs. We recommend breaking up this request
  55921. // into smaller batches.
  55922. //
  55923. // InstanceIds is a required field
  55924. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  55925. }
  55926. // String returns the string representation
  55927. func (s TerminateInstancesInput) String() string {
  55928. return awsutil.Prettify(s)
  55929. }
  55930. // GoString returns the string representation
  55931. func (s TerminateInstancesInput) GoString() string {
  55932. return s.String()
  55933. }
  55934. // Validate inspects the fields of the type to determine if they are valid.
  55935. func (s *TerminateInstancesInput) Validate() error {
  55936. invalidParams := request.ErrInvalidParams{Context: "TerminateInstancesInput"}
  55937. if s.InstanceIds == nil {
  55938. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  55939. }
  55940. if invalidParams.Len() > 0 {
  55941. return invalidParams
  55942. }
  55943. return nil
  55944. }
  55945. // SetDryRun sets the DryRun field's value.
  55946. func (s *TerminateInstancesInput) SetDryRun(v bool) *TerminateInstancesInput {
  55947. s.DryRun = &v
  55948. return s
  55949. }
  55950. // SetInstanceIds sets the InstanceIds field's value.
  55951. func (s *TerminateInstancesInput) SetInstanceIds(v []*string) *TerminateInstancesInput {
  55952. s.InstanceIds = v
  55953. return s
  55954. }
  55955. // Contains the output of TerminateInstances.
  55956. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateInstancesResult
  55957. type TerminateInstancesOutput struct {
  55958. _ struct{} `type:"structure"`
  55959. // Information about one or more terminated instances.
  55960. TerminatingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
  55961. }
  55962. // String returns the string representation
  55963. func (s TerminateInstancesOutput) String() string {
  55964. return awsutil.Prettify(s)
  55965. }
  55966. // GoString returns the string representation
  55967. func (s TerminateInstancesOutput) GoString() string {
  55968. return s.String()
  55969. }
  55970. // SetTerminatingInstances sets the TerminatingInstances field's value.
  55971. func (s *TerminateInstancesOutput) SetTerminatingInstances(v []*InstanceStateChange) *TerminateInstancesOutput {
  55972. s.TerminatingInstances = v
  55973. return s
  55974. }
  55975. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignIpv6AddressesRequest
  55976. type UnassignIpv6AddressesInput struct {
  55977. _ struct{} `type:"structure"`
  55978. // The IPv6 addresses to unassign from the network interface.
  55979. //
  55980. // Ipv6Addresses is a required field
  55981. Ipv6Addresses []*string `locationName:"ipv6Addresses" locationNameList:"item" type:"list" required:"true"`
  55982. // The ID of the network interface.
  55983. //
  55984. // NetworkInterfaceId is a required field
  55985. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  55986. }
  55987. // String returns the string representation
  55988. func (s UnassignIpv6AddressesInput) String() string {
  55989. return awsutil.Prettify(s)
  55990. }
  55991. // GoString returns the string representation
  55992. func (s UnassignIpv6AddressesInput) GoString() string {
  55993. return s.String()
  55994. }
  55995. // Validate inspects the fields of the type to determine if they are valid.
  55996. func (s *UnassignIpv6AddressesInput) Validate() error {
  55997. invalidParams := request.ErrInvalidParams{Context: "UnassignIpv6AddressesInput"}
  55998. if s.Ipv6Addresses == nil {
  55999. invalidParams.Add(request.NewErrParamRequired("Ipv6Addresses"))
  56000. }
  56001. if s.NetworkInterfaceId == nil {
  56002. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  56003. }
  56004. if invalidParams.Len() > 0 {
  56005. return invalidParams
  56006. }
  56007. return nil
  56008. }
  56009. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  56010. func (s *UnassignIpv6AddressesInput) SetIpv6Addresses(v []*string) *UnassignIpv6AddressesInput {
  56011. s.Ipv6Addresses = v
  56012. return s
  56013. }
  56014. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  56015. func (s *UnassignIpv6AddressesInput) SetNetworkInterfaceId(v string) *UnassignIpv6AddressesInput {
  56016. s.NetworkInterfaceId = &v
  56017. return s
  56018. }
  56019. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignIpv6AddressesResult
  56020. type UnassignIpv6AddressesOutput struct {
  56021. _ struct{} `type:"structure"`
  56022. // The ID of the network interface.
  56023. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  56024. // The IPv6 addresses that have been unassigned from the network interface.
  56025. UnassignedIpv6Addresses []*string `locationName:"unassignedIpv6Addresses" locationNameList:"item" type:"list"`
  56026. }
  56027. // String returns the string representation
  56028. func (s UnassignIpv6AddressesOutput) String() string {
  56029. return awsutil.Prettify(s)
  56030. }
  56031. // GoString returns the string representation
  56032. func (s UnassignIpv6AddressesOutput) GoString() string {
  56033. return s.String()
  56034. }
  56035. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  56036. func (s *UnassignIpv6AddressesOutput) SetNetworkInterfaceId(v string) *UnassignIpv6AddressesOutput {
  56037. s.NetworkInterfaceId = &v
  56038. return s
  56039. }
  56040. // SetUnassignedIpv6Addresses sets the UnassignedIpv6Addresses field's value.
  56041. func (s *UnassignIpv6AddressesOutput) SetUnassignedIpv6Addresses(v []*string) *UnassignIpv6AddressesOutput {
  56042. s.UnassignedIpv6Addresses = v
  56043. return s
  56044. }
  56045. // Contains the parameters for UnassignPrivateIpAddresses.
  56046. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignPrivateIpAddressesRequest
  56047. type UnassignPrivateIpAddressesInput struct {
  56048. _ struct{} `type:"structure"`
  56049. // The ID of the network interface.
  56050. //
  56051. // NetworkInterfaceId is a required field
  56052. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  56053. // The secondary private IP addresses to unassign from the network interface.
  56054. // You can specify this option multiple times to unassign more than one IP address.
  56055. //
  56056. // PrivateIpAddresses is a required field
  56057. PrivateIpAddresses []*string `locationName:"privateIpAddress" locationNameList:"PrivateIpAddress" type:"list" required:"true"`
  56058. }
  56059. // String returns the string representation
  56060. func (s UnassignPrivateIpAddressesInput) String() string {
  56061. return awsutil.Prettify(s)
  56062. }
  56063. // GoString returns the string representation
  56064. func (s UnassignPrivateIpAddressesInput) GoString() string {
  56065. return s.String()
  56066. }
  56067. // Validate inspects the fields of the type to determine if they are valid.
  56068. func (s *UnassignPrivateIpAddressesInput) Validate() error {
  56069. invalidParams := request.ErrInvalidParams{Context: "UnassignPrivateIpAddressesInput"}
  56070. if s.NetworkInterfaceId == nil {
  56071. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  56072. }
  56073. if s.PrivateIpAddresses == nil {
  56074. invalidParams.Add(request.NewErrParamRequired("PrivateIpAddresses"))
  56075. }
  56076. if invalidParams.Len() > 0 {
  56077. return invalidParams
  56078. }
  56079. return nil
  56080. }
  56081. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  56082. func (s *UnassignPrivateIpAddressesInput) SetNetworkInterfaceId(v string) *UnassignPrivateIpAddressesInput {
  56083. s.NetworkInterfaceId = &v
  56084. return s
  56085. }
  56086. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  56087. func (s *UnassignPrivateIpAddressesInput) SetPrivateIpAddresses(v []*string) *UnassignPrivateIpAddressesInput {
  56088. s.PrivateIpAddresses = v
  56089. return s
  56090. }
  56091. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignPrivateIpAddressesOutput
  56092. type UnassignPrivateIpAddressesOutput struct {
  56093. _ struct{} `type:"structure"`
  56094. }
  56095. // String returns the string representation
  56096. func (s UnassignPrivateIpAddressesOutput) String() string {
  56097. return awsutil.Prettify(s)
  56098. }
  56099. // GoString returns the string representation
  56100. func (s UnassignPrivateIpAddressesOutput) GoString() string {
  56101. return s.String()
  56102. }
  56103. // Contains the parameters for UnmonitorInstances.
  56104. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnmonitorInstancesRequest
  56105. type UnmonitorInstancesInput struct {
  56106. _ struct{} `type:"structure"`
  56107. // Checks whether you have the required permissions for the action, without
  56108. // actually making the request, and provides an error response. If you have
  56109. // the required permissions, the error response is DryRunOperation. Otherwise,
  56110. // it is UnauthorizedOperation.
  56111. DryRun *bool `locationName:"dryRun" type:"boolean"`
  56112. // One or more instance IDs.
  56113. //
  56114. // InstanceIds is a required field
  56115. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  56116. }
  56117. // String returns the string representation
  56118. func (s UnmonitorInstancesInput) String() string {
  56119. return awsutil.Prettify(s)
  56120. }
  56121. // GoString returns the string representation
  56122. func (s UnmonitorInstancesInput) GoString() string {
  56123. return s.String()
  56124. }
  56125. // Validate inspects the fields of the type to determine if they are valid.
  56126. func (s *UnmonitorInstancesInput) Validate() error {
  56127. invalidParams := request.ErrInvalidParams{Context: "UnmonitorInstancesInput"}
  56128. if s.InstanceIds == nil {
  56129. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  56130. }
  56131. if invalidParams.Len() > 0 {
  56132. return invalidParams
  56133. }
  56134. return nil
  56135. }
  56136. // SetDryRun sets the DryRun field's value.
  56137. func (s *UnmonitorInstancesInput) SetDryRun(v bool) *UnmonitorInstancesInput {
  56138. s.DryRun = &v
  56139. return s
  56140. }
  56141. // SetInstanceIds sets the InstanceIds field's value.
  56142. func (s *UnmonitorInstancesInput) SetInstanceIds(v []*string) *UnmonitorInstancesInput {
  56143. s.InstanceIds = v
  56144. return s
  56145. }
  56146. // Contains the output of UnmonitorInstances.
  56147. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnmonitorInstancesResult
  56148. type UnmonitorInstancesOutput struct {
  56149. _ struct{} `type:"structure"`
  56150. // The monitoring information.
  56151. InstanceMonitorings []*InstanceMonitoring `locationName:"instancesSet" locationNameList:"item" type:"list"`
  56152. }
  56153. // String returns the string representation
  56154. func (s UnmonitorInstancesOutput) String() string {
  56155. return awsutil.Prettify(s)
  56156. }
  56157. // GoString returns the string representation
  56158. func (s UnmonitorInstancesOutput) GoString() string {
  56159. return s.String()
  56160. }
  56161. // SetInstanceMonitorings sets the InstanceMonitorings field's value.
  56162. func (s *UnmonitorInstancesOutput) SetInstanceMonitorings(v []*InstanceMonitoring) *UnmonitorInstancesOutput {
  56163. s.InstanceMonitorings = v
  56164. return s
  56165. }
  56166. // Describes the T2 instance whose credit option for CPU usage was not modified.
  56167. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnsuccessfulInstanceCreditSpecificationItem
  56168. type UnsuccessfulInstanceCreditSpecificationItem struct {
  56169. _ struct{} `type:"structure"`
  56170. // The applicable error for the T2 instance whose credit option for CPU usage
  56171. // was not modified.
  56172. Error *UnsuccessfulInstanceCreditSpecificationItemError `locationName:"error" type:"structure"`
  56173. // The ID of the instance.
  56174. InstanceId *string `locationName:"instanceId" type:"string"`
  56175. }
  56176. // String returns the string representation
  56177. func (s UnsuccessfulInstanceCreditSpecificationItem) String() string {
  56178. return awsutil.Prettify(s)
  56179. }
  56180. // GoString returns the string representation
  56181. func (s UnsuccessfulInstanceCreditSpecificationItem) GoString() string {
  56182. return s.String()
  56183. }
  56184. // SetError sets the Error field's value.
  56185. func (s *UnsuccessfulInstanceCreditSpecificationItem) SetError(v *UnsuccessfulInstanceCreditSpecificationItemError) *UnsuccessfulInstanceCreditSpecificationItem {
  56186. s.Error = v
  56187. return s
  56188. }
  56189. // SetInstanceId sets the InstanceId field's value.
  56190. func (s *UnsuccessfulInstanceCreditSpecificationItem) SetInstanceId(v string) *UnsuccessfulInstanceCreditSpecificationItem {
  56191. s.InstanceId = &v
  56192. return s
  56193. }
  56194. // Information about the error for the T2 instance whose credit option for CPU
  56195. // usage was not modified.
  56196. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnsuccessfulInstanceCreditSpecificationItemError
  56197. type UnsuccessfulInstanceCreditSpecificationItemError struct {
  56198. _ struct{} `type:"structure"`
  56199. // The error code.
  56200. Code *string `locationName:"code" type:"string" enum:"UnsuccessfulInstanceCreditSpecificationErrorCode"`
  56201. // The applicable error message.
  56202. Message *string `locationName:"message" type:"string"`
  56203. }
  56204. // String returns the string representation
  56205. func (s UnsuccessfulInstanceCreditSpecificationItemError) String() string {
  56206. return awsutil.Prettify(s)
  56207. }
  56208. // GoString returns the string representation
  56209. func (s UnsuccessfulInstanceCreditSpecificationItemError) GoString() string {
  56210. return s.String()
  56211. }
  56212. // SetCode sets the Code field's value.
  56213. func (s *UnsuccessfulInstanceCreditSpecificationItemError) SetCode(v string) *UnsuccessfulInstanceCreditSpecificationItemError {
  56214. s.Code = &v
  56215. return s
  56216. }
  56217. // SetMessage sets the Message field's value.
  56218. func (s *UnsuccessfulInstanceCreditSpecificationItemError) SetMessage(v string) *UnsuccessfulInstanceCreditSpecificationItemError {
  56219. s.Message = &v
  56220. return s
  56221. }
  56222. // Information about items that were not successfully processed in a batch call.
  56223. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnsuccessfulItem
  56224. type UnsuccessfulItem struct {
  56225. _ struct{} `type:"structure"`
  56226. // Information about the error.
  56227. //
  56228. // Error is a required field
  56229. Error *UnsuccessfulItemError `locationName:"error" type:"structure" required:"true"`
  56230. // The ID of the resource.
  56231. ResourceId *string `locationName:"resourceId" type:"string"`
  56232. }
  56233. // String returns the string representation
  56234. func (s UnsuccessfulItem) String() string {
  56235. return awsutil.Prettify(s)
  56236. }
  56237. // GoString returns the string representation
  56238. func (s UnsuccessfulItem) GoString() string {
  56239. return s.String()
  56240. }
  56241. // SetError sets the Error field's value.
  56242. func (s *UnsuccessfulItem) SetError(v *UnsuccessfulItemError) *UnsuccessfulItem {
  56243. s.Error = v
  56244. return s
  56245. }
  56246. // SetResourceId sets the ResourceId field's value.
  56247. func (s *UnsuccessfulItem) SetResourceId(v string) *UnsuccessfulItem {
  56248. s.ResourceId = &v
  56249. return s
  56250. }
  56251. // Information about the error that occurred. For more information about errors,
  56252. // see Error Codes (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html).
  56253. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnsuccessfulItemError
  56254. type UnsuccessfulItemError struct {
  56255. _ struct{} `type:"structure"`
  56256. // The error code.
  56257. //
  56258. // Code is a required field
  56259. Code *string `locationName:"code" type:"string" required:"true"`
  56260. // The error message accompanying the error code.
  56261. //
  56262. // Message is a required field
  56263. Message *string `locationName:"message" type:"string" required:"true"`
  56264. }
  56265. // String returns the string representation
  56266. func (s UnsuccessfulItemError) String() string {
  56267. return awsutil.Prettify(s)
  56268. }
  56269. // GoString returns the string representation
  56270. func (s UnsuccessfulItemError) GoString() string {
  56271. return s.String()
  56272. }
  56273. // SetCode sets the Code field's value.
  56274. func (s *UnsuccessfulItemError) SetCode(v string) *UnsuccessfulItemError {
  56275. s.Code = &v
  56276. return s
  56277. }
  56278. // SetMessage sets the Message field's value.
  56279. func (s *UnsuccessfulItemError) SetMessage(v string) *UnsuccessfulItemError {
  56280. s.Message = &v
  56281. return s
  56282. }
  56283. // Contains the parameters for UpdateSecurityGroupRuleDescriptionsEgress.
  56284. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsEgressRequest
  56285. type UpdateSecurityGroupRuleDescriptionsEgressInput struct {
  56286. _ struct{} `type:"structure"`
  56287. // Checks whether you have the required permissions for the action, without
  56288. // actually making the request, and provides an error response. If you have
  56289. // the required permissions, the error response is DryRunOperation. Otherwise,
  56290. // it is UnauthorizedOperation.
  56291. DryRun *bool `type:"boolean"`
  56292. // The ID of the security group. You must specify either the security group
  56293. // ID or the security group name in the request. For security groups in a nondefault
  56294. // VPC, you must specify the security group ID.
  56295. GroupId *string `type:"string"`
  56296. // [Default VPC] The name of the security group. You must specify either the
  56297. // security group ID or the security group name in the request.
  56298. GroupName *string `type:"string"`
  56299. // The IP permissions for the security group rule.
  56300. //
  56301. // IpPermissions is a required field
  56302. IpPermissions []*IpPermission `locationNameList:"item" type:"list" required:"true"`
  56303. }
  56304. // String returns the string representation
  56305. func (s UpdateSecurityGroupRuleDescriptionsEgressInput) String() string {
  56306. return awsutil.Prettify(s)
  56307. }
  56308. // GoString returns the string representation
  56309. func (s UpdateSecurityGroupRuleDescriptionsEgressInput) GoString() string {
  56310. return s.String()
  56311. }
  56312. // Validate inspects the fields of the type to determine if they are valid.
  56313. func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) Validate() error {
  56314. invalidParams := request.ErrInvalidParams{Context: "UpdateSecurityGroupRuleDescriptionsEgressInput"}
  56315. if s.IpPermissions == nil {
  56316. invalidParams.Add(request.NewErrParamRequired("IpPermissions"))
  56317. }
  56318. if invalidParams.Len() > 0 {
  56319. return invalidParams
  56320. }
  56321. return nil
  56322. }
  56323. // SetDryRun sets the DryRun field's value.
  56324. func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetDryRun(v bool) *UpdateSecurityGroupRuleDescriptionsEgressInput {
  56325. s.DryRun = &v
  56326. return s
  56327. }
  56328. // SetGroupId sets the GroupId field's value.
  56329. func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetGroupId(v string) *UpdateSecurityGroupRuleDescriptionsEgressInput {
  56330. s.GroupId = &v
  56331. return s
  56332. }
  56333. // SetGroupName sets the GroupName field's value.
  56334. func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetGroupName(v string) *UpdateSecurityGroupRuleDescriptionsEgressInput {
  56335. s.GroupName = &v
  56336. return s
  56337. }
  56338. // SetIpPermissions sets the IpPermissions field's value.
  56339. func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetIpPermissions(v []*IpPermission) *UpdateSecurityGroupRuleDescriptionsEgressInput {
  56340. s.IpPermissions = v
  56341. return s
  56342. }
  56343. // Contains the output of UpdateSecurityGroupRuleDescriptionsEgress.
  56344. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsEgressResult
  56345. type UpdateSecurityGroupRuleDescriptionsEgressOutput struct {
  56346. _ struct{} `type:"structure"`
  56347. // Returns true if the request succeeds; otherwise, returns an error.
  56348. Return *bool `locationName:"return" type:"boolean"`
  56349. }
  56350. // String returns the string representation
  56351. func (s UpdateSecurityGroupRuleDescriptionsEgressOutput) String() string {
  56352. return awsutil.Prettify(s)
  56353. }
  56354. // GoString returns the string representation
  56355. func (s UpdateSecurityGroupRuleDescriptionsEgressOutput) GoString() string {
  56356. return s.String()
  56357. }
  56358. // SetReturn sets the Return field's value.
  56359. func (s *UpdateSecurityGroupRuleDescriptionsEgressOutput) SetReturn(v bool) *UpdateSecurityGroupRuleDescriptionsEgressOutput {
  56360. s.Return = &v
  56361. return s
  56362. }
  56363. // Contains the parameters for UpdateSecurityGroupRuleDescriptionsIngress.
  56364. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsIngressRequest
  56365. type UpdateSecurityGroupRuleDescriptionsIngressInput struct {
  56366. _ struct{} `type:"structure"`
  56367. // Checks whether you have the required permissions for the action, without
  56368. // actually making the request, and provides an error response. If you have
  56369. // the required permissions, the error response is DryRunOperation. Otherwise,
  56370. // it is UnauthorizedOperation.
  56371. DryRun *bool `type:"boolean"`
  56372. // The ID of the security group. You must specify either the security group
  56373. // ID or the security group name in the request. For security groups in a nondefault
  56374. // VPC, you must specify the security group ID.
  56375. GroupId *string `type:"string"`
  56376. // [EC2-Classic, default VPC] The name of the security group. You must specify
  56377. // either the security group ID or the security group name in the request.
  56378. GroupName *string `type:"string"`
  56379. // The IP permissions for the security group rule.
  56380. //
  56381. // IpPermissions is a required field
  56382. IpPermissions []*IpPermission `locationNameList:"item" type:"list" required:"true"`
  56383. }
  56384. // String returns the string representation
  56385. func (s UpdateSecurityGroupRuleDescriptionsIngressInput) String() string {
  56386. return awsutil.Prettify(s)
  56387. }
  56388. // GoString returns the string representation
  56389. func (s UpdateSecurityGroupRuleDescriptionsIngressInput) GoString() string {
  56390. return s.String()
  56391. }
  56392. // Validate inspects the fields of the type to determine if they are valid.
  56393. func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) Validate() error {
  56394. invalidParams := request.ErrInvalidParams{Context: "UpdateSecurityGroupRuleDescriptionsIngressInput"}
  56395. if s.IpPermissions == nil {
  56396. invalidParams.Add(request.NewErrParamRequired("IpPermissions"))
  56397. }
  56398. if invalidParams.Len() > 0 {
  56399. return invalidParams
  56400. }
  56401. return nil
  56402. }
  56403. // SetDryRun sets the DryRun field's value.
  56404. func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetDryRun(v bool) *UpdateSecurityGroupRuleDescriptionsIngressInput {
  56405. s.DryRun = &v
  56406. return s
  56407. }
  56408. // SetGroupId sets the GroupId field's value.
  56409. func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetGroupId(v string) *UpdateSecurityGroupRuleDescriptionsIngressInput {
  56410. s.GroupId = &v
  56411. return s
  56412. }
  56413. // SetGroupName sets the GroupName field's value.
  56414. func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetGroupName(v string) *UpdateSecurityGroupRuleDescriptionsIngressInput {
  56415. s.GroupName = &v
  56416. return s
  56417. }
  56418. // SetIpPermissions sets the IpPermissions field's value.
  56419. func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetIpPermissions(v []*IpPermission) *UpdateSecurityGroupRuleDescriptionsIngressInput {
  56420. s.IpPermissions = v
  56421. return s
  56422. }
  56423. // Contains the output of UpdateSecurityGroupRuleDescriptionsIngress.
  56424. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsIngressResult
  56425. type UpdateSecurityGroupRuleDescriptionsIngressOutput struct {
  56426. _ struct{} `type:"structure"`
  56427. // Returns true if the request succeeds; otherwise, returns an error.
  56428. Return *bool `locationName:"return" type:"boolean"`
  56429. }
  56430. // String returns the string representation
  56431. func (s UpdateSecurityGroupRuleDescriptionsIngressOutput) String() string {
  56432. return awsutil.Prettify(s)
  56433. }
  56434. // GoString returns the string representation
  56435. func (s UpdateSecurityGroupRuleDescriptionsIngressOutput) GoString() string {
  56436. return s.String()
  56437. }
  56438. // SetReturn sets the Return field's value.
  56439. func (s *UpdateSecurityGroupRuleDescriptionsIngressOutput) SetReturn(v bool) *UpdateSecurityGroupRuleDescriptionsIngressOutput {
  56440. s.Return = &v
  56441. return s
  56442. }
  56443. // Describes the S3 bucket for the disk image.
  56444. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UserBucket
  56445. type UserBucket struct {
  56446. _ struct{} `type:"structure"`
  56447. // The name of the S3 bucket where the disk image is located.
  56448. S3Bucket *string `type:"string"`
  56449. // The file name of the disk image.
  56450. S3Key *string `type:"string"`
  56451. }
  56452. // String returns the string representation
  56453. func (s UserBucket) String() string {
  56454. return awsutil.Prettify(s)
  56455. }
  56456. // GoString returns the string representation
  56457. func (s UserBucket) GoString() string {
  56458. return s.String()
  56459. }
  56460. // SetS3Bucket sets the S3Bucket field's value.
  56461. func (s *UserBucket) SetS3Bucket(v string) *UserBucket {
  56462. s.S3Bucket = &v
  56463. return s
  56464. }
  56465. // SetS3Key sets the S3Key field's value.
  56466. func (s *UserBucket) SetS3Key(v string) *UserBucket {
  56467. s.S3Key = &v
  56468. return s
  56469. }
  56470. // Describes the S3 bucket for the disk image.
  56471. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UserBucketDetails
  56472. type UserBucketDetails struct {
  56473. _ struct{} `type:"structure"`
  56474. // The S3 bucket from which the disk image was created.
  56475. S3Bucket *string `locationName:"s3Bucket" type:"string"`
  56476. // The file name of the disk image.
  56477. S3Key *string `locationName:"s3Key" type:"string"`
  56478. }
  56479. // String returns the string representation
  56480. func (s UserBucketDetails) String() string {
  56481. return awsutil.Prettify(s)
  56482. }
  56483. // GoString returns the string representation
  56484. func (s UserBucketDetails) GoString() string {
  56485. return s.String()
  56486. }
  56487. // SetS3Bucket sets the S3Bucket field's value.
  56488. func (s *UserBucketDetails) SetS3Bucket(v string) *UserBucketDetails {
  56489. s.S3Bucket = &v
  56490. return s
  56491. }
  56492. // SetS3Key sets the S3Key field's value.
  56493. func (s *UserBucketDetails) SetS3Key(v string) *UserBucketDetails {
  56494. s.S3Key = &v
  56495. return s
  56496. }
  56497. // Describes the user data for an instance.
  56498. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UserData
  56499. type UserData struct {
  56500. _ struct{} `type:"structure"`
  56501. // The user data. If you are using an AWS SDK or command line tool, Base64-encoding
  56502. // is performed for you, and you can load the text from a file. Otherwise, you
  56503. // must provide Base64-encoded text.
  56504. Data *string `locationName:"data" type:"string"`
  56505. }
  56506. // String returns the string representation
  56507. func (s UserData) String() string {
  56508. return awsutil.Prettify(s)
  56509. }
  56510. // GoString returns the string representation
  56511. func (s UserData) GoString() string {
  56512. return s.String()
  56513. }
  56514. // SetData sets the Data field's value.
  56515. func (s *UserData) SetData(v string) *UserData {
  56516. s.Data = &v
  56517. return s
  56518. }
  56519. // Describes a security group and AWS account ID pair.
  56520. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UserIdGroupPair
  56521. type UserIdGroupPair struct {
  56522. _ struct{} `type:"structure"`
  56523. // A description for the security group rule that references this user ID group
  56524. // pair.
  56525. //
  56526. // Constraints: Up to 255 characters in length. Allowed characters are a-z,
  56527. // A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*
  56528. Description *string `locationName:"description" type:"string"`
  56529. // The ID of the security group.
  56530. GroupId *string `locationName:"groupId" type:"string"`
  56531. // The name of the security group. In a request, use this parameter for a security
  56532. // group in EC2-Classic or a default VPC only. For a security group in a nondefault
  56533. // VPC, use the security group ID.
  56534. GroupName *string `locationName:"groupName" type:"string"`
  56535. // The status of a VPC peering connection, if applicable.
  56536. PeeringStatus *string `locationName:"peeringStatus" type:"string"`
  56537. // The ID of an AWS account. For a referenced security group in another VPC,
  56538. // the account ID of the referenced security group is returned.
  56539. //
  56540. // [EC2-Classic] Required when adding or removing rules that reference a security
  56541. // group in another AWS account.
  56542. UserId *string `locationName:"userId" type:"string"`
  56543. // The ID of the VPC for the referenced security group, if applicable.
  56544. VpcId *string `locationName:"vpcId" type:"string"`
  56545. // The ID of the VPC peering connection, if applicable.
  56546. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  56547. }
  56548. // String returns the string representation
  56549. func (s UserIdGroupPair) String() string {
  56550. return awsutil.Prettify(s)
  56551. }
  56552. // GoString returns the string representation
  56553. func (s UserIdGroupPair) GoString() string {
  56554. return s.String()
  56555. }
  56556. // SetDescription sets the Description field's value.
  56557. func (s *UserIdGroupPair) SetDescription(v string) *UserIdGroupPair {
  56558. s.Description = &v
  56559. return s
  56560. }
  56561. // SetGroupId sets the GroupId field's value.
  56562. func (s *UserIdGroupPair) SetGroupId(v string) *UserIdGroupPair {
  56563. s.GroupId = &v
  56564. return s
  56565. }
  56566. // SetGroupName sets the GroupName field's value.
  56567. func (s *UserIdGroupPair) SetGroupName(v string) *UserIdGroupPair {
  56568. s.GroupName = &v
  56569. return s
  56570. }
  56571. // SetPeeringStatus sets the PeeringStatus field's value.
  56572. func (s *UserIdGroupPair) SetPeeringStatus(v string) *UserIdGroupPair {
  56573. s.PeeringStatus = &v
  56574. return s
  56575. }
  56576. // SetUserId sets the UserId field's value.
  56577. func (s *UserIdGroupPair) SetUserId(v string) *UserIdGroupPair {
  56578. s.UserId = &v
  56579. return s
  56580. }
  56581. // SetVpcId sets the VpcId field's value.
  56582. func (s *UserIdGroupPair) SetVpcId(v string) *UserIdGroupPair {
  56583. s.VpcId = &v
  56584. return s
  56585. }
  56586. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  56587. func (s *UserIdGroupPair) SetVpcPeeringConnectionId(v string) *UserIdGroupPair {
  56588. s.VpcPeeringConnectionId = &v
  56589. return s
  56590. }
  56591. // Describes telemetry for a VPN tunnel.
  56592. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VgwTelemetry
  56593. type VgwTelemetry struct {
  56594. _ struct{} `type:"structure"`
  56595. // The number of accepted routes.
  56596. AcceptedRouteCount *int64 `locationName:"acceptedRouteCount" type:"integer"`
  56597. // The date and time of the last change in status.
  56598. LastStatusChange *time.Time `locationName:"lastStatusChange" type:"timestamp" timestampFormat:"iso8601"`
  56599. // The Internet-routable IP address of the virtual private gateway's outside
  56600. // interface.
  56601. OutsideIpAddress *string `locationName:"outsideIpAddress" type:"string"`
  56602. // The status of the VPN tunnel.
  56603. Status *string `locationName:"status" type:"string" enum:"TelemetryStatus"`
  56604. // If an error occurs, a description of the error.
  56605. StatusMessage *string `locationName:"statusMessage" type:"string"`
  56606. }
  56607. // String returns the string representation
  56608. func (s VgwTelemetry) String() string {
  56609. return awsutil.Prettify(s)
  56610. }
  56611. // GoString returns the string representation
  56612. func (s VgwTelemetry) GoString() string {
  56613. return s.String()
  56614. }
  56615. // SetAcceptedRouteCount sets the AcceptedRouteCount field's value.
  56616. func (s *VgwTelemetry) SetAcceptedRouteCount(v int64) *VgwTelemetry {
  56617. s.AcceptedRouteCount = &v
  56618. return s
  56619. }
  56620. // SetLastStatusChange sets the LastStatusChange field's value.
  56621. func (s *VgwTelemetry) SetLastStatusChange(v time.Time) *VgwTelemetry {
  56622. s.LastStatusChange = &v
  56623. return s
  56624. }
  56625. // SetOutsideIpAddress sets the OutsideIpAddress field's value.
  56626. func (s *VgwTelemetry) SetOutsideIpAddress(v string) *VgwTelemetry {
  56627. s.OutsideIpAddress = &v
  56628. return s
  56629. }
  56630. // SetStatus sets the Status field's value.
  56631. func (s *VgwTelemetry) SetStatus(v string) *VgwTelemetry {
  56632. s.Status = &v
  56633. return s
  56634. }
  56635. // SetStatusMessage sets the StatusMessage field's value.
  56636. func (s *VgwTelemetry) SetStatusMessage(v string) *VgwTelemetry {
  56637. s.StatusMessage = &v
  56638. return s
  56639. }
  56640. // Describes a volume.
  56641. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Volume
  56642. type Volume struct {
  56643. _ struct{} `type:"structure"`
  56644. // Information about the volume attachments.
  56645. Attachments []*VolumeAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
  56646. // The Availability Zone for the volume.
  56647. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  56648. // The time stamp when volume creation was initiated.
  56649. CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"`
  56650. // Indicates whether the volume will be encrypted.
  56651. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  56652. // The number of I/O operations per second (IOPS) that the volume supports.
  56653. // For Provisioned IOPS SSD volumes, this represents the number of IOPS that
  56654. // are provisioned for the volume. For General Purpose SSD volumes, this represents
  56655. // the baseline performance of the volume and the rate at which the volume accumulates
  56656. // I/O credits for bursting. For more information on General Purpose SSD baseline
  56657. // performance, I/O credits, and bursting, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
  56658. // in the Amazon Elastic Compute Cloud User Guide.
  56659. //
  56660. // Constraint: Range is 100-20000 IOPS for io1 volumes and 100-10000 IOPS for
  56661. // gp2 volumes.
  56662. //
  56663. // Condition: This parameter is required for requests to create io1 volumes;
  56664. // it is not used in requests to create gp2, st1, sc1, or standard volumes.
  56665. Iops *int64 `locationName:"iops" type:"integer"`
  56666. // The full ARN of the AWS Key Management Service (AWS KMS) customer master
  56667. // key (CMK) that was used to protect the volume encryption key for the volume.
  56668. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  56669. // The size of the volume, in GiBs.
  56670. Size *int64 `locationName:"size" type:"integer"`
  56671. // The snapshot from which the volume was created, if applicable.
  56672. SnapshotId *string `locationName:"snapshotId" type:"string"`
  56673. // The volume state.
  56674. State *string `locationName:"status" type:"string" enum:"VolumeState"`
  56675. // Any tags assigned to the volume.
  56676. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  56677. // The ID of the volume.
  56678. VolumeId *string `locationName:"volumeId" type:"string"`
  56679. // The volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned
  56680. // IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard
  56681. // for Magnetic volumes.
  56682. VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"`
  56683. }
  56684. // String returns the string representation
  56685. func (s Volume) String() string {
  56686. return awsutil.Prettify(s)
  56687. }
  56688. // GoString returns the string representation
  56689. func (s Volume) GoString() string {
  56690. return s.String()
  56691. }
  56692. // SetAttachments sets the Attachments field's value.
  56693. func (s *Volume) SetAttachments(v []*VolumeAttachment) *Volume {
  56694. s.Attachments = v
  56695. return s
  56696. }
  56697. // SetAvailabilityZone sets the AvailabilityZone field's value.
  56698. func (s *Volume) SetAvailabilityZone(v string) *Volume {
  56699. s.AvailabilityZone = &v
  56700. return s
  56701. }
  56702. // SetCreateTime sets the CreateTime field's value.
  56703. func (s *Volume) SetCreateTime(v time.Time) *Volume {
  56704. s.CreateTime = &v
  56705. return s
  56706. }
  56707. // SetEncrypted sets the Encrypted field's value.
  56708. func (s *Volume) SetEncrypted(v bool) *Volume {
  56709. s.Encrypted = &v
  56710. return s
  56711. }
  56712. // SetIops sets the Iops field's value.
  56713. func (s *Volume) SetIops(v int64) *Volume {
  56714. s.Iops = &v
  56715. return s
  56716. }
  56717. // SetKmsKeyId sets the KmsKeyId field's value.
  56718. func (s *Volume) SetKmsKeyId(v string) *Volume {
  56719. s.KmsKeyId = &v
  56720. return s
  56721. }
  56722. // SetSize sets the Size field's value.
  56723. func (s *Volume) SetSize(v int64) *Volume {
  56724. s.Size = &v
  56725. return s
  56726. }
  56727. // SetSnapshotId sets the SnapshotId field's value.
  56728. func (s *Volume) SetSnapshotId(v string) *Volume {
  56729. s.SnapshotId = &v
  56730. return s
  56731. }
  56732. // SetState sets the State field's value.
  56733. func (s *Volume) SetState(v string) *Volume {
  56734. s.State = &v
  56735. return s
  56736. }
  56737. // SetTags sets the Tags field's value.
  56738. func (s *Volume) SetTags(v []*Tag) *Volume {
  56739. s.Tags = v
  56740. return s
  56741. }
  56742. // SetVolumeId sets the VolumeId field's value.
  56743. func (s *Volume) SetVolumeId(v string) *Volume {
  56744. s.VolumeId = &v
  56745. return s
  56746. }
  56747. // SetVolumeType sets the VolumeType field's value.
  56748. func (s *Volume) SetVolumeType(v string) *Volume {
  56749. s.VolumeType = &v
  56750. return s
  56751. }
  56752. // Describes volume attachment details.
  56753. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VolumeAttachment
  56754. type VolumeAttachment struct {
  56755. _ struct{} `type:"structure"`
  56756. // The time stamp when the attachment initiated.
  56757. AttachTime *time.Time `locationName:"attachTime" type:"timestamp" timestampFormat:"iso8601"`
  56758. // Indicates whether the EBS volume is deleted on instance termination.
  56759. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  56760. // The device name.
  56761. Device *string `locationName:"device" type:"string"`
  56762. // The ID of the instance.
  56763. InstanceId *string `locationName:"instanceId" type:"string"`
  56764. // The attachment state of the volume.
  56765. State *string `locationName:"status" type:"string" enum:"VolumeAttachmentState"`
  56766. // The ID of the volume.
  56767. VolumeId *string `locationName:"volumeId" type:"string"`
  56768. }
  56769. // String returns the string representation
  56770. func (s VolumeAttachment) String() string {
  56771. return awsutil.Prettify(s)
  56772. }
  56773. // GoString returns the string representation
  56774. func (s VolumeAttachment) GoString() string {
  56775. return s.String()
  56776. }
  56777. // SetAttachTime sets the AttachTime field's value.
  56778. func (s *VolumeAttachment) SetAttachTime(v time.Time) *VolumeAttachment {
  56779. s.AttachTime = &v
  56780. return s
  56781. }
  56782. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  56783. func (s *VolumeAttachment) SetDeleteOnTermination(v bool) *VolumeAttachment {
  56784. s.DeleteOnTermination = &v
  56785. return s
  56786. }
  56787. // SetDevice sets the Device field's value.
  56788. func (s *VolumeAttachment) SetDevice(v string) *VolumeAttachment {
  56789. s.Device = &v
  56790. return s
  56791. }
  56792. // SetInstanceId sets the InstanceId field's value.
  56793. func (s *VolumeAttachment) SetInstanceId(v string) *VolumeAttachment {
  56794. s.InstanceId = &v
  56795. return s
  56796. }
  56797. // SetState sets the State field's value.
  56798. func (s *VolumeAttachment) SetState(v string) *VolumeAttachment {
  56799. s.State = &v
  56800. return s
  56801. }
  56802. // SetVolumeId sets the VolumeId field's value.
  56803. func (s *VolumeAttachment) SetVolumeId(v string) *VolumeAttachment {
  56804. s.VolumeId = &v
  56805. return s
  56806. }
  56807. // Describes an EBS volume.
  56808. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VolumeDetail
  56809. type VolumeDetail struct {
  56810. _ struct{} `type:"structure"`
  56811. // The size of the volume, in GiB.
  56812. //
  56813. // Size is a required field
  56814. Size *int64 `locationName:"size" type:"long" required:"true"`
  56815. }
  56816. // String returns the string representation
  56817. func (s VolumeDetail) String() string {
  56818. return awsutil.Prettify(s)
  56819. }
  56820. // GoString returns the string representation
  56821. func (s VolumeDetail) GoString() string {
  56822. return s.String()
  56823. }
  56824. // Validate inspects the fields of the type to determine if they are valid.
  56825. func (s *VolumeDetail) Validate() error {
  56826. invalidParams := request.ErrInvalidParams{Context: "VolumeDetail"}
  56827. if s.Size == nil {
  56828. invalidParams.Add(request.NewErrParamRequired("Size"))
  56829. }
  56830. if invalidParams.Len() > 0 {
  56831. return invalidParams
  56832. }
  56833. return nil
  56834. }
  56835. // SetSize sets the Size field's value.
  56836. func (s *VolumeDetail) SetSize(v int64) *VolumeDetail {
  56837. s.Size = &v
  56838. return s
  56839. }
  56840. // Describes the modification status of an EBS volume.
  56841. //
  56842. // If the volume has never been modified, some element values will be null.
  56843. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VolumeModification
  56844. type VolumeModification struct {
  56845. _ struct{} `type:"structure"`
  56846. // Modification completion or failure time.
  56847. EndTime *time.Time `locationName:"endTime" type:"timestamp" timestampFormat:"iso8601"`
  56848. // Current state of modification. Modification state is null for unmodified
  56849. // volumes.
  56850. ModificationState *string `locationName:"modificationState" type:"string" enum:"VolumeModificationState"`
  56851. // Original IOPS rate of the volume being modified.
  56852. OriginalIops *int64 `locationName:"originalIops" type:"integer"`
  56853. // Original size of the volume being modified.
  56854. OriginalSize *int64 `locationName:"originalSize" type:"integer"`
  56855. // Original EBS volume type of the volume being modified.
  56856. OriginalVolumeType *string `locationName:"originalVolumeType" type:"string" enum:"VolumeType"`
  56857. // Modification progress from 0 to 100%.
  56858. Progress *int64 `locationName:"progress" type:"long"`
  56859. // Modification start time
  56860. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
  56861. // Generic status message on modification progress or failure.
  56862. StatusMessage *string `locationName:"statusMessage" type:"string"`
  56863. // Target IOPS rate of the volume being modified.
  56864. TargetIops *int64 `locationName:"targetIops" type:"integer"`
  56865. // Target size of the volume being modified.
  56866. TargetSize *int64 `locationName:"targetSize" type:"integer"`
  56867. // Target EBS volume type of the volume being modified.
  56868. TargetVolumeType *string `locationName:"targetVolumeType" type:"string" enum:"VolumeType"`
  56869. // ID of the volume being modified.
  56870. VolumeId *string `locationName:"volumeId" type:"string"`
  56871. }
  56872. // String returns the string representation
  56873. func (s VolumeModification) String() string {
  56874. return awsutil.Prettify(s)
  56875. }
  56876. // GoString returns the string representation
  56877. func (s VolumeModification) GoString() string {
  56878. return s.String()
  56879. }
  56880. // SetEndTime sets the EndTime field's value.
  56881. func (s *VolumeModification) SetEndTime(v time.Time) *VolumeModification {
  56882. s.EndTime = &v
  56883. return s
  56884. }
  56885. // SetModificationState sets the ModificationState field's value.
  56886. func (s *VolumeModification) SetModificationState(v string) *VolumeModification {
  56887. s.ModificationState = &v
  56888. return s
  56889. }
  56890. // SetOriginalIops sets the OriginalIops field's value.
  56891. func (s *VolumeModification) SetOriginalIops(v int64) *VolumeModification {
  56892. s.OriginalIops = &v
  56893. return s
  56894. }
  56895. // SetOriginalSize sets the OriginalSize field's value.
  56896. func (s *VolumeModification) SetOriginalSize(v int64) *VolumeModification {
  56897. s.OriginalSize = &v
  56898. return s
  56899. }
  56900. // SetOriginalVolumeType sets the OriginalVolumeType field's value.
  56901. func (s *VolumeModification) SetOriginalVolumeType(v string) *VolumeModification {
  56902. s.OriginalVolumeType = &v
  56903. return s
  56904. }
  56905. // SetProgress sets the Progress field's value.
  56906. func (s *VolumeModification) SetProgress(v int64) *VolumeModification {
  56907. s.Progress = &v
  56908. return s
  56909. }
  56910. // SetStartTime sets the StartTime field's value.
  56911. func (s *VolumeModification) SetStartTime(v time.Time) *VolumeModification {
  56912. s.StartTime = &v
  56913. return s
  56914. }
  56915. // SetStatusMessage sets the StatusMessage field's value.
  56916. func (s *VolumeModification) SetStatusMessage(v string) *VolumeModification {
  56917. s.StatusMessage = &v
  56918. return s
  56919. }
  56920. // SetTargetIops sets the TargetIops field's value.
  56921. func (s *VolumeModification) SetTargetIops(v int64) *VolumeModification {
  56922. s.TargetIops = &v
  56923. return s
  56924. }
  56925. // SetTargetSize sets the TargetSize field's value.
  56926. func (s *VolumeModification) SetTargetSize(v int64) *VolumeModification {
  56927. s.TargetSize = &v
  56928. return s
  56929. }
  56930. // SetTargetVolumeType sets the TargetVolumeType field's value.
  56931. func (s *VolumeModification) SetTargetVolumeType(v string) *VolumeModification {
  56932. s.TargetVolumeType = &v
  56933. return s
  56934. }
  56935. // SetVolumeId sets the VolumeId field's value.
  56936. func (s *VolumeModification) SetVolumeId(v string) *VolumeModification {
  56937. s.VolumeId = &v
  56938. return s
  56939. }
  56940. // Describes a volume status operation code.
  56941. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VolumeStatusAction
  56942. type VolumeStatusAction struct {
  56943. _ struct{} `type:"structure"`
  56944. // The code identifying the operation, for example, enable-volume-io.
  56945. Code *string `locationName:"code" type:"string"`
  56946. // A description of the operation.
  56947. Description *string `locationName:"description" type:"string"`
  56948. // The ID of the event associated with this operation.
  56949. EventId *string `locationName:"eventId" type:"string"`
  56950. // The event type associated with this operation.
  56951. EventType *string `locationName:"eventType" type:"string"`
  56952. }
  56953. // String returns the string representation
  56954. func (s VolumeStatusAction) String() string {
  56955. return awsutil.Prettify(s)
  56956. }
  56957. // GoString returns the string representation
  56958. func (s VolumeStatusAction) GoString() string {
  56959. return s.String()
  56960. }
  56961. // SetCode sets the Code field's value.
  56962. func (s *VolumeStatusAction) SetCode(v string) *VolumeStatusAction {
  56963. s.Code = &v
  56964. return s
  56965. }
  56966. // SetDescription sets the Description field's value.
  56967. func (s *VolumeStatusAction) SetDescription(v string) *VolumeStatusAction {
  56968. s.Description = &v
  56969. return s
  56970. }
  56971. // SetEventId sets the EventId field's value.
  56972. func (s *VolumeStatusAction) SetEventId(v string) *VolumeStatusAction {
  56973. s.EventId = &v
  56974. return s
  56975. }
  56976. // SetEventType sets the EventType field's value.
  56977. func (s *VolumeStatusAction) SetEventType(v string) *VolumeStatusAction {
  56978. s.EventType = &v
  56979. return s
  56980. }
  56981. // Describes a volume status.
  56982. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VolumeStatusDetails
  56983. type VolumeStatusDetails struct {
  56984. _ struct{} `type:"structure"`
  56985. // The name of the volume status.
  56986. Name *string `locationName:"name" type:"string" enum:"VolumeStatusName"`
  56987. // The intended status of the volume status.
  56988. Status *string `locationName:"status" type:"string"`
  56989. }
  56990. // String returns the string representation
  56991. func (s VolumeStatusDetails) String() string {
  56992. return awsutil.Prettify(s)
  56993. }
  56994. // GoString returns the string representation
  56995. func (s VolumeStatusDetails) GoString() string {
  56996. return s.String()
  56997. }
  56998. // SetName sets the Name field's value.
  56999. func (s *VolumeStatusDetails) SetName(v string) *VolumeStatusDetails {
  57000. s.Name = &v
  57001. return s
  57002. }
  57003. // SetStatus sets the Status field's value.
  57004. func (s *VolumeStatusDetails) SetStatus(v string) *VolumeStatusDetails {
  57005. s.Status = &v
  57006. return s
  57007. }
  57008. // Describes a volume status event.
  57009. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VolumeStatusEvent
  57010. type VolumeStatusEvent struct {
  57011. _ struct{} `type:"structure"`
  57012. // A description of the event.
  57013. Description *string `locationName:"description" type:"string"`
  57014. // The ID of this event.
  57015. EventId *string `locationName:"eventId" type:"string"`
  57016. // The type of this event.
  57017. EventType *string `locationName:"eventType" type:"string"`
  57018. // The latest end time of the event.
  57019. NotAfter *time.Time `locationName:"notAfter" type:"timestamp" timestampFormat:"iso8601"`
  57020. // The earliest start time of the event.
  57021. NotBefore *time.Time `locationName:"notBefore" type:"timestamp" timestampFormat:"iso8601"`
  57022. }
  57023. // String returns the string representation
  57024. func (s VolumeStatusEvent) String() string {
  57025. return awsutil.Prettify(s)
  57026. }
  57027. // GoString returns the string representation
  57028. func (s VolumeStatusEvent) GoString() string {
  57029. return s.String()
  57030. }
  57031. // SetDescription sets the Description field's value.
  57032. func (s *VolumeStatusEvent) SetDescription(v string) *VolumeStatusEvent {
  57033. s.Description = &v
  57034. return s
  57035. }
  57036. // SetEventId sets the EventId field's value.
  57037. func (s *VolumeStatusEvent) SetEventId(v string) *VolumeStatusEvent {
  57038. s.EventId = &v
  57039. return s
  57040. }
  57041. // SetEventType sets the EventType field's value.
  57042. func (s *VolumeStatusEvent) SetEventType(v string) *VolumeStatusEvent {
  57043. s.EventType = &v
  57044. return s
  57045. }
  57046. // SetNotAfter sets the NotAfter field's value.
  57047. func (s *VolumeStatusEvent) SetNotAfter(v time.Time) *VolumeStatusEvent {
  57048. s.NotAfter = &v
  57049. return s
  57050. }
  57051. // SetNotBefore sets the NotBefore field's value.
  57052. func (s *VolumeStatusEvent) SetNotBefore(v time.Time) *VolumeStatusEvent {
  57053. s.NotBefore = &v
  57054. return s
  57055. }
  57056. // Describes the status of a volume.
  57057. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VolumeStatusInfo
  57058. type VolumeStatusInfo struct {
  57059. _ struct{} `type:"structure"`
  57060. // The details of the volume status.
  57061. Details []*VolumeStatusDetails `locationName:"details" locationNameList:"item" type:"list"`
  57062. // The status of the volume.
  57063. Status *string `locationName:"status" type:"string" enum:"VolumeStatusInfoStatus"`
  57064. }
  57065. // String returns the string representation
  57066. func (s VolumeStatusInfo) String() string {
  57067. return awsutil.Prettify(s)
  57068. }
  57069. // GoString returns the string representation
  57070. func (s VolumeStatusInfo) GoString() string {
  57071. return s.String()
  57072. }
  57073. // SetDetails sets the Details field's value.
  57074. func (s *VolumeStatusInfo) SetDetails(v []*VolumeStatusDetails) *VolumeStatusInfo {
  57075. s.Details = v
  57076. return s
  57077. }
  57078. // SetStatus sets the Status field's value.
  57079. func (s *VolumeStatusInfo) SetStatus(v string) *VolumeStatusInfo {
  57080. s.Status = &v
  57081. return s
  57082. }
  57083. // Describes the volume status.
  57084. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VolumeStatusItem
  57085. type VolumeStatusItem struct {
  57086. _ struct{} `type:"structure"`
  57087. // The details of the operation.
  57088. Actions []*VolumeStatusAction `locationName:"actionsSet" locationNameList:"item" type:"list"`
  57089. // The Availability Zone of the volume.
  57090. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  57091. // A list of events associated with the volume.
  57092. Events []*VolumeStatusEvent `locationName:"eventsSet" locationNameList:"item" type:"list"`
  57093. // The volume ID.
  57094. VolumeId *string `locationName:"volumeId" type:"string"`
  57095. // The volume status.
  57096. VolumeStatus *VolumeStatusInfo `locationName:"volumeStatus" type:"structure"`
  57097. }
  57098. // String returns the string representation
  57099. func (s VolumeStatusItem) String() string {
  57100. return awsutil.Prettify(s)
  57101. }
  57102. // GoString returns the string representation
  57103. func (s VolumeStatusItem) GoString() string {
  57104. return s.String()
  57105. }
  57106. // SetActions sets the Actions field's value.
  57107. func (s *VolumeStatusItem) SetActions(v []*VolumeStatusAction) *VolumeStatusItem {
  57108. s.Actions = v
  57109. return s
  57110. }
  57111. // SetAvailabilityZone sets the AvailabilityZone field's value.
  57112. func (s *VolumeStatusItem) SetAvailabilityZone(v string) *VolumeStatusItem {
  57113. s.AvailabilityZone = &v
  57114. return s
  57115. }
  57116. // SetEvents sets the Events field's value.
  57117. func (s *VolumeStatusItem) SetEvents(v []*VolumeStatusEvent) *VolumeStatusItem {
  57118. s.Events = v
  57119. return s
  57120. }
  57121. // SetVolumeId sets the VolumeId field's value.
  57122. func (s *VolumeStatusItem) SetVolumeId(v string) *VolumeStatusItem {
  57123. s.VolumeId = &v
  57124. return s
  57125. }
  57126. // SetVolumeStatus sets the VolumeStatus field's value.
  57127. func (s *VolumeStatusItem) SetVolumeStatus(v *VolumeStatusInfo) *VolumeStatusItem {
  57128. s.VolumeStatus = v
  57129. return s
  57130. }
  57131. // Describes a VPC.
  57132. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Vpc
  57133. type Vpc struct {
  57134. _ struct{} `type:"structure"`
  57135. // The primary IPv4 CIDR block for the VPC.
  57136. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  57137. // Information about the IPv4 CIDR blocks associated with the VPC.
  57138. CidrBlockAssociationSet []*VpcCidrBlockAssociation `locationName:"cidrBlockAssociationSet" locationNameList:"item" type:"list"`
  57139. // The ID of the set of DHCP options you've associated with the VPC (or default
  57140. // if the default options are associated with the VPC).
  57141. DhcpOptionsId *string `locationName:"dhcpOptionsId" type:"string"`
  57142. // The allowed tenancy of instances launched into the VPC.
  57143. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  57144. // Information about the IPv6 CIDR blocks associated with the VPC.
  57145. Ipv6CidrBlockAssociationSet []*VpcIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociationSet" locationNameList:"item" type:"list"`
  57146. // Indicates whether the VPC is the default VPC.
  57147. IsDefault *bool `locationName:"isDefault" type:"boolean"`
  57148. // The current state of the VPC.
  57149. State *string `locationName:"state" type:"string" enum:"VpcState"`
  57150. // Any tags assigned to the VPC.
  57151. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  57152. // The ID of the VPC.
  57153. VpcId *string `locationName:"vpcId" type:"string"`
  57154. }
  57155. // String returns the string representation
  57156. func (s Vpc) String() string {
  57157. return awsutil.Prettify(s)
  57158. }
  57159. // GoString returns the string representation
  57160. func (s Vpc) GoString() string {
  57161. return s.String()
  57162. }
  57163. // SetCidrBlock sets the CidrBlock field's value.
  57164. func (s *Vpc) SetCidrBlock(v string) *Vpc {
  57165. s.CidrBlock = &v
  57166. return s
  57167. }
  57168. // SetCidrBlockAssociationSet sets the CidrBlockAssociationSet field's value.
  57169. func (s *Vpc) SetCidrBlockAssociationSet(v []*VpcCidrBlockAssociation) *Vpc {
  57170. s.CidrBlockAssociationSet = v
  57171. return s
  57172. }
  57173. // SetDhcpOptionsId sets the DhcpOptionsId field's value.
  57174. func (s *Vpc) SetDhcpOptionsId(v string) *Vpc {
  57175. s.DhcpOptionsId = &v
  57176. return s
  57177. }
  57178. // SetInstanceTenancy sets the InstanceTenancy field's value.
  57179. func (s *Vpc) SetInstanceTenancy(v string) *Vpc {
  57180. s.InstanceTenancy = &v
  57181. return s
  57182. }
  57183. // SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value.
  57184. func (s *Vpc) SetIpv6CidrBlockAssociationSet(v []*VpcIpv6CidrBlockAssociation) *Vpc {
  57185. s.Ipv6CidrBlockAssociationSet = v
  57186. return s
  57187. }
  57188. // SetIsDefault sets the IsDefault field's value.
  57189. func (s *Vpc) SetIsDefault(v bool) *Vpc {
  57190. s.IsDefault = &v
  57191. return s
  57192. }
  57193. // SetState sets the State field's value.
  57194. func (s *Vpc) SetState(v string) *Vpc {
  57195. s.State = &v
  57196. return s
  57197. }
  57198. // SetTags sets the Tags field's value.
  57199. func (s *Vpc) SetTags(v []*Tag) *Vpc {
  57200. s.Tags = v
  57201. return s
  57202. }
  57203. // SetVpcId sets the VpcId field's value.
  57204. func (s *Vpc) SetVpcId(v string) *Vpc {
  57205. s.VpcId = &v
  57206. return s
  57207. }
  57208. // Describes an attachment between a virtual private gateway and a VPC.
  57209. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcAttachment
  57210. type VpcAttachment struct {
  57211. _ struct{} `type:"structure"`
  57212. // The current state of the attachment.
  57213. State *string `locationName:"state" type:"string" enum:"AttachmentStatus"`
  57214. // The ID of the VPC.
  57215. VpcId *string `locationName:"vpcId" type:"string"`
  57216. }
  57217. // String returns the string representation
  57218. func (s VpcAttachment) String() string {
  57219. return awsutil.Prettify(s)
  57220. }
  57221. // GoString returns the string representation
  57222. func (s VpcAttachment) GoString() string {
  57223. return s.String()
  57224. }
  57225. // SetState sets the State field's value.
  57226. func (s *VpcAttachment) SetState(v string) *VpcAttachment {
  57227. s.State = &v
  57228. return s
  57229. }
  57230. // SetVpcId sets the VpcId field's value.
  57231. func (s *VpcAttachment) SetVpcId(v string) *VpcAttachment {
  57232. s.VpcId = &v
  57233. return s
  57234. }
  57235. // Describes an IPv4 CIDR block associated with a VPC.
  57236. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcCidrBlockAssociation
  57237. type VpcCidrBlockAssociation struct {
  57238. _ struct{} `type:"structure"`
  57239. // The association ID for the IPv4 CIDR block.
  57240. AssociationId *string `locationName:"associationId" type:"string"`
  57241. // The IPv4 CIDR block.
  57242. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  57243. // Information about the state of the CIDR block.
  57244. CidrBlockState *VpcCidrBlockState `locationName:"cidrBlockState" type:"structure"`
  57245. }
  57246. // String returns the string representation
  57247. func (s VpcCidrBlockAssociation) String() string {
  57248. return awsutil.Prettify(s)
  57249. }
  57250. // GoString returns the string representation
  57251. func (s VpcCidrBlockAssociation) GoString() string {
  57252. return s.String()
  57253. }
  57254. // SetAssociationId sets the AssociationId field's value.
  57255. func (s *VpcCidrBlockAssociation) SetAssociationId(v string) *VpcCidrBlockAssociation {
  57256. s.AssociationId = &v
  57257. return s
  57258. }
  57259. // SetCidrBlock sets the CidrBlock field's value.
  57260. func (s *VpcCidrBlockAssociation) SetCidrBlock(v string) *VpcCidrBlockAssociation {
  57261. s.CidrBlock = &v
  57262. return s
  57263. }
  57264. // SetCidrBlockState sets the CidrBlockState field's value.
  57265. func (s *VpcCidrBlockAssociation) SetCidrBlockState(v *VpcCidrBlockState) *VpcCidrBlockAssociation {
  57266. s.CidrBlockState = v
  57267. return s
  57268. }
  57269. // Describes the state of a CIDR block.
  57270. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcCidrBlockState
  57271. type VpcCidrBlockState struct {
  57272. _ struct{} `type:"structure"`
  57273. // The state of the CIDR block.
  57274. State *string `locationName:"state" type:"string" enum:"VpcCidrBlockStateCode"`
  57275. // A message about the status of the CIDR block, if applicable.
  57276. StatusMessage *string `locationName:"statusMessage" type:"string"`
  57277. }
  57278. // String returns the string representation
  57279. func (s VpcCidrBlockState) String() string {
  57280. return awsutil.Prettify(s)
  57281. }
  57282. // GoString returns the string representation
  57283. func (s VpcCidrBlockState) GoString() string {
  57284. return s.String()
  57285. }
  57286. // SetState sets the State field's value.
  57287. func (s *VpcCidrBlockState) SetState(v string) *VpcCidrBlockState {
  57288. s.State = &v
  57289. return s
  57290. }
  57291. // SetStatusMessage sets the StatusMessage field's value.
  57292. func (s *VpcCidrBlockState) SetStatusMessage(v string) *VpcCidrBlockState {
  57293. s.StatusMessage = &v
  57294. return s
  57295. }
  57296. // Describes whether a VPC is enabled for ClassicLink.
  57297. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcClassicLink
  57298. type VpcClassicLink struct {
  57299. _ struct{} `type:"structure"`
  57300. // Indicates whether the VPC is enabled for ClassicLink.
  57301. ClassicLinkEnabled *bool `locationName:"classicLinkEnabled" type:"boolean"`
  57302. // Any tags assigned to the VPC.
  57303. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  57304. // The ID of the VPC.
  57305. VpcId *string `locationName:"vpcId" type:"string"`
  57306. }
  57307. // String returns the string representation
  57308. func (s VpcClassicLink) String() string {
  57309. return awsutil.Prettify(s)
  57310. }
  57311. // GoString returns the string representation
  57312. func (s VpcClassicLink) GoString() string {
  57313. return s.String()
  57314. }
  57315. // SetClassicLinkEnabled sets the ClassicLinkEnabled field's value.
  57316. func (s *VpcClassicLink) SetClassicLinkEnabled(v bool) *VpcClassicLink {
  57317. s.ClassicLinkEnabled = &v
  57318. return s
  57319. }
  57320. // SetTags sets the Tags field's value.
  57321. func (s *VpcClassicLink) SetTags(v []*Tag) *VpcClassicLink {
  57322. s.Tags = v
  57323. return s
  57324. }
  57325. // SetVpcId sets the VpcId field's value.
  57326. func (s *VpcClassicLink) SetVpcId(v string) *VpcClassicLink {
  57327. s.VpcId = &v
  57328. return s
  57329. }
  57330. // Describes a VPC endpoint.
  57331. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcEndpoint
  57332. type VpcEndpoint struct {
  57333. _ struct{} `type:"structure"`
  57334. // The date and time the VPC endpoint was created.
  57335. CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp" timestampFormat:"iso8601"`
  57336. // (Interface endpoint) The DNS entries for the endpoint.
  57337. DnsEntries []*DnsEntry `locationName:"dnsEntrySet" locationNameList:"item" type:"list"`
  57338. // (Interface endpoint) Information about the security groups associated with
  57339. // the network interface.
  57340. Groups []*SecurityGroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  57341. // (Interface endpoint) One or more network interfaces for the endpoint.
  57342. NetworkInterfaceIds []*string `locationName:"networkInterfaceIdSet" locationNameList:"item" type:"list"`
  57343. // The policy document associated with the endpoint, if applicable.
  57344. PolicyDocument *string `locationName:"policyDocument" type:"string"`
  57345. // (Interface endpoint) Indicates whether the VPC is associated with a private
  57346. // hosted zone.
  57347. PrivateDnsEnabled *bool `locationName:"privateDnsEnabled" type:"boolean"`
  57348. // (Gateway endpoint) One or more route tables associated with the endpoint.
  57349. RouteTableIds []*string `locationName:"routeTableIdSet" locationNameList:"item" type:"list"`
  57350. // The name of the service to which the endpoint is associated.
  57351. ServiceName *string `locationName:"serviceName" type:"string"`
  57352. // The state of the VPC endpoint.
  57353. State *string `locationName:"state" type:"string" enum:"State"`
  57354. // (Interface endpoint) One or more subnets in which the endpoint is located.
  57355. SubnetIds []*string `locationName:"subnetIdSet" locationNameList:"item" type:"list"`
  57356. // The ID of the VPC endpoint.
  57357. VpcEndpointId *string `locationName:"vpcEndpointId" type:"string"`
  57358. // The type of endpoint.
  57359. VpcEndpointType *string `locationName:"vpcEndpointType" type:"string" enum:"VpcEndpointType"`
  57360. // The ID of the VPC to which the endpoint is associated.
  57361. VpcId *string `locationName:"vpcId" type:"string"`
  57362. }
  57363. // String returns the string representation
  57364. func (s VpcEndpoint) String() string {
  57365. return awsutil.Prettify(s)
  57366. }
  57367. // GoString returns the string representation
  57368. func (s VpcEndpoint) GoString() string {
  57369. return s.String()
  57370. }
  57371. // SetCreationTimestamp sets the CreationTimestamp field's value.
  57372. func (s *VpcEndpoint) SetCreationTimestamp(v time.Time) *VpcEndpoint {
  57373. s.CreationTimestamp = &v
  57374. return s
  57375. }
  57376. // SetDnsEntries sets the DnsEntries field's value.
  57377. func (s *VpcEndpoint) SetDnsEntries(v []*DnsEntry) *VpcEndpoint {
  57378. s.DnsEntries = v
  57379. return s
  57380. }
  57381. // SetGroups sets the Groups field's value.
  57382. func (s *VpcEndpoint) SetGroups(v []*SecurityGroupIdentifier) *VpcEndpoint {
  57383. s.Groups = v
  57384. return s
  57385. }
  57386. // SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
  57387. func (s *VpcEndpoint) SetNetworkInterfaceIds(v []*string) *VpcEndpoint {
  57388. s.NetworkInterfaceIds = v
  57389. return s
  57390. }
  57391. // SetPolicyDocument sets the PolicyDocument field's value.
  57392. func (s *VpcEndpoint) SetPolicyDocument(v string) *VpcEndpoint {
  57393. s.PolicyDocument = &v
  57394. return s
  57395. }
  57396. // SetPrivateDnsEnabled sets the PrivateDnsEnabled field's value.
  57397. func (s *VpcEndpoint) SetPrivateDnsEnabled(v bool) *VpcEndpoint {
  57398. s.PrivateDnsEnabled = &v
  57399. return s
  57400. }
  57401. // SetRouteTableIds sets the RouteTableIds field's value.
  57402. func (s *VpcEndpoint) SetRouteTableIds(v []*string) *VpcEndpoint {
  57403. s.RouteTableIds = v
  57404. return s
  57405. }
  57406. // SetServiceName sets the ServiceName field's value.
  57407. func (s *VpcEndpoint) SetServiceName(v string) *VpcEndpoint {
  57408. s.ServiceName = &v
  57409. return s
  57410. }
  57411. // SetState sets the State field's value.
  57412. func (s *VpcEndpoint) SetState(v string) *VpcEndpoint {
  57413. s.State = &v
  57414. return s
  57415. }
  57416. // SetSubnetIds sets the SubnetIds field's value.
  57417. func (s *VpcEndpoint) SetSubnetIds(v []*string) *VpcEndpoint {
  57418. s.SubnetIds = v
  57419. return s
  57420. }
  57421. // SetVpcEndpointId sets the VpcEndpointId field's value.
  57422. func (s *VpcEndpoint) SetVpcEndpointId(v string) *VpcEndpoint {
  57423. s.VpcEndpointId = &v
  57424. return s
  57425. }
  57426. // SetVpcEndpointType sets the VpcEndpointType field's value.
  57427. func (s *VpcEndpoint) SetVpcEndpointType(v string) *VpcEndpoint {
  57428. s.VpcEndpointType = &v
  57429. return s
  57430. }
  57431. // SetVpcId sets the VpcId field's value.
  57432. func (s *VpcEndpoint) SetVpcId(v string) *VpcEndpoint {
  57433. s.VpcId = &v
  57434. return s
  57435. }
  57436. // Describes a VPC endpoint connection to a service.
  57437. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcEndpointConnection
  57438. type VpcEndpointConnection struct {
  57439. _ struct{} `type:"structure"`
  57440. // The date and time the VPC endpoint was created.
  57441. CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp" timestampFormat:"iso8601"`
  57442. // The ID of the service to which the endpoint is connected.
  57443. ServiceId *string `locationName:"serviceId" type:"string"`
  57444. // The ID of the VPC endpoint.
  57445. VpcEndpointId *string `locationName:"vpcEndpointId" type:"string"`
  57446. // The AWS account ID of the owner of the VPC endpoint.
  57447. VpcEndpointOwner *string `locationName:"vpcEndpointOwner" type:"string"`
  57448. // The state of the VPC endpoint.
  57449. VpcEndpointState *string `locationName:"vpcEndpointState" type:"string" enum:"State"`
  57450. }
  57451. // String returns the string representation
  57452. func (s VpcEndpointConnection) String() string {
  57453. return awsutil.Prettify(s)
  57454. }
  57455. // GoString returns the string representation
  57456. func (s VpcEndpointConnection) GoString() string {
  57457. return s.String()
  57458. }
  57459. // SetCreationTimestamp sets the CreationTimestamp field's value.
  57460. func (s *VpcEndpointConnection) SetCreationTimestamp(v time.Time) *VpcEndpointConnection {
  57461. s.CreationTimestamp = &v
  57462. return s
  57463. }
  57464. // SetServiceId sets the ServiceId field's value.
  57465. func (s *VpcEndpointConnection) SetServiceId(v string) *VpcEndpointConnection {
  57466. s.ServiceId = &v
  57467. return s
  57468. }
  57469. // SetVpcEndpointId sets the VpcEndpointId field's value.
  57470. func (s *VpcEndpointConnection) SetVpcEndpointId(v string) *VpcEndpointConnection {
  57471. s.VpcEndpointId = &v
  57472. return s
  57473. }
  57474. // SetVpcEndpointOwner sets the VpcEndpointOwner field's value.
  57475. func (s *VpcEndpointConnection) SetVpcEndpointOwner(v string) *VpcEndpointConnection {
  57476. s.VpcEndpointOwner = &v
  57477. return s
  57478. }
  57479. // SetVpcEndpointState sets the VpcEndpointState field's value.
  57480. func (s *VpcEndpointConnection) SetVpcEndpointState(v string) *VpcEndpointConnection {
  57481. s.VpcEndpointState = &v
  57482. return s
  57483. }
  57484. // Describes an IPv6 CIDR block associated with a VPC.
  57485. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcIpv6CidrBlockAssociation
  57486. type VpcIpv6CidrBlockAssociation struct {
  57487. _ struct{} `type:"structure"`
  57488. // The association ID for the IPv6 CIDR block.
  57489. AssociationId *string `locationName:"associationId" type:"string"`
  57490. // The IPv6 CIDR block.
  57491. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
  57492. // Information about the state of the CIDR block.
  57493. Ipv6CidrBlockState *VpcCidrBlockState `locationName:"ipv6CidrBlockState" type:"structure"`
  57494. }
  57495. // String returns the string representation
  57496. func (s VpcIpv6CidrBlockAssociation) String() string {
  57497. return awsutil.Prettify(s)
  57498. }
  57499. // GoString returns the string representation
  57500. func (s VpcIpv6CidrBlockAssociation) GoString() string {
  57501. return s.String()
  57502. }
  57503. // SetAssociationId sets the AssociationId field's value.
  57504. func (s *VpcIpv6CidrBlockAssociation) SetAssociationId(v string) *VpcIpv6CidrBlockAssociation {
  57505. s.AssociationId = &v
  57506. return s
  57507. }
  57508. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  57509. func (s *VpcIpv6CidrBlockAssociation) SetIpv6CidrBlock(v string) *VpcIpv6CidrBlockAssociation {
  57510. s.Ipv6CidrBlock = &v
  57511. return s
  57512. }
  57513. // SetIpv6CidrBlockState sets the Ipv6CidrBlockState field's value.
  57514. func (s *VpcIpv6CidrBlockAssociation) SetIpv6CidrBlockState(v *VpcCidrBlockState) *VpcIpv6CidrBlockAssociation {
  57515. s.Ipv6CidrBlockState = v
  57516. return s
  57517. }
  57518. // Describes a VPC peering connection.
  57519. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcPeeringConnection
  57520. type VpcPeeringConnection struct {
  57521. _ struct{} `type:"structure"`
  57522. // Information about the accepter VPC. CIDR block information is only returned
  57523. // when describing an active VPC peering connection.
  57524. AccepterVpcInfo *VpcPeeringConnectionVpcInfo `locationName:"accepterVpcInfo" type:"structure"`
  57525. // The time that an unaccepted VPC peering connection will expire.
  57526. ExpirationTime *time.Time `locationName:"expirationTime" type:"timestamp" timestampFormat:"iso8601"`
  57527. // Information about the requester VPC. CIDR block information is only returned
  57528. // when describing an active VPC peering connection.
  57529. RequesterVpcInfo *VpcPeeringConnectionVpcInfo `locationName:"requesterVpcInfo" type:"structure"`
  57530. // The status of the VPC peering connection.
  57531. Status *VpcPeeringConnectionStateReason `locationName:"status" type:"structure"`
  57532. // Any tags assigned to the resource.
  57533. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  57534. // The ID of the VPC peering connection.
  57535. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  57536. }
  57537. // String returns the string representation
  57538. func (s VpcPeeringConnection) String() string {
  57539. return awsutil.Prettify(s)
  57540. }
  57541. // GoString returns the string representation
  57542. func (s VpcPeeringConnection) GoString() string {
  57543. return s.String()
  57544. }
  57545. // SetAccepterVpcInfo sets the AccepterVpcInfo field's value.
  57546. func (s *VpcPeeringConnection) SetAccepterVpcInfo(v *VpcPeeringConnectionVpcInfo) *VpcPeeringConnection {
  57547. s.AccepterVpcInfo = v
  57548. return s
  57549. }
  57550. // SetExpirationTime sets the ExpirationTime field's value.
  57551. func (s *VpcPeeringConnection) SetExpirationTime(v time.Time) *VpcPeeringConnection {
  57552. s.ExpirationTime = &v
  57553. return s
  57554. }
  57555. // SetRequesterVpcInfo sets the RequesterVpcInfo field's value.
  57556. func (s *VpcPeeringConnection) SetRequesterVpcInfo(v *VpcPeeringConnectionVpcInfo) *VpcPeeringConnection {
  57557. s.RequesterVpcInfo = v
  57558. return s
  57559. }
  57560. // SetStatus sets the Status field's value.
  57561. func (s *VpcPeeringConnection) SetStatus(v *VpcPeeringConnectionStateReason) *VpcPeeringConnection {
  57562. s.Status = v
  57563. return s
  57564. }
  57565. // SetTags sets the Tags field's value.
  57566. func (s *VpcPeeringConnection) SetTags(v []*Tag) *VpcPeeringConnection {
  57567. s.Tags = v
  57568. return s
  57569. }
  57570. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  57571. func (s *VpcPeeringConnection) SetVpcPeeringConnectionId(v string) *VpcPeeringConnection {
  57572. s.VpcPeeringConnectionId = &v
  57573. return s
  57574. }
  57575. // Describes the VPC peering connection options.
  57576. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcPeeringConnectionOptionsDescription
  57577. type VpcPeeringConnectionOptionsDescription struct {
  57578. _ struct{} `type:"structure"`
  57579. // Indicates whether a local VPC can resolve public DNS hostnames to private
  57580. // IP addresses when queried from instances in a peer VPC.
  57581. AllowDnsResolutionFromRemoteVpc *bool `locationName:"allowDnsResolutionFromRemoteVpc" type:"boolean"`
  57582. // Indicates whether a local ClassicLink connection can communicate with the
  57583. // peer VPC over the VPC peering connection.
  57584. AllowEgressFromLocalClassicLinkToRemoteVpc *bool `locationName:"allowEgressFromLocalClassicLinkToRemoteVpc" type:"boolean"`
  57585. // Indicates whether a local VPC can communicate with a ClassicLink connection
  57586. // in the peer VPC over the VPC peering connection.
  57587. AllowEgressFromLocalVpcToRemoteClassicLink *bool `locationName:"allowEgressFromLocalVpcToRemoteClassicLink" type:"boolean"`
  57588. }
  57589. // String returns the string representation
  57590. func (s VpcPeeringConnectionOptionsDescription) String() string {
  57591. return awsutil.Prettify(s)
  57592. }
  57593. // GoString returns the string representation
  57594. func (s VpcPeeringConnectionOptionsDescription) GoString() string {
  57595. return s.String()
  57596. }
  57597. // SetAllowDnsResolutionFromRemoteVpc sets the AllowDnsResolutionFromRemoteVpc field's value.
  57598. func (s *VpcPeeringConnectionOptionsDescription) SetAllowDnsResolutionFromRemoteVpc(v bool) *VpcPeeringConnectionOptionsDescription {
  57599. s.AllowDnsResolutionFromRemoteVpc = &v
  57600. return s
  57601. }
  57602. // SetAllowEgressFromLocalClassicLinkToRemoteVpc sets the AllowEgressFromLocalClassicLinkToRemoteVpc field's value.
  57603. func (s *VpcPeeringConnectionOptionsDescription) SetAllowEgressFromLocalClassicLinkToRemoteVpc(v bool) *VpcPeeringConnectionOptionsDescription {
  57604. s.AllowEgressFromLocalClassicLinkToRemoteVpc = &v
  57605. return s
  57606. }
  57607. // SetAllowEgressFromLocalVpcToRemoteClassicLink sets the AllowEgressFromLocalVpcToRemoteClassicLink field's value.
  57608. func (s *VpcPeeringConnectionOptionsDescription) SetAllowEgressFromLocalVpcToRemoteClassicLink(v bool) *VpcPeeringConnectionOptionsDescription {
  57609. s.AllowEgressFromLocalVpcToRemoteClassicLink = &v
  57610. return s
  57611. }
  57612. // Describes the status of a VPC peering connection.
  57613. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcPeeringConnectionStateReason
  57614. type VpcPeeringConnectionStateReason struct {
  57615. _ struct{} `type:"structure"`
  57616. // The status of the VPC peering connection.
  57617. Code *string `locationName:"code" type:"string" enum:"VpcPeeringConnectionStateReasonCode"`
  57618. // A message that provides more information about the status, if applicable.
  57619. Message *string `locationName:"message" type:"string"`
  57620. }
  57621. // String returns the string representation
  57622. func (s VpcPeeringConnectionStateReason) String() string {
  57623. return awsutil.Prettify(s)
  57624. }
  57625. // GoString returns the string representation
  57626. func (s VpcPeeringConnectionStateReason) GoString() string {
  57627. return s.String()
  57628. }
  57629. // SetCode sets the Code field's value.
  57630. func (s *VpcPeeringConnectionStateReason) SetCode(v string) *VpcPeeringConnectionStateReason {
  57631. s.Code = &v
  57632. return s
  57633. }
  57634. // SetMessage sets the Message field's value.
  57635. func (s *VpcPeeringConnectionStateReason) SetMessage(v string) *VpcPeeringConnectionStateReason {
  57636. s.Message = &v
  57637. return s
  57638. }
  57639. // Describes a VPC in a VPC peering connection.
  57640. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcPeeringConnectionVpcInfo
  57641. type VpcPeeringConnectionVpcInfo struct {
  57642. _ struct{} `type:"structure"`
  57643. // The IPv4 CIDR block for the VPC.
  57644. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  57645. // Information about the IPv4 CIDR blocks for the VPC.
  57646. CidrBlockSet []*CidrBlock `locationName:"cidrBlockSet" locationNameList:"item" type:"list"`
  57647. // The IPv6 CIDR block for the VPC.
  57648. Ipv6CidrBlockSet []*Ipv6CidrBlock `locationName:"ipv6CidrBlockSet" locationNameList:"item" type:"list"`
  57649. // The AWS account ID of the VPC owner.
  57650. OwnerId *string `locationName:"ownerId" type:"string"`
  57651. // Information about the VPC peering connection options for the accepter or
  57652. // requester VPC.
  57653. PeeringOptions *VpcPeeringConnectionOptionsDescription `locationName:"peeringOptions" type:"structure"`
  57654. // The region in which the VPC is located.
  57655. Region *string `locationName:"region" type:"string"`
  57656. // The ID of the VPC.
  57657. VpcId *string `locationName:"vpcId" type:"string"`
  57658. }
  57659. // String returns the string representation
  57660. func (s VpcPeeringConnectionVpcInfo) String() string {
  57661. return awsutil.Prettify(s)
  57662. }
  57663. // GoString returns the string representation
  57664. func (s VpcPeeringConnectionVpcInfo) GoString() string {
  57665. return s.String()
  57666. }
  57667. // SetCidrBlock sets the CidrBlock field's value.
  57668. func (s *VpcPeeringConnectionVpcInfo) SetCidrBlock(v string) *VpcPeeringConnectionVpcInfo {
  57669. s.CidrBlock = &v
  57670. return s
  57671. }
  57672. // SetCidrBlockSet sets the CidrBlockSet field's value.
  57673. func (s *VpcPeeringConnectionVpcInfo) SetCidrBlockSet(v []*CidrBlock) *VpcPeeringConnectionVpcInfo {
  57674. s.CidrBlockSet = v
  57675. return s
  57676. }
  57677. // SetIpv6CidrBlockSet sets the Ipv6CidrBlockSet field's value.
  57678. func (s *VpcPeeringConnectionVpcInfo) SetIpv6CidrBlockSet(v []*Ipv6CidrBlock) *VpcPeeringConnectionVpcInfo {
  57679. s.Ipv6CidrBlockSet = v
  57680. return s
  57681. }
  57682. // SetOwnerId sets the OwnerId field's value.
  57683. func (s *VpcPeeringConnectionVpcInfo) SetOwnerId(v string) *VpcPeeringConnectionVpcInfo {
  57684. s.OwnerId = &v
  57685. return s
  57686. }
  57687. // SetPeeringOptions sets the PeeringOptions field's value.
  57688. func (s *VpcPeeringConnectionVpcInfo) SetPeeringOptions(v *VpcPeeringConnectionOptionsDescription) *VpcPeeringConnectionVpcInfo {
  57689. s.PeeringOptions = v
  57690. return s
  57691. }
  57692. // SetRegion sets the Region field's value.
  57693. func (s *VpcPeeringConnectionVpcInfo) SetRegion(v string) *VpcPeeringConnectionVpcInfo {
  57694. s.Region = &v
  57695. return s
  57696. }
  57697. // SetVpcId sets the VpcId field's value.
  57698. func (s *VpcPeeringConnectionVpcInfo) SetVpcId(v string) *VpcPeeringConnectionVpcInfo {
  57699. s.VpcId = &v
  57700. return s
  57701. }
  57702. // Describes a VPN connection.
  57703. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpnConnection
  57704. type VpnConnection struct {
  57705. _ struct{} `type:"structure"`
  57706. // The category of the VPN connection. A value of VPN indicates an AWS VPN connection.
  57707. // A value of VPN-Classic indicates an AWS Classic VPN connection. For more
  57708. // information, see AWS Managed VPN Categories (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html#vpn-categories)
  57709. // in the Amazon Virtual Private Cloud User Guide.
  57710. Category *string `locationName:"category" type:"string"`
  57711. // The configuration information for the VPN connection's customer gateway (in
  57712. // the native XML format). This element is always present in the CreateVpnConnection
  57713. // response; however, it's present in the DescribeVpnConnections response only
  57714. // if the VPN connection is in the pending or available state.
  57715. CustomerGatewayConfiguration *string `locationName:"customerGatewayConfiguration" type:"string"`
  57716. // The ID of the customer gateway at your end of the VPN connection.
  57717. CustomerGatewayId *string `locationName:"customerGatewayId" type:"string"`
  57718. // The VPN connection options.
  57719. Options *VpnConnectionOptions `locationName:"options" type:"structure"`
  57720. // The static routes associated with the VPN connection.
  57721. Routes []*VpnStaticRoute `locationName:"routes" locationNameList:"item" type:"list"`
  57722. // The current state of the VPN connection.
  57723. State *string `locationName:"state" type:"string" enum:"VpnState"`
  57724. // Any tags assigned to the VPN connection.
  57725. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  57726. // The type of VPN connection.
  57727. Type *string `locationName:"type" type:"string" enum:"GatewayType"`
  57728. // Information about the VPN tunnel.
  57729. VgwTelemetry []*VgwTelemetry `locationName:"vgwTelemetry" locationNameList:"item" type:"list"`
  57730. // The ID of the VPN connection.
  57731. VpnConnectionId *string `locationName:"vpnConnectionId" type:"string"`
  57732. // The ID of the virtual private gateway at the AWS side of the VPN connection.
  57733. VpnGatewayId *string `locationName:"vpnGatewayId" type:"string"`
  57734. }
  57735. // String returns the string representation
  57736. func (s VpnConnection) String() string {
  57737. return awsutil.Prettify(s)
  57738. }
  57739. // GoString returns the string representation
  57740. func (s VpnConnection) GoString() string {
  57741. return s.String()
  57742. }
  57743. // SetCategory sets the Category field's value.
  57744. func (s *VpnConnection) SetCategory(v string) *VpnConnection {
  57745. s.Category = &v
  57746. return s
  57747. }
  57748. // SetCustomerGatewayConfiguration sets the CustomerGatewayConfiguration field's value.
  57749. func (s *VpnConnection) SetCustomerGatewayConfiguration(v string) *VpnConnection {
  57750. s.CustomerGatewayConfiguration = &v
  57751. return s
  57752. }
  57753. // SetCustomerGatewayId sets the CustomerGatewayId field's value.
  57754. func (s *VpnConnection) SetCustomerGatewayId(v string) *VpnConnection {
  57755. s.CustomerGatewayId = &v
  57756. return s
  57757. }
  57758. // SetOptions sets the Options field's value.
  57759. func (s *VpnConnection) SetOptions(v *VpnConnectionOptions) *VpnConnection {
  57760. s.Options = v
  57761. return s
  57762. }
  57763. // SetRoutes sets the Routes field's value.
  57764. func (s *VpnConnection) SetRoutes(v []*VpnStaticRoute) *VpnConnection {
  57765. s.Routes = v
  57766. return s
  57767. }
  57768. // SetState sets the State field's value.
  57769. func (s *VpnConnection) SetState(v string) *VpnConnection {
  57770. s.State = &v
  57771. return s
  57772. }
  57773. // SetTags sets the Tags field's value.
  57774. func (s *VpnConnection) SetTags(v []*Tag) *VpnConnection {
  57775. s.Tags = v
  57776. return s
  57777. }
  57778. // SetType sets the Type field's value.
  57779. func (s *VpnConnection) SetType(v string) *VpnConnection {
  57780. s.Type = &v
  57781. return s
  57782. }
  57783. // SetVgwTelemetry sets the VgwTelemetry field's value.
  57784. func (s *VpnConnection) SetVgwTelemetry(v []*VgwTelemetry) *VpnConnection {
  57785. s.VgwTelemetry = v
  57786. return s
  57787. }
  57788. // SetVpnConnectionId sets the VpnConnectionId field's value.
  57789. func (s *VpnConnection) SetVpnConnectionId(v string) *VpnConnection {
  57790. s.VpnConnectionId = &v
  57791. return s
  57792. }
  57793. // SetVpnGatewayId sets the VpnGatewayId field's value.
  57794. func (s *VpnConnection) SetVpnGatewayId(v string) *VpnConnection {
  57795. s.VpnGatewayId = &v
  57796. return s
  57797. }
  57798. // Describes VPN connection options.
  57799. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpnConnectionOptions
  57800. type VpnConnectionOptions struct {
  57801. _ struct{} `type:"structure"`
  57802. // Indicates whether the VPN connection uses static routes only. Static routes
  57803. // must be used for devices that don't support BGP.
  57804. StaticRoutesOnly *bool `locationName:"staticRoutesOnly" type:"boolean"`
  57805. }
  57806. // String returns the string representation
  57807. func (s VpnConnectionOptions) String() string {
  57808. return awsutil.Prettify(s)
  57809. }
  57810. // GoString returns the string representation
  57811. func (s VpnConnectionOptions) GoString() string {
  57812. return s.String()
  57813. }
  57814. // SetStaticRoutesOnly sets the StaticRoutesOnly field's value.
  57815. func (s *VpnConnectionOptions) SetStaticRoutesOnly(v bool) *VpnConnectionOptions {
  57816. s.StaticRoutesOnly = &v
  57817. return s
  57818. }
  57819. // Describes VPN connection options.
  57820. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpnConnectionOptionsSpecification
  57821. type VpnConnectionOptionsSpecification struct {
  57822. _ struct{} `type:"structure"`
  57823. // Indicate whether the VPN connection uses static routes only. If you are creating
  57824. // a VPN connection for a device that does not support BGP, you must specify
  57825. // true.
  57826. //
  57827. // Default: false
  57828. StaticRoutesOnly *bool `locationName:"staticRoutesOnly" type:"boolean"`
  57829. // The tunnel options for the VPN connection.
  57830. TunnelOptions []*VpnTunnelOptionsSpecification `locationNameList:"item" type:"list"`
  57831. }
  57832. // String returns the string representation
  57833. func (s VpnConnectionOptionsSpecification) String() string {
  57834. return awsutil.Prettify(s)
  57835. }
  57836. // GoString returns the string representation
  57837. func (s VpnConnectionOptionsSpecification) GoString() string {
  57838. return s.String()
  57839. }
  57840. // SetStaticRoutesOnly sets the StaticRoutesOnly field's value.
  57841. func (s *VpnConnectionOptionsSpecification) SetStaticRoutesOnly(v bool) *VpnConnectionOptionsSpecification {
  57842. s.StaticRoutesOnly = &v
  57843. return s
  57844. }
  57845. // SetTunnelOptions sets the TunnelOptions field's value.
  57846. func (s *VpnConnectionOptionsSpecification) SetTunnelOptions(v []*VpnTunnelOptionsSpecification) *VpnConnectionOptionsSpecification {
  57847. s.TunnelOptions = v
  57848. return s
  57849. }
  57850. // Describes a virtual private gateway.
  57851. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpnGateway
  57852. type VpnGateway struct {
  57853. _ struct{} `type:"structure"`
  57854. // The private Autonomous System Number (ASN) for the Amazon side of a BGP session.
  57855. AmazonSideAsn *int64 `locationName:"amazonSideAsn" type:"long"`
  57856. // The Availability Zone where the virtual private gateway was created, if applicable.
  57857. // This field may be empty or not returned.
  57858. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  57859. // The current state of the virtual private gateway.
  57860. State *string `locationName:"state" type:"string" enum:"VpnState"`
  57861. // Any tags assigned to the virtual private gateway.
  57862. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  57863. // The type of VPN connection the virtual private gateway supports.
  57864. Type *string `locationName:"type" type:"string" enum:"GatewayType"`
  57865. // Any VPCs attached to the virtual private gateway.
  57866. VpcAttachments []*VpcAttachment `locationName:"attachments" locationNameList:"item" type:"list"`
  57867. // The ID of the virtual private gateway.
  57868. VpnGatewayId *string `locationName:"vpnGatewayId" type:"string"`
  57869. }
  57870. // String returns the string representation
  57871. func (s VpnGateway) String() string {
  57872. return awsutil.Prettify(s)
  57873. }
  57874. // GoString returns the string representation
  57875. func (s VpnGateway) GoString() string {
  57876. return s.String()
  57877. }
  57878. // SetAmazonSideAsn sets the AmazonSideAsn field's value.
  57879. func (s *VpnGateway) SetAmazonSideAsn(v int64) *VpnGateway {
  57880. s.AmazonSideAsn = &v
  57881. return s
  57882. }
  57883. // SetAvailabilityZone sets the AvailabilityZone field's value.
  57884. func (s *VpnGateway) SetAvailabilityZone(v string) *VpnGateway {
  57885. s.AvailabilityZone = &v
  57886. return s
  57887. }
  57888. // SetState sets the State field's value.
  57889. func (s *VpnGateway) SetState(v string) *VpnGateway {
  57890. s.State = &v
  57891. return s
  57892. }
  57893. // SetTags sets the Tags field's value.
  57894. func (s *VpnGateway) SetTags(v []*Tag) *VpnGateway {
  57895. s.Tags = v
  57896. return s
  57897. }
  57898. // SetType sets the Type field's value.
  57899. func (s *VpnGateway) SetType(v string) *VpnGateway {
  57900. s.Type = &v
  57901. return s
  57902. }
  57903. // SetVpcAttachments sets the VpcAttachments field's value.
  57904. func (s *VpnGateway) SetVpcAttachments(v []*VpcAttachment) *VpnGateway {
  57905. s.VpcAttachments = v
  57906. return s
  57907. }
  57908. // SetVpnGatewayId sets the VpnGatewayId field's value.
  57909. func (s *VpnGateway) SetVpnGatewayId(v string) *VpnGateway {
  57910. s.VpnGatewayId = &v
  57911. return s
  57912. }
  57913. // Describes a static route for a VPN connection.
  57914. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpnStaticRoute
  57915. type VpnStaticRoute struct {
  57916. _ struct{} `type:"structure"`
  57917. // The CIDR block associated with the local subnet of the customer data center.
  57918. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  57919. // Indicates how the routes were provided.
  57920. Source *string `locationName:"source" type:"string" enum:"VpnStaticRouteSource"`
  57921. // The current state of the static route.
  57922. State *string `locationName:"state" type:"string" enum:"VpnState"`
  57923. }
  57924. // String returns the string representation
  57925. func (s VpnStaticRoute) String() string {
  57926. return awsutil.Prettify(s)
  57927. }
  57928. // GoString returns the string representation
  57929. func (s VpnStaticRoute) GoString() string {
  57930. return s.String()
  57931. }
  57932. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  57933. func (s *VpnStaticRoute) SetDestinationCidrBlock(v string) *VpnStaticRoute {
  57934. s.DestinationCidrBlock = &v
  57935. return s
  57936. }
  57937. // SetSource sets the Source field's value.
  57938. func (s *VpnStaticRoute) SetSource(v string) *VpnStaticRoute {
  57939. s.Source = &v
  57940. return s
  57941. }
  57942. // SetState sets the State field's value.
  57943. func (s *VpnStaticRoute) SetState(v string) *VpnStaticRoute {
  57944. s.State = &v
  57945. return s
  57946. }
  57947. // The tunnel options for a VPN connection.
  57948. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpnTunnelOptionsSpecification
  57949. type VpnTunnelOptionsSpecification struct {
  57950. _ struct{} `type:"structure"`
  57951. // The pre-shared key (PSK) to establish initial authentication between the
  57952. // virtual private gateway and customer gateway.
  57953. //
  57954. // Constraints: Allowed characters are alphanumeric characters and ._. Must
  57955. // be between 8 and 64 characters in length and cannot start with zero (0).
  57956. PreSharedKey *string `type:"string"`
  57957. // The range of inside IP addresses for the tunnel. Any specified CIDR blocks
  57958. // must be unique across all VPN connections that use the same virtual private
  57959. // gateway.
  57960. //
  57961. // Constraints: A size /30 CIDR block from the 169.254.0.0/16 range. The following
  57962. // CIDR blocks are reserved and cannot be used:
  57963. //
  57964. // * 169.254.0.0/30
  57965. //
  57966. // * 169.254.1.0/30
  57967. //
  57968. // * 169.254.2.0/30
  57969. //
  57970. // * 169.254.3.0/30
  57971. //
  57972. // * 169.254.4.0/30
  57973. //
  57974. // * 169.254.5.0/30
  57975. //
  57976. // * 169.254.169.252/30
  57977. TunnelInsideCidr *string `type:"string"`
  57978. }
  57979. // String returns the string representation
  57980. func (s VpnTunnelOptionsSpecification) String() string {
  57981. return awsutil.Prettify(s)
  57982. }
  57983. // GoString returns the string representation
  57984. func (s VpnTunnelOptionsSpecification) GoString() string {
  57985. return s.String()
  57986. }
  57987. // SetPreSharedKey sets the PreSharedKey field's value.
  57988. func (s *VpnTunnelOptionsSpecification) SetPreSharedKey(v string) *VpnTunnelOptionsSpecification {
  57989. s.PreSharedKey = &v
  57990. return s
  57991. }
  57992. // SetTunnelInsideCidr sets the TunnelInsideCidr field's value.
  57993. func (s *VpnTunnelOptionsSpecification) SetTunnelInsideCidr(v string) *VpnTunnelOptionsSpecification {
  57994. s.TunnelInsideCidr = &v
  57995. return s
  57996. }
  57997. const (
  57998. // AccountAttributeNameSupportedPlatforms is a AccountAttributeName enum value
  57999. AccountAttributeNameSupportedPlatforms = "supported-platforms"
  58000. // AccountAttributeNameDefaultVpc is a AccountAttributeName enum value
  58001. AccountAttributeNameDefaultVpc = "default-vpc"
  58002. )
  58003. const (
  58004. // ActivityStatusError is a ActivityStatus enum value
  58005. ActivityStatusError = "error"
  58006. // ActivityStatusPendingFulfillment is a ActivityStatus enum value
  58007. ActivityStatusPendingFulfillment = "pending_fulfillment"
  58008. // ActivityStatusPendingTermination is a ActivityStatus enum value
  58009. ActivityStatusPendingTermination = "pending_termination"
  58010. // ActivityStatusFulfilled is a ActivityStatus enum value
  58011. ActivityStatusFulfilled = "fulfilled"
  58012. )
  58013. const (
  58014. // AffinityDefault is a Affinity enum value
  58015. AffinityDefault = "default"
  58016. // AffinityHost is a Affinity enum value
  58017. AffinityHost = "host"
  58018. )
  58019. const (
  58020. // AllocationStateAvailable is a AllocationState enum value
  58021. AllocationStateAvailable = "available"
  58022. // AllocationStateUnderAssessment is a AllocationState enum value
  58023. AllocationStateUnderAssessment = "under-assessment"
  58024. // AllocationStatePermanentFailure is a AllocationState enum value
  58025. AllocationStatePermanentFailure = "permanent-failure"
  58026. // AllocationStateReleased is a AllocationState enum value
  58027. AllocationStateReleased = "released"
  58028. // AllocationStateReleasedPermanentFailure is a AllocationState enum value
  58029. AllocationStateReleasedPermanentFailure = "released-permanent-failure"
  58030. )
  58031. const (
  58032. // AllocationStrategyLowestPrice is a AllocationStrategy enum value
  58033. AllocationStrategyLowestPrice = "lowestPrice"
  58034. // AllocationStrategyDiversified is a AllocationStrategy enum value
  58035. AllocationStrategyDiversified = "diversified"
  58036. )
  58037. const (
  58038. // ArchitectureValuesI386 is a ArchitectureValues enum value
  58039. ArchitectureValuesI386 = "i386"
  58040. // ArchitectureValuesX8664 is a ArchitectureValues enum value
  58041. ArchitectureValuesX8664 = "x86_64"
  58042. )
  58043. const (
  58044. // AttachmentStatusAttaching is a AttachmentStatus enum value
  58045. AttachmentStatusAttaching = "attaching"
  58046. // AttachmentStatusAttached is a AttachmentStatus enum value
  58047. AttachmentStatusAttached = "attached"
  58048. // AttachmentStatusDetaching is a AttachmentStatus enum value
  58049. AttachmentStatusDetaching = "detaching"
  58050. // AttachmentStatusDetached is a AttachmentStatus enum value
  58051. AttachmentStatusDetached = "detached"
  58052. )
  58053. const (
  58054. // AutoPlacementOn is a AutoPlacement enum value
  58055. AutoPlacementOn = "on"
  58056. // AutoPlacementOff is a AutoPlacement enum value
  58057. AutoPlacementOff = "off"
  58058. )
  58059. const (
  58060. // AvailabilityZoneStateAvailable is a AvailabilityZoneState enum value
  58061. AvailabilityZoneStateAvailable = "available"
  58062. // AvailabilityZoneStateInformation is a AvailabilityZoneState enum value
  58063. AvailabilityZoneStateInformation = "information"
  58064. // AvailabilityZoneStateImpaired is a AvailabilityZoneState enum value
  58065. AvailabilityZoneStateImpaired = "impaired"
  58066. // AvailabilityZoneStateUnavailable is a AvailabilityZoneState enum value
  58067. AvailabilityZoneStateUnavailable = "unavailable"
  58068. )
  58069. const (
  58070. // BatchStateSubmitted is a BatchState enum value
  58071. BatchStateSubmitted = "submitted"
  58072. // BatchStateActive is a BatchState enum value
  58073. BatchStateActive = "active"
  58074. // BatchStateCancelled is a BatchState enum value
  58075. BatchStateCancelled = "cancelled"
  58076. // BatchStateFailed is a BatchState enum value
  58077. BatchStateFailed = "failed"
  58078. // BatchStateCancelledRunning is a BatchState enum value
  58079. BatchStateCancelledRunning = "cancelled_running"
  58080. // BatchStateCancelledTerminating is a BatchState enum value
  58081. BatchStateCancelledTerminating = "cancelled_terminating"
  58082. // BatchStateModifying is a BatchState enum value
  58083. BatchStateModifying = "modifying"
  58084. )
  58085. const (
  58086. // BundleTaskStatePending is a BundleTaskState enum value
  58087. BundleTaskStatePending = "pending"
  58088. // BundleTaskStateWaitingForShutdown is a BundleTaskState enum value
  58089. BundleTaskStateWaitingForShutdown = "waiting-for-shutdown"
  58090. // BundleTaskStateBundling is a BundleTaskState enum value
  58091. BundleTaskStateBundling = "bundling"
  58092. // BundleTaskStateStoring is a BundleTaskState enum value
  58093. BundleTaskStateStoring = "storing"
  58094. // BundleTaskStateCancelling is a BundleTaskState enum value
  58095. BundleTaskStateCancelling = "cancelling"
  58096. // BundleTaskStateComplete is a BundleTaskState enum value
  58097. BundleTaskStateComplete = "complete"
  58098. // BundleTaskStateFailed is a BundleTaskState enum value
  58099. BundleTaskStateFailed = "failed"
  58100. )
  58101. const (
  58102. // CancelBatchErrorCodeFleetRequestIdDoesNotExist is a CancelBatchErrorCode enum value
  58103. CancelBatchErrorCodeFleetRequestIdDoesNotExist = "fleetRequestIdDoesNotExist"
  58104. // CancelBatchErrorCodeFleetRequestIdMalformed is a CancelBatchErrorCode enum value
  58105. CancelBatchErrorCodeFleetRequestIdMalformed = "fleetRequestIdMalformed"
  58106. // CancelBatchErrorCodeFleetRequestNotInCancellableState is a CancelBatchErrorCode enum value
  58107. CancelBatchErrorCodeFleetRequestNotInCancellableState = "fleetRequestNotInCancellableState"
  58108. // CancelBatchErrorCodeUnexpectedError is a CancelBatchErrorCode enum value
  58109. CancelBatchErrorCodeUnexpectedError = "unexpectedError"
  58110. )
  58111. const (
  58112. // CancelSpotInstanceRequestStateActive is a CancelSpotInstanceRequestState enum value
  58113. CancelSpotInstanceRequestStateActive = "active"
  58114. // CancelSpotInstanceRequestStateOpen is a CancelSpotInstanceRequestState enum value
  58115. CancelSpotInstanceRequestStateOpen = "open"
  58116. // CancelSpotInstanceRequestStateClosed is a CancelSpotInstanceRequestState enum value
  58117. CancelSpotInstanceRequestStateClosed = "closed"
  58118. // CancelSpotInstanceRequestStateCancelled is a CancelSpotInstanceRequestState enum value
  58119. CancelSpotInstanceRequestStateCancelled = "cancelled"
  58120. // CancelSpotInstanceRequestStateCompleted is a CancelSpotInstanceRequestState enum value
  58121. CancelSpotInstanceRequestStateCompleted = "completed"
  58122. )
  58123. const (
  58124. // ConnectionNotificationStateEnabled is a ConnectionNotificationState enum value
  58125. ConnectionNotificationStateEnabled = "Enabled"
  58126. // ConnectionNotificationStateDisabled is a ConnectionNotificationState enum value
  58127. ConnectionNotificationStateDisabled = "Disabled"
  58128. )
  58129. const (
  58130. // ConnectionNotificationTypeTopic is a ConnectionNotificationType enum value
  58131. ConnectionNotificationTypeTopic = "Topic"
  58132. )
  58133. const (
  58134. // ContainerFormatOva is a ContainerFormat enum value
  58135. ContainerFormatOva = "ova"
  58136. )
  58137. const (
  58138. // ConversionTaskStateActive is a ConversionTaskState enum value
  58139. ConversionTaskStateActive = "active"
  58140. // ConversionTaskStateCancelling is a ConversionTaskState enum value
  58141. ConversionTaskStateCancelling = "cancelling"
  58142. // ConversionTaskStateCancelled is a ConversionTaskState enum value
  58143. ConversionTaskStateCancelled = "cancelled"
  58144. // ConversionTaskStateCompleted is a ConversionTaskState enum value
  58145. ConversionTaskStateCompleted = "completed"
  58146. )
  58147. const (
  58148. // CurrencyCodeValuesUsd is a CurrencyCodeValues enum value
  58149. CurrencyCodeValuesUsd = "USD"
  58150. )
  58151. const (
  58152. // DatafeedSubscriptionStateActive is a DatafeedSubscriptionState enum value
  58153. DatafeedSubscriptionStateActive = "Active"
  58154. // DatafeedSubscriptionStateInactive is a DatafeedSubscriptionState enum value
  58155. DatafeedSubscriptionStateInactive = "Inactive"
  58156. )
  58157. const (
  58158. // DeviceTypeEbs is a DeviceType enum value
  58159. DeviceTypeEbs = "ebs"
  58160. // DeviceTypeInstanceStore is a DeviceType enum value
  58161. DeviceTypeInstanceStore = "instance-store"
  58162. )
  58163. const (
  58164. // DiskImageFormatVmdk is a DiskImageFormat enum value
  58165. DiskImageFormatVmdk = "VMDK"
  58166. // DiskImageFormatRaw is a DiskImageFormat enum value
  58167. DiskImageFormatRaw = "RAW"
  58168. // DiskImageFormatVhd is a DiskImageFormat enum value
  58169. DiskImageFormatVhd = "VHD"
  58170. )
  58171. const (
  58172. // DomainTypeVpc is a DomainType enum value
  58173. DomainTypeVpc = "vpc"
  58174. // DomainTypeStandard is a DomainType enum value
  58175. DomainTypeStandard = "standard"
  58176. )
  58177. const (
  58178. // ElasticGpuStateAttached is a ElasticGpuState enum value
  58179. ElasticGpuStateAttached = "ATTACHED"
  58180. )
  58181. const (
  58182. // ElasticGpuStatusOk is a ElasticGpuStatus enum value
  58183. ElasticGpuStatusOk = "OK"
  58184. // ElasticGpuStatusImpaired is a ElasticGpuStatus enum value
  58185. ElasticGpuStatusImpaired = "IMPAIRED"
  58186. )
  58187. const (
  58188. // EventCodeInstanceReboot is a EventCode enum value
  58189. EventCodeInstanceReboot = "instance-reboot"
  58190. // EventCodeSystemReboot is a EventCode enum value
  58191. EventCodeSystemReboot = "system-reboot"
  58192. // EventCodeSystemMaintenance is a EventCode enum value
  58193. EventCodeSystemMaintenance = "system-maintenance"
  58194. // EventCodeInstanceRetirement is a EventCode enum value
  58195. EventCodeInstanceRetirement = "instance-retirement"
  58196. // EventCodeInstanceStop is a EventCode enum value
  58197. EventCodeInstanceStop = "instance-stop"
  58198. )
  58199. const (
  58200. // EventTypeInstanceChange is a EventType enum value
  58201. EventTypeInstanceChange = "instanceChange"
  58202. // EventTypeFleetRequestChange is a EventType enum value
  58203. EventTypeFleetRequestChange = "fleetRequestChange"
  58204. // EventTypeError is a EventType enum value
  58205. EventTypeError = "error"
  58206. )
  58207. const (
  58208. // ExcessCapacityTerminationPolicyNoTermination is a ExcessCapacityTerminationPolicy enum value
  58209. ExcessCapacityTerminationPolicyNoTermination = "noTermination"
  58210. // ExcessCapacityTerminationPolicyDefault is a ExcessCapacityTerminationPolicy enum value
  58211. ExcessCapacityTerminationPolicyDefault = "default"
  58212. )
  58213. const (
  58214. // ExportEnvironmentCitrix is a ExportEnvironment enum value
  58215. ExportEnvironmentCitrix = "citrix"
  58216. // ExportEnvironmentVmware is a ExportEnvironment enum value
  58217. ExportEnvironmentVmware = "vmware"
  58218. // ExportEnvironmentMicrosoft is a ExportEnvironment enum value
  58219. ExportEnvironmentMicrosoft = "microsoft"
  58220. )
  58221. const (
  58222. // ExportTaskStateActive is a ExportTaskState enum value
  58223. ExportTaskStateActive = "active"
  58224. // ExportTaskStateCancelling is a ExportTaskState enum value
  58225. ExportTaskStateCancelling = "cancelling"
  58226. // ExportTaskStateCancelled is a ExportTaskState enum value
  58227. ExportTaskStateCancelled = "cancelled"
  58228. // ExportTaskStateCompleted is a ExportTaskState enum value
  58229. ExportTaskStateCompleted = "completed"
  58230. )
  58231. const (
  58232. // FleetTypeRequest is a FleetType enum value
  58233. FleetTypeRequest = "request"
  58234. // FleetTypeMaintain is a FleetType enum value
  58235. FleetTypeMaintain = "maintain"
  58236. )
  58237. const (
  58238. // FlowLogsResourceTypeVpc is a FlowLogsResourceType enum value
  58239. FlowLogsResourceTypeVpc = "VPC"
  58240. // FlowLogsResourceTypeSubnet is a FlowLogsResourceType enum value
  58241. FlowLogsResourceTypeSubnet = "Subnet"
  58242. // FlowLogsResourceTypeNetworkInterface is a FlowLogsResourceType enum value
  58243. FlowLogsResourceTypeNetworkInterface = "NetworkInterface"
  58244. )
  58245. const (
  58246. // FpgaImageAttributeNameDescription is a FpgaImageAttributeName enum value
  58247. FpgaImageAttributeNameDescription = "description"
  58248. // FpgaImageAttributeNameName is a FpgaImageAttributeName enum value
  58249. FpgaImageAttributeNameName = "name"
  58250. // FpgaImageAttributeNameLoadPermission is a FpgaImageAttributeName enum value
  58251. FpgaImageAttributeNameLoadPermission = "loadPermission"
  58252. // FpgaImageAttributeNameProductCodes is a FpgaImageAttributeName enum value
  58253. FpgaImageAttributeNameProductCodes = "productCodes"
  58254. )
  58255. const (
  58256. // FpgaImageStateCodePending is a FpgaImageStateCode enum value
  58257. FpgaImageStateCodePending = "pending"
  58258. // FpgaImageStateCodeFailed is a FpgaImageStateCode enum value
  58259. FpgaImageStateCodeFailed = "failed"
  58260. // FpgaImageStateCodeAvailable is a FpgaImageStateCode enum value
  58261. FpgaImageStateCodeAvailable = "available"
  58262. // FpgaImageStateCodeUnavailable is a FpgaImageStateCode enum value
  58263. FpgaImageStateCodeUnavailable = "unavailable"
  58264. )
  58265. const (
  58266. // GatewayTypeIpsec1 is a GatewayType enum value
  58267. GatewayTypeIpsec1 = "ipsec.1"
  58268. )
  58269. const (
  58270. // HostTenancyDedicated is a HostTenancy enum value
  58271. HostTenancyDedicated = "dedicated"
  58272. // HostTenancyHost is a HostTenancy enum value
  58273. HostTenancyHost = "host"
  58274. )
  58275. const (
  58276. // HypervisorTypeOvm is a HypervisorType enum value
  58277. HypervisorTypeOvm = "ovm"
  58278. // HypervisorTypeXen is a HypervisorType enum value
  58279. HypervisorTypeXen = "xen"
  58280. )
  58281. const (
  58282. // IamInstanceProfileAssociationStateAssociating is a IamInstanceProfileAssociationState enum value
  58283. IamInstanceProfileAssociationStateAssociating = "associating"
  58284. // IamInstanceProfileAssociationStateAssociated is a IamInstanceProfileAssociationState enum value
  58285. IamInstanceProfileAssociationStateAssociated = "associated"
  58286. // IamInstanceProfileAssociationStateDisassociating is a IamInstanceProfileAssociationState enum value
  58287. IamInstanceProfileAssociationStateDisassociating = "disassociating"
  58288. // IamInstanceProfileAssociationStateDisassociated is a IamInstanceProfileAssociationState enum value
  58289. IamInstanceProfileAssociationStateDisassociated = "disassociated"
  58290. )
  58291. const (
  58292. // ImageAttributeNameDescription is a ImageAttributeName enum value
  58293. ImageAttributeNameDescription = "description"
  58294. // ImageAttributeNameKernel is a ImageAttributeName enum value
  58295. ImageAttributeNameKernel = "kernel"
  58296. // ImageAttributeNameRamdisk is a ImageAttributeName enum value
  58297. ImageAttributeNameRamdisk = "ramdisk"
  58298. // ImageAttributeNameLaunchPermission is a ImageAttributeName enum value
  58299. ImageAttributeNameLaunchPermission = "launchPermission"
  58300. // ImageAttributeNameProductCodes is a ImageAttributeName enum value
  58301. ImageAttributeNameProductCodes = "productCodes"
  58302. // ImageAttributeNameBlockDeviceMapping is a ImageAttributeName enum value
  58303. ImageAttributeNameBlockDeviceMapping = "blockDeviceMapping"
  58304. // ImageAttributeNameSriovNetSupport is a ImageAttributeName enum value
  58305. ImageAttributeNameSriovNetSupport = "sriovNetSupport"
  58306. )
  58307. const (
  58308. // ImageStatePending is a ImageState enum value
  58309. ImageStatePending = "pending"
  58310. // ImageStateAvailable is a ImageState enum value
  58311. ImageStateAvailable = "available"
  58312. // ImageStateInvalid is a ImageState enum value
  58313. ImageStateInvalid = "invalid"
  58314. // ImageStateDeregistered is a ImageState enum value
  58315. ImageStateDeregistered = "deregistered"
  58316. // ImageStateTransient is a ImageState enum value
  58317. ImageStateTransient = "transient"
  58318. // ImageStateFailed is a ImageState enum value
  58319. ImageStateFailed = "failed"
  58320. // ImageStateError is a ImageState enum value
  58321. ImageStateError = "error"
  58322. )
  58323. const (
  58324. // ImageTypeValuesMachine is a ImageTypeValues enum value
  58325. ImageTypeValuesMachine = "machine"
  58326. // ImageTypeValuesKernel is a ImageTypeValues enum value
  58327. ImageTypeValuesKernel = "kernel"
  58328. // ImageTypeValuesRamdisk is a ImageTypeValues enum value
  58329. ImageTypeValuesRamdisk = "ramdisk"
  58330. )
  58331. const (
  58332. // InstanceAttributeNameInstanceType is a InstanceAttributeName enum value
  58333. InstanceAttributeNameInstanceType = "instanceType"
  58334. // InstanceAttributeNameKernel is a InstanceAttributeName enum value
  58335. InstanceAttributeNameKernel = "kernel"
  58336. // InstanceAttributeNameRamdisk is a InstanceAttributeName enum value
  58337. InstanceAttributeNameRamdisk = "ramdisk"
  58338. // InstanceAttributeNameUserData is a InstanceAttributeName enum value
  58339. InstanceAttributeNameUserData = "userData"
  58340. // InstanceAttributeNameDisableApiTermination is a InstanceAttributeName enum value
  58341. InstanceAttributeNameDisableApiTermination = "disableApiTermination"
  58342. // InstanceAttributeNameInstanceInitiatedShutdownBehavior is a InstanceAttributeName enum value
  58343. InstanceAttributeNameInstanceInitiatedShutdownBehavior = "instanceInitiatedShutdownBehavior"
  58344. // InstanceAttributeNameRootDeviceName is a InstanceAttributeName enum value
  58345. InstanceAttributeNameRootDeviceName = "rootDeviceName"
  58346. // InstanceAttributeNameBlockDeviceMapping is a InstanceAttributeName enum value
  58347. InstanceAttributeNameBlockDeviceMapping = "blockDeviceMapping"
  58348. // InstanceAttributeNameProductCodes is a InstanceAttributeName enum value
  58349. InstanceAttributeNameProductCodes = "productCodes"
  58350. // InstanceAttributeNameSourceDestCheck is a InstanceAttributeName enum value
  58351. InstanceAttributeNameSourceDestCheck = "sourceDestCheck"
  58352. // InstanceAttributeNameGroupSet is a InstanceAttributeName enum value
  58353. InstanceAttributeNameGroupSet = "groupSet"
  58354. // InstanceAttributeNameEbsOptimized is a InstanceAttributeName enum value
  58355. InstanceAttributeNameEbsOptimized = "ebsOptimized"
  58356. // InstanceAttributeNameSriovNetSupport is a InstanceAttributeName enum value
  58357. InstanceAttributeNameSriovNetSupport = "sriovNetSupport"
  58358. // InstanceAttributeNameEnaSupport is a InstanceAttributeName enum value
  58359. InstanceAttributeNameEnaSupport = "enaSupport"
  58360. )
  58361. const (
  58362. // InstanceHealthStatusHealthy is a InstanceHealthStatus enum value
  58363. InstanceHealthStatusHealthy = "healthy"
  58364. // InstanceHealthStatusUnhealthy is a InstanceHealthStatus enum value
  58365. InstanceHealthStatusUnhealthy = "unhealthy"
  58366. )
  58367. const (
  58368. // InstanceInterruptionBehaviorHibernate is a InstanceInterruptionBehavior enum value
  58369. InstanceInterruptionBehaviorHibernate = "hibernate"
  58370. // InstanceInterruptionBehaviorStop is a InstanceInterruptionBehavior enum value
  58371. InstanceInterruptionBehaviorStop = "stop"
  58372. // InstanceInterruptionBehaviorTerminate is a InstanceInterruptionBehavior enum value
  58373. InstanceInterruptionBehaviorTerminate = "terminate"
  58374. )
  58375. const (
  58376. // InstanceLifecycleTypeSpot is a InstanceLifecycleType enum value
  58377. InstanceLifecycleTypeSpot = "spot"
  58378. // InstanceLifecycleTypeScheduled is a InstanceLifecycleType enum value
  58379. InstanceLifecycleTypeScheduled = "scheduled"
  58380. )
  58381. const (
  58382. // InstanceStateNamePending is a InstanceStateName enum value
  58383. InstanceStateNamePending = "pending"
  58384. // InstanceStateNameRunning is a InstanceStateName enum value
  58385. InstanceStateNameRunning = "running"
  58386. // InstanceStateNameShuttingDown is a InstanceStateName enum value
  58387. InstanceStateNameShuttingDown = "shutting-down"
  58388. // InstanceStateNameTerminated is a InstanceStateName enum value
  58389. InstanceStateNameTerminated = "terminated"
  58390. // InstanceStateNameStopping is a InstanceStateName enum value
  58391. InstanceStateNameStopping = "stopping"
  58392. // InstanceStateNameStopped is a InstanceStateName enum value
  58393. InstanceStateNameStopped = "stopped"
  58394. )
  58395. const (
  58396. // InstanceTypeT1Micro is a InstanceType enum value
  58397. InstanceTypeT1Micro = "t1.micro"
  58398. // InstanceTypeT2Nano is a InstanceType enum value
  58399. InstanceTypeT2Nano = "t2.nano"
  58400. // InstanceTypeT2Micro is a InstanceType enum value
  58401. InstanceTypeT2Micro = "t2.micro"
  58402. // InstanceTypeT2Small is a InstanceType enum value
  58403. InstanceTypeT2Small = "t2.small"
  58404. // InstanceTypeT2Medium is a InstanceType enum value
  58405. InstanceTypeT2Medium = "t2.medium"
  58406. // InstanceTypeT2Large is a InstanceType enum value
  58407. InstanceTypeT2Large = "t2.large"
  58408. // InstanceTypeT2Xlarge is a InstanceType enum value
  58409. InstanceTypeT2Xlarge = "t2.xlarge"
  58410. // InstanceTypeT22xlarge is a InstanceType enum value
  58411. InstanceTypeT22xlarge = "t2.2xlarge"
  58412. // InstanceTypeM1Small is a InstanceType enum value
  58413. InstanceTypeM1Small = "m1.small"
  58414. // InstanceTypeM1Medium is a InstanceType enum value
  58415. InstanceTypeM1Medium = "m1.medium"
  58416. // InstanceTypeM1Large is a InstanceType enum value
  58417. InstanceTypeM1Large = "m1.large"
  58418. // InstanceTypeM1Xlarge is a InstanceType enum value
  58419. InstanceTypeM1Xlarge = "m1.xlarge"
  58420. // InstanceTypeM3Medium is a InstanceType enum value
  58421. InstanceTypeM3Medium = "m3.medium"
  58422. // InstanceTypeM3Large is a InstanceType enum value
  58423. InstanceTypeM3Large = "m3.large"
  58424. // InstanceTypeM3Xlarge is a InstanceType enum value
  58425. InstanceTypeM3Xlarge = "m3.xlarge"
  58426. // InstanceTypeM32xlarge is a InstanceType enum value
  58427. InstanceTypeM32xlarge = "m3.2xlarge"
  58428. // InstanceTypeM4Large is a InstanceType enum value
  58429. InstanceTypeM4Large = "m4.large"
  58430. // InstanceTypeM4Xlarge is a InstanceType enum value
  58431. InstanceTypeM4Xlarge = "m4.xlarge"
  58432. // InstanceTypeM42xlarge is a InstanceType enum value
  58433. InstanceTypeM42xlarge = "m4.2xlarge"
  58434. // InstanceTypeM44xlarge is a InstanceType enum value
  58435. InstanceTypeM44xlarge = "m4.4xlarge"
  58436. // InstanceTypeM410xlarge is a InstanceType enum value
  58437. InstanceTypeM410xlarge = "m4.10xlarge"
  58438. // InstanceTypeM416xlarge is a InstanceType enum value
  58439. InstanceTypeM416xlarge = "m4.16xlarge"
  58440. // InstanceTypeM2Xlarge is a InstanceType enum value
  58441. InstanceTypeM2Xlarge = "m2.xlarge"
  58442. // InstanceTypeM22xlarge is a InstanceType enum value
  58443. InstanceTypeM22xlarge = "m2.2xlarge"
  58444. // InstanceTypeM24xlarge is a InstanceType enum value
  58445. InstanceTypeM24xlarge = "m2.4xlarge"
  58446. // InstanceTypeCr18xlarge is a InstanceType enum value
  58447. InstanceTypeCr18xlarge = "cr1.8xlarge"
  58448. // InstanceTypeR3Large is a InstanceType enum value
  58449. InstanceTypeR3Large = "r3.large"
  58450. // InstanceTypeR3Xlarge is a InstanceType enum value
  58451. InstanceTypeR3Xlarge = "r3.xlarge"
  58452. // InstanceTypeR32xlarge is a InstanceType enum value
  58453. InstanceTypeR32xlarge = "r3.2xlarge"
  58454. // InstanceTypeR34xlarge is a InstanceType enum value
  58455. InstanceTypeR34xlarge = "r3.4xlarge"
  58456. // InstanceTypeR38xlarge is a InstanceType enum value
  58457. InstanceTypeR38xlarge = "r3.8xlarge"
  58458. // InstanceTypeR4Large is a InstanceType enum value
  58459. InstanceTypeR4Large = "r4.large"
  58460. // InstanceTypeR4Xlarge is a InstanceType enum value
  58461. InstanceTypeR4Xlarge = "r4.xlarge"
  58462. // InstanceTypeR42xlarge is a InstanceType enum value
  58463. InstanceTypeR42xlarge = "r4.2xlarge"
  58464. // InstanceTypeR44xlarge is a InstanceType enum value
  58465. InstanceTypeR44xlarge = "r4.4xlarge"
  58466. // InstanceTypeR48xlarge is a InstanceType enum value
  58467. InstanceTypeR48xlarge = "r4.8xlarge"
  58468. // InstanceTypeR416xlarge is a InstanceType enum value
  58469. InstanceTypeR416xlarge = "r4.16xlarge"
  58470. // InstanceTypeX116xlarge is a InstanceType enum value
  58471. InstanceTypeX116xlarge = "x1.16xlarge"
  58472. // InstanceTypeX132xlarge is a InstanceType enum value
  58473. InstanceTypeX132xlarge = "x1.32xlarge"
  58474. // InstanceTypeX1eXlarge is a InstanceType enum value
  58475. InstanceTypeX1eXlarge = "x1e.xlarge"
  58476. // InstanceTypeX1e2xlarge is a InstanceType enum value
  58477. InstanceTypeX1e2xlarge = "x1e.2xlarge"
  58478. // InstanceTypeX1e4xlarge is a InstanceType enum value
  58479. InstanceTypeX1e4xlarge = "x1e.4xlarge"
  58480. // InstanceTypeX1e8xlarge is a InstanceType enum value
  58481. InstanceTypeX1e8xlarge = "x1e.8xlarge"
  58482. // InstanceTypeX1e16xlarge is a InstanceType enum value
  58483. InstanceTypeX1e16xlarge = "x1e.16xlarge"
  58484. // InstanceTypeX1e32xlarge is a InstanceType enum value
  58485. InstanceTypeX1e32xlarge = "x1e.32xlarge"
  58486. // InstanceTypeI2Xlarge is a InstanceType enum value
  58487. InstanceTypeI2Xlarge = "i2.xlarge"
  58488. // InstanceTypeI22xlarge is a InstanceType enum value
  58489. InstanceTypeI22xlarge = "i2.2xlarge"
  58490. // InstanceTypeI24xlarge is a InstanceType enum value
  58491. InstanceTypeI24xlarge = "i2.4xlarge"
  58492. // InstanceTypeI28xlarge is a InstanceType enum value
  58493. InstanceTypeI28xlarge = "i2.8xlarge"
  58494. // InstanceTypeI3Large is a InstanceType enum value
  58495. InstanceTypeI3Large = "i3.large"
  58496. // InstanceTypeI3Xlarge is a InstanceType enum value
  58497. InstanceTypeI3Xlarge = "i3.xlarge"
  58498. // InstanceTypeI32xlarge is a InstanceType enum value
  58499. InstanceTypeI32xlarge = "i3.2xlarge"
  58500. // InstanceTypeI34xlarge is a InstanceType enum value
  58501. InstanceTypeI34xlarge = "i3.4xlarge"
  58502. // InstanceTypeI38xlarge is a InstanceType enum value
  58503. InstanceTypeI38xlarge = "i3.8xlarge"
  58504. // InstanceTypeI316xlarge is a InstanceType enum value
  58505. InstanceTypeI316xlarge = "i3.16xlarge"
  58506. // InstanceTypeHi14xlarge is a InstanceType enum value
  58507. InstanceTypeHi14xlarge = "hi1.4xlarge"
  58508. // InstanceTypeHs18xlarge is a InstanceType enum value
  58509. InstanceTypeHs18xlarge = "hs1.8xlarge"
  58510. // InstanceTypeC1Medium is a InstanceType enum value
  58511. InstanceTypeC1Medium = "c1.medium"
  58512. // InstanceTypeC1Xlarge is a InstanceType enum value
  58513. InstanceTypeC1Xlarge = "c1.xlarge"
  58514. // InstanceTypeC3Large is a InstanceType enum value
  58515. InstanceTypeC3Large = "c3.large"
  58516. // InstanceTypeC3Xlarge is a InstanceType enum value
  58517. InstanceTypeC3Xlarge = "c3.xlarge"
  58518. // InstanceTypeC32xlarge is a InstanceType enum value
  58519. InstanceTypeC32xlarge = "c3.2xlarge"
  58520. // InstanceTypeC34xlarge is a InstanceType enum value
  58521. InstanceTypeC34xlarge = "c3.4xlarge"
  58522. // InstanceTypeC38xlarge is a InstanceType enum value
  58523. InstanceTypeC38xlarge = "c3.8xlarge"
  58524. // InstanceTypeC4Large is a InstanceType enum value
  58525. InstanceTypeC4Large = "c4.large"
  58526. // InstanceTypeC4Xlarge is a InstanceType enum value
  58527. InstanceTypeC4Xlarge = "c4.xlarge"
  58528. // InstanceTypeC42xlarge is a InstanceType enum value
  58529. InstanceTypeC42xlarge = "c4.2xlarge"
  58530. // InstanceTypeC44xlarge is a InstanceType enum value
  58531. InstanceTypeC44xlarge = "c4.4xlarge"
  58532. // InstanceTypeC48xlarge is a InstanceType enum value
  58533. InstanceTypeC48xlarge = "c4.8xlarge"
  58534. // InstanceTypeC5Large is a InstanceType enum value
  58535. InstanceTypeC5Large = "c5.large"
  58536. // InstanceTypeC5Xlarge is a InstanceType enum value
  58537. InstanceTypeC5Xlarge = "c5.xlarge"
  58538. // InstanceTypeC52xlarge is a InstanceType enum value
  58539. InstanceTypeC52xlarge = "c5.2xlarge"
  58540. // InstanceTypeC54xlarge is a InstanceType enum value
  58541. InstanceTypeC54xlarge = "c5.4xlarge"
  58542. // InstanceTypeC59xlarge is a InstanceType enum value
  58543. InstanceTypeC59xlarge = "c5.9xlarge"
  58544. // InstanceTypeC518xlarge is a InstanceType enum value
  58545. InstanceTypeC518xlarge = "c5.18xlarge"
  58546. // InstanceTypeCc14xlarge is a InstanceType enum value
  58547. InstanceTypeCc14xlarge = "cc1.4xlarge"
  58548. // InstanceTypeCc28xlarge is a InstanceType enum value
  58549. InstanceTypeCc28xlarge = "cc2.8xlarge"
  58550. // InstanceTypeG22xlarge is a InstanceType enum value
  58551. InstanceTypeG22xlarge = "g2.2xlarge"
  58552. // InstanceTypeG28xlarge is a InstanceType enum value
  58553. InstanceTypeG28xlarge = "g2.8xlarge"
  58554. // InstanceTypeG34xlarge is a InstanceType enum value
  58555. InstanceTypeG34xlarge = "g3.4xlarge"
  58556. // InstanceTypeG38xlarge is a InstanceType enum value
  58557. InstanceTypeG38xlarge = "g3.8xlarge"
  58558. // InstanceTypeG316xlarge is a InstanceType enum value
  58559. InstanceTypeG316xlarge = "g3.16xlarge"
  58560. // InstanceTypeCg14xlarge is a InstanceType enum value
  58561. InstanceTypeCg14xlarge = "cg1.4xlarge"
  58562. // InstanceTypeP2Xlarge is a InstanceType enum value
  58563. InstanceTypeP2Xlarge = "p2.xlarge"
  58564. // InstanceTypeP28xlarge is a InstanceType enum value
  58565. InstanceTypeP28xlarge = "p2.8xlarge"
  58566. // InstanceTypeP216xlarge is a InstanceType enum value
  58567. InstanceTypeP216xlarge = "p2.16xlarge"
  58568. // InstanceTypeP32xlarge is a InstanceType enum value
  58569. InstanceTypeP32xlarge = "p3.2xlarge"
  58570. // InstanceTypeP38xlarge is a InstanceType enum value
  58571. InstanceTypeP38xlarge = "p3.8xlarge"
  58572. // InstanceTypeP316xlarge is a InstanceType enum value
  58573. InstanceTypeP316xlarge = "p3.16xlarge"
  58574. // InstanceTypeD2Xlarge is a InstanceType enum value
  58575. InstanceTypeD2Xlarge = "d2.xlarge"
  58576. // InstanceTypeD22xlarge is a InstanceType enum value
  58577. InstanceTypeD22xlarge = "d2.2xlarge"
  58578. // InstanceTypeD24xlarge is a InstanceType enum value
  58579. InstanceTypeD24xlarge = "d2.4xlarge"
  58580. // InstanceTypeD28xlarge is a InstanceType enum value
  58581. InstanceTypeD28xlarge = "d2.8xlarge"
  58582. // InstanceTypeF12xlarge is a InstanceType enum value
  58583. InstanceTypeF12xlarge = "f1.2xlarge"
  58584. // InstanceTypeF116xlarge is a InstanceType enum value
  58585. InstanceTypeF116xlarge = "f1.16xlarge"
  58586. // InstanceTypeM5Large is a InstanceType enum value
  58587. InstanceTypeM5Large = "m5.large"
  58588. // InstanceTypeM5Xlarge is a InstanceType enum value
  58589. InstanceTypeM5Xlarge = "m5.xlarge"
  58590. // InstanceTypeM52xlarge is a InstanceType enum value
  58591. InstanceTypeM52xlarge = "m5.2xlarge"
  58592. // InstanceTypeM54xlarge is a InstanceType enum value
  58593. InstanceTypeM54xlarge = "m5.4xlarge"
  58594. // InstanceTypeM512xlarge is a InstanceType enum value
  58595. InstanceTypeM512xlarge = "m5.12xlarge"
  58596. // InstanceTypeM524xlarge is a InstanceType enum value
  58597. InstanceTypeM524xlarge = "m5.24xlarge"
  58598. // InstanceTypeH12xlarge is a InstanceType enum value
  58599. InstanceTypeH12xlarge = "h1.2xlarge"
  58600. // InstanceTypeH14xlarge is a InstanceType enum value
  58601. InstanceTypeH14xlarge = "h1.4xlarge"
  58602. // InstanceTypeH18xlarge is a InstanceType enum value
  58603. InstanceTypeH18xlarge = "h1.8xlarge"
  58604. // InstanceTypeH116xlarge is a InstanceType enum value
  58605. InstanceTypeH116xlarge = "h1.16xlarge"
  58606. )
  58607. const (
  58608. // InterfacePermissionTypeInstanceAttach is a InterfacePermissionType enum value
  58609. InterfacePermissionTypeInstanceAttach = "INSTANCE-ATTACH"
  58610. // InterfacePermissionTypeEipAssociate is a InterfacePermissionType enum value
  58611. InterfacePermissionTypeEipAssociate = "EIP-ASSOCIATE"
  58612. )
  58613. const (
  58614. // LaunchTemplateErrorCodeLaunchTemplateIdDoesNotExist is a LaunchTemplateErrorCode enum value
  58615. LaunchTemplateErrorCodeLaunchTemplateIdDoesNotExist = "launchTemplateIdDoesNotExist"
  58616. // LaunchTemplateErrorCodeLaunchTemplateIdMalformed is a LaunchTemplateErrorCode enum value
  58617. LaunchTemplateErrorCodeLaunchTemplateIdMalformed = "launchTemplateIdMalformed"
  58618. // LaunchTemplateErrorCodeLaunchTemplateNameDoesNotExist is a LaunchTemplateErrorCode enum value
  58619. LaunchTemplateErrorCodeLaunchTemplateNameDoesNotExist = "launchTemplateNameDoesNotExist"
  58620. // LaunchTemplateErrorCodeLaunchTemplateNameMalformed is a LaunchTemplateErrorCode enum value
  58621. LaunchTemplateErrorCodeLaunchTemplateNameMalformed = "launchTemplateNameMalformed"
  58622. // LaunchTemplateErrorCodeLaunchTemplateVersionDoesNotExist is a LaunchTemplateErrorCode enum value
  58623. LaunchTemplateErrorCodeLaunchTemplateVersionDoesNotExist = "launchTemplateVersionDoesNotExist"
  58624. // LaunchTemplateErrorCodeUnexpectedError is a LaunchTemplateErrorCode enum value
  58625. LaunchTemplateErrorCodeUnexpectedError = "unexpectedError"
  58626. )
  58627. const (
  58628. // ListingStateAvailable is a ListingState enum value
  58629. ListingStateAvailable = "available"
  58630. // ListingStateSold is a ListingState enum value
  58631. ListingStateSold = "sold"
  58632. // ListingStateCancelled is a ListingState enum value
  58633. ListingStateCancelled = "cancelled"
  58634. // ListingStatePending is a ListingState enum value
  58635. ListingStatePending = "pending"
  58636. )
  58637. const (
  58638. // ListingStatusActive is a ListingStatus enum value
  58639. ListingStatusActive = "active"
  58640. // ListingStatusPending is a ListingStatus enum value
  58641. ListingStatusPending = "pending"
  58642. // ListingStatusCancelled is a ListingStatus enum value
  58643. ListingStatusCancelled = "cancelled"
  58644. // ListingStatusClosed is a ListingStatus enum value
  58645. ListingStatusClosed = "closed"
  58646. )
  58647. const (
  58648. // MarketTypeSpot is a MarketType enum value
  58649. MarketTypeSpot = "spot"
  58650. )
  58651. const (
  58652. // MonitoringStateDisabled is a MonitoringState enum value
  58653. MonitoringStateDisabled = "disabled"
  58654. // MonitoringStateDisabling is a MonitoringState enum value
  58655. MonitoringStateDisabling = "disabling"
  58656. // MonitoringStateEnabled is a MonitoringState enum value
  58657. MonitoringStateEnabled = "enabled"
  58658. // MonitoringStatePending is a MonitoringState enum value
  58659. MonitoringStatePending = "pending"
  58660. )
  58661. const (
  58662. // MoveStatusMovingToVpc is a MoveStatus enum value
  58663. MoveStatusMovingToVpc = "movingToVpc"
  58664. // MoveStatusRestoringToClassic is a MoveStatus enum value
  58665. MoveStatusRestoringToClassic = "restoringToClassic"
  58666. )
  58667. const (
  58668. // NatGatewayStatePending is a NatGatewayState enum value
  58669. NatGatewayStatePending = "pending"
  58670. // NatGatewayStateFailed is a NatGatewayState enum value
  58671. NatGatewayStateFailed = "failed"
  58672. // NatGatewayStateAvailable is a NatGatewayState enum value
  58673. NatGatewayStateAvailable = "available"
  58674. // NatGatewayStateDeleting is a NatGatewayState enum value
  58675. NatGatewayStateDeleting = "deleting"
  58676. // NatGatewayStateDeleted is a NatGatewayState enum value
  58677. NatGatewayStateDeleted = "deleted"
  58678. )
  58679. const (
  58680. // NetworkInterfaceAttributeDescription is a NetworkInterfaceAttribute enum value
  58681. NetworkInterfaceAttributeDescription = "description"
  58682. // NetworkInterfaceAttributeGroupSet is a NetworkInterfaceAttribute enum value
  58683. NetworkInterfaceAttributeGroupSet = "groupSet"
  58684. // NetworkInterfaceAttributeSourceDestCheck is a NetworkInterfaceAttribute enum value
  58685. NetworkInterfaceAttributeSourceDestCheck = "sourceDestCheck"
  58686. // NetworkInterfaceAttributeAttachment is a NetworkInterfaceAttribute enum value
  58687. NetworkInterfaceAttributeAttachment = "attachment"
  58688. )
  58689. const (
  58690. // NetworkInterfacePermissionStateCodePending is a NetworkInterfacePermissionStateCode enum value
  58691. NetworkInterfacePermissionStateCodePending = "pending"
  58692. // NetworkInterfacePermissionStateCodeGranted is a NetworkInterfacePermissionStateCode enum value
  58693. NetworkInterfacePermissionStateCodeGranted = "granted"
  58694. // NetworkInterfacePermissionStateCodeRevoking is a NetworkInterfacePermissionStateCode enum value
  58695. NetworkInterfacePermissionStateCodeRevoking = "revoking"
  58696. // NetworkInterfacePermissionStateCodeRevoked is a NetworkInterfacePermissionStateCode enum value
  58697. NetworkInterfacePermissionStateCodeRevoked = "revoked"
  58698. )
  58699. const (
  58700. // NetworkInterfaceStatusAvailable is a NetworkInterfaceStatus enum value
  58701. NetworkInterfaceStatusAvailable = "available"
  58702. // NetworkInterfaceStatusAttaching is a NetworkInterfaceStatus enum value
  58703. NetworkInterfaceStatusAttaching = "attaching"
  58704. // NetworkInterfaceStatusInUse is a NetworkInterfaceStatus enum value
  58705. NetworkInterfaceStatusInUse = "in-use"
  58706. // NetworkInterfaceStatusDetaching is a NetworkInterfaceStatus enum value
  58707. NetworkInterfaceStatusDetaching = "detaching"
  58708. )
  58709. const (
  58710. // NetworkInterfaceTypeInterface is a NetworkInterfaceType enum value
  58711. NetworkInterfaceTypeInterface = "interface"
  58712. // NetworkInterfaceTypeNatGateway is a NetworkInterfaceType enum value
  58713. NetworkInterfaceTypeNatGateway = "natGateway"
  58714. )
  58715. const (
  58716. // OfferingClassTypeStandard is a OfferingClassType enum value
  58717. OfferingClassTypeStandard = "standard"
  58718. // OfferingClassTypeConvertible is a OfferingClassType enum value
  58719. OfferingClassTypeConvertible = "convertible"
  58720. )
  58721. const (
  58722. // OfferingTypeValuesHeavyUtilization is a OfferingTypeValues enum value
  58723. OfferingTypeValuesHeavyUtilization = "Heavy Utilization"
  58724. // OfferingTypeValuesMediumUtilization is a OfferingTypeValues enum value
  58725. OfferingTypeValuesMediumUtilization = "Medium Utilization"
  58726. // OfferingTypeValuesLightUtilization is a OfferingTypeValues enum value
  58727. OfferingTypeValuesLightUtilization = "Light Utilization"
  58728. // OfferingTypeValuesNoUpfront is a OfferingTypeValues enum value
  58729. OfferingTypeValuesNoUpfront = "No Upfront"
  58730. // OfferingTypeValuesPartialUpfront is a OfferingTypeValues enum value
  58731. OfferingTypeValuesPartialUpfront = "Partial Upfront"
  58732. // OfferingTypeValuesAllUpfront is a OfferingTypeValues enum value
  58733. OfferingTypeValuesAllUpfront = "All Upfront"
  58734. )
  58735. const (
  58736. // OperationTypeAdd is a OperationType enum value
  58737. OperationTypeAdd = "add"
  58738. // OperationTypeRemove is a OperationType enum value
  58739. OperationTypeRemove = "remove"
  58740. )
  58741. const (
  58742. // PaymentOptionAllUpfront is a PaymentOption enum value
  58743. PaymentOptionAllUpfront = "AllUpfront"
  58744. // PaymentOptionPartialUpfront is a PaymentOption enum value
  58745. PaymentOptionPartialUpfront = "PartialUpfront"
  58746. // PaymentOptionNoUpfront is a PaymentOption enum value
  58747. PaymentOptionNoUpfront = "NoUpfront"
  58748. )
  58749. const (
  58750. // PermissionGroupAll is a PermissionGroup enum value
  58751. PermissionGroupAll = "all"
  58752. )
  58753. const (
  58754. // PlacementGroupStatePending is a PlacementGroupState enum value
  58755. PlacementGroupStatePending = "pending"
  58756. // PlacementGroupStateAvailable is a PlacementGroupState enum value
  58757. PlacementGroupStateAvailable = "available"
  58758. // PlacementGroupStateDeleting is a PlacementGroupState enum value
  58759. PlacementGroupStateDeleting = "deleting"
  58760. // PlacementGroupStateDeleted is a PlacementGroupState enum value
  58761. PlacementGroupStateDeleted = "deleted"
  58762. )
  58763. const (
  58764. // PlacementStrategyCluster is a PlacementStrategy enum value
  58765. PlacementStrategyCluster = "cluster"
  58766. // PlacementStrategySpread is a PlacementStrategy enum value
  58767. PlacementStrategySpread = "spread"
  58768. )
  58769. const (
  58770. // PlatformValuesWindows is a PlatformValues enum value
  58771. PlatformValuesWindows = "Windows"
  58772. )
  58773. const (
  58774. // PrincipalTypeAll is a PrincipalType enum value
  58775. PrincipalTypeAll = "All"
  58776. // PrincipalTypeService is a PrincipalType enum value
  58777. PrincipalTypeService = "Service"
  58778. // PrincipalTypeOrganizationUnit is a PrincipalType enum value
  58779. PrincipalTypeOrganizationUnit = "OrganizationUnit"
  58780. // PrincipalTypeAccount is a PrincipalType enum value
  58781. PrincipalTypeAccount = "Account"
  58782. // PrincipalTypeUser is a PrincipalType enum value
  58783. PrincipalTypeUser = "User"
  58784. // PrincipalTypeRole is a PrincipalType enum value
  58785. PrincipalTypeRole = "Role"
  58786. )
  58787. const (
  58788. // ProductCodeValuesDevpay is a ProductCodeValues enum value
  58789. ProductCodeValuesDevpay = "devpay"
  58790. // ProductCodeValuesMarketplace is a ProductCodeValues enum value
  58791. ProductCodeValuesMarketplace = "marketplace"
  58792. )
  58793. const (
  58794. // RIProductDescriptionLinuxUnix is a RIProductDescription enum value
  58795. RIProductDescriptionLinuxUnix = "Linux/UNIX"
  58796. // RIProductDescriptionLinuxUnixamazonVpc is a RIProductDescription enum value
  58797. RIProductDescriptionLinuxUnixamazonVpc = "Linux/UNIX (Amazon VPC)"
  58798. // RIProductDescriptionWindows is a RIProductDescription enum value
  58799. RIProductDescriptionWindows = "Windows"
  58800. // RIProductDescriptionWindowsAmazonVpc is a RIProductDescription enum value
  58801. RIProductDescriptionWindowsAmazonVpc = "Windows (Amazon VPC)"
  58802. )
  58803. const (
  58804. // RecurringChargeFrequencyHourly is a RecurringChargeFrequency enum value
  58805. RecurringChargeFrequencyHourly = "Hourly"
  58806. )
  58807. const (
  58808. // ReportInstanceReasonCodesInstanceStuckInState is a ReportInstanceReasonCodes enum value
  58809. ReportInstanceReasonCodesInstanceStuckInState = "instance-stuck-in-state"
  58810. // ReportInstanceReasonCodesUnresponsive is a ReportInstanceReasonCodes enum value
  58811. ReportInstanceReasonCodesUnresponsive = "unresponsive"
  58812. // ReportInstanceReasonCodesNotAcceptingCredentials is a ReportInstanceReasonCodes enum value
  58813. ReportInstanceReasonCodesNotAcceptingCredentials = "not-accepting-credentials"
  58814. // ReportInstanceReasonCodesPasswordNotAvailable is a ReportInstanceReasonCodes enum value
  58815. ReportInstanceReasonCodesPasswordNotAvailable = "password-not-available"
  58816. // ReportInstanceReasonCodesPerformanceNetwork is a ReportInstanceReasonCodes enum value
  58817. ReportInstanceReasonCodesPerformanceNetwork = "performance-network"
  58818. // ReportInstanceReasonCodesPerformanceInstanceStore is a ReportInstanceReasonCodes enum value
  58819. ReportInstanceReasonCodesPerformanceInstanceStore = "performance-instance-store"
  58820. // ReportInstanceReasonCodesPerformanceEbsVolume is a ReportInstanceReasonCodes enum value
  58821. ReportInstanceReasonCodesPerformanceEbsVolume = "performance-ebs-volume"
  58822. // ReportInstanceReasonCodesPerformanceOther is a ReportInstanceReasonCodes enum value
  58823. ReportInstanceReasonCodesPerformanceOther = "performance-other"
  58824. // ReportInstanceReasonCodesOther is a ReportInstanceReasonCodes enum value
  58825. ReportInstanceReasonCodesOther = "other"
  58826. )
  58827. const (
  58828. // ReportStatusTypeOk is a ReportStatusType enum value
  58829. ReportStatusTypeOk = "ok"
  58830. // ReportStatusTypeImpaired is a ReportStatusType enum value
  58831. ReportStatusTypeImpaired = "impaired"
  58832. )
  58833. const (
  58834. // ReservationStatePaymentPending is a ReservationState enum value
  58835. ReservationStatePaymentPending = "payment-pending"
  58836. // ReservationStatePaymentFailed is a ReservationState enum value
  58837. ReservationStatePaymentFailed = "payment-failed"
  58838. // ReservationStateActive is a ReservationState enum value
  58839. ReservationStateActive = "active"
  58840. // ReservationStateRetired is a ReservationState enum value
  58841. ReservationStateRetired = "retired"
  58842. )
  58843. const (
  58844. // ReservedInstanceStatePaymentPending is a ReservedInstanceState enum value
  58845. ReservedInstanceStatePaymentPending = "payment-pending"
  58846. // ReservedInstanceStateActive is a ReservedInstanceState enum value
  58847. ReservedInstanceStateActive = "active"
  58848. // ReservedInstanceStatePaymentFailed is a ReservedInstanceState enum value
  58849. ReservedInstanceStatePaymentFailed = "payment-failed"
  58850. // ReservedInstanceStateRetired is a ReservedInstanceState enum value
  58851. ReservedInstanceStateRetired = "retired"
  58852. )
  58853. const (
  58854. // ResetFpgaImageAttributeNameLoadPermission is a ResetFpgaImageAttributeName enum value
  58855. ResetFpgaImageAttributeNameLoadPermission = "loadPermission"
  58856. )
  58857. const (
  58858. // ResetImageAttributeNameLaunchPermission is a ResetImageAttributeName enum value
  58859. ResetImageAttributeNameLaunchPermission = "launchPermission"
  58860. )
  58861. const (
  58862. // ResourceTypeCustomerGateway is a ResourceType enum value
  58863. ResourceTypeCustomerGateway = "customer-gateway"
  58864. // ResourceTypeDhcpOptions is a ResourceType enum value
  58865. ResourceTypeDhcpOptions = "dhcp-options"
  58866. // ResourceTypeImage is a ResourceType enum value
  58867. ResourceTypeImage = "image"
  58868. // ResourceTypeInstance is a ResourceType enum value
  58869. ResourceTypeInstance = "instance"
  58870. // ResourceTypeInternetGateway is a ResourceType enum value
  58871. ResourceTypeInternetGateway = "internet-gateway"
  58872. // ResourceTypeNetworkAcl is a ResourceType enum value
  58873. ResourceTypeNetworkAcl = "network-acl"
  58874. // ResourceTypeNetworkInterface is a ResourceType enum value
  58875. ResourceTypeNetworkInterface = "network-interface"
  58876. // ResourceTypeReservedInstances is a ResourceType enum value
  58877. ResourceTypeReservedInstances = "reserved-instances"
  58878. // ResourceTypeRouteTable is a ResourceType enum value
  58879. ResourceTypeRouteTable = "route-table"
  58880. // ResourceTypeSnapshot is a ResourceType enum value
  58881. ResourceTypeSnapshot = "snapshot"
  58882. // ResourceTypeSpotInstancesRequest is a ResourceType enum value
  58883. ResourceTypeSpotInstancesRequest = "spot-instances-request"
  58884. // ResourceTypeSubnet is a ResourceType enum value
  58885. ResourceTypeSubnet = "subnet"
  58886. // ResourceTypeSecurityGroup is a ResourceType enum value
  58887. ResourceTypeSecurityGroup = "security-group"
  58888. // ResourceTypeVolume is a ResourceType enum value
  58889. ResourceTypeVolume = "volume"
  58890. // ResourceTypeVpc is a ResourceType enum value
  58891. ResourceTypeVpc = "vpc"
  58892. // ResourceTypeVpnConnection is a ResourceType enum value
  58893. ResourceTypeVpnConnection = "vpn-connection"
  58894. // ResourceTypeVpnGateway is a ResourceType enum value
  58895. ResourceTypeVpnGateway = "vpn-gateway"
  58896. )
  58897. const (
  58898. // RouteOriginCreateRouteTable is a RouteOrigin enum value
  58899. RouteOriginCreateRouteTable = "CreateRouteTable"
  58900. // RouteOriginCreateRoute is a RouteOrigin enum value
  58901. RouteOriginCreateRoute = "CreateRoute"
  58902. // RouteOriginEnableVgwRoutePropagation is a RouteOrigin enum value
  58903. RouteOriginEnableVgwRoutePropagation = "EnableVgwRoutePropagation"
  58904. )
  58905. const (
  58906. // RouteStateActive is a RouteState enum value
  58907. RouteStateActive = "active"
  58908. // RouteStateBlackhole is a RouteState enum value
  58909. RouteStateBlackhole = "blackhole"
  58910. )
  58911. const (
  58912. // RuleActionAllow is a RuleAction enum value
  58913. RuleActionAllow = "allow"
  58914. // RuleActionDeny is a RuleAction enum value
  58915. RuleActionDeny = "deny"
  58916. )
  58917. const (
  58918. // ServiceStatePending is a ServiceState enum value
  58919. ServiceStatePending = "Pending"
  58920. // ServiceStateAvailable is a ServiceState enum value
  58921. ServiceStateAvailable = "Available"
  58922. // ServiceStateDeleting is a ServiceState enum value
  58923. ServiceStateDeleting = "Deleting"
  58924. // ServiceStateDeleted is a ServiceState enum value
  58925. ServiceStateDeleted = "Deleted"
  58926. // ServiceStateFailed is a ServiceState enum value
  58927. ServiceStateFailed = "Failed"
  58928. )
  58929. const (
  58930. // ServiceTypeInterface is a ServiceType enum value
  58931. ServiceTypeInterface = "Interface"
  58932. // ServiceTypeGateway is a ServiceType enum value
  58933. ServiceTypeGateway = "Gateway"
  58934. )
  58935. const (
  58936. // ShutdownBehaviorStop is a ShutdownBehavior enum value
  58937. ShutdownBehaviorStop = "stop"
  58938. // ShutdownBehaviorTerminate is a ShutdownBehavior enum value
  58939. ShutdownBehaviorTerminate = "terminate"
  58940. )
  58941. const (
  58942. // SnapshotAttributeNameProductCodes is a SnapshotAttributeName enum value
  58943. SnapshotAttributeNameProductCodes = "productCodes"
  58944. // SnapshotAttributeNameCreateVolumePermission is a SnapshotAttributeName enum value
  58945. SnapshotAttributeNameCreateVolumePermission = "createVolumePermission"
  58946. )
  58947. const (
  58948. // SnapshotStatePending is a SnapshotState enum value
  58949. SnapshotStatePending = "pending"
  58950. // SnapshotStateCompleted is a SnapshotState enum value
  58951. SnapshotStateCompleted = "completed"
  58952. // SnapshotStateError is a SnapshotState enum value
  58953. SnapshotStateError = "error"
  58954. )
  58955. const (
  58956. // SpotInstanceStateOpen is a SpotInstanceState enum value
  58957. SpotInstanceStateOpen = "open"
  58958. // SpotInstanceStateActive is a SpotInstanceState enum value
  58959. SpotInstanceStateActive = "active"
  58960. // SpotInstanceStateClosed is a SpotInstanceState enum value
  58961. SpotInstanceStateClosed = "closed"
  58962. // SpotInstanceStateCancelled is a SpotInstanceState enum value
  58963. SpotInstanceStateCancelled = "cancelled"
  58964. // SpotInstanceStateFailed is a SpotInstanceState enum value
  58965. SpotInstanceStateFailed = "failed"
  58966. )
  58967. const (
  58968. // SpotInstanceTypeOneTime is a SpotInstanceType enum value
  58969. SpotInstanceTypeOneTime = "one-time"
  58970. // SpotInstanceTypePersistent is a SpotInstanceType enum value
  58971. SpotInstanceTypePersistent = "persistent"
  58972. )
  58973. const (
  58974. // StatePendingAcceptance is a State enum value
  58975. StatePendingAcceptance = "PendingAcceptance"
  58976. // StatePending is a State enum value
  58977. StatePending = "Pending"
  58978. // StateAvailable is a State enum value
  58979. StateAvailable = "Available"
  58980. // StateDeleting is a State enum value
  58981. StateDeleting = "Deleting"
  58982. // StateDeleted is a State enum value
  58983. StateDeleted = "Deleted"
  58984. // StateRejected is a State enum value
  58985. StateRejected = "Rejected"
  58986. // StateFailed is a State enum value
  58987. StateFailed = "Failed"
  58988. // StateExpired is a State enum value
  58989. StateExpired = "Expired"
  58990. )
  58991. const (
  58992. // StatusMoveInProgress is a Status enum value
  58993. StatusMoveInProgress = "MoveInProgress"
  58994. // StatusInVpc is a Status enum value
  58995. StatusInVpc = "InVpc"
  58996. // StatusInClassic is a Status enum value
  58997. StatusInClassic = "InClassic"
  58998. )
  58999. const (
  59000. // StatusNameReachability is a StatusName enum value
  59001. StatusNameReachability = "reachability"
  59002. )
  59003. const (
  59004. // StatusTypePassed is a StatusType enum value
  59005. StatusTypePassed = "passed"
  59006. // StatusTypeFailed is a StatusType enum value
  59007. StatusTypeFailed = "failed"
  59008. // StatusTypeInsufficientData is a StatusType enum value
  59009. StatusTypeInsufficientData = "insufficient-data"
  59010. // StatusTypeInitializing is a StatusType enum value
  59011. StatusTypeInitializing = "initializing"
  59012. )
  59013. const (
  59014. // SubnetCidrBlockStateCodeAssociating is a SubnetCidrBlockStateCode enum value
  59015. SubnetCidrBlockStateCodeAssociating = "associating"
  59016. // SubnetCidrBlockStateCodeAssociated is a SubnetCidrBlockStateCode enum value
  59017. SubnetCidrBlockStateCodeAssociated = "associated"
  59018. // SubnetCidrBlockStateCodeDisassociating is a SubnetCidrBlockStateCode enum value
  59019. SubnetCidrBlockStateCodeDisassociating = "disassociating"
  59020. // SubnetCidrBlockStateCodeDisassociated is a SubnetCidrBlockStateCode enum value
  59021. SubnetCidrBlockStateCodeDisassociated = "disassociated"
  59022. // SubnetCidrBlockStateCodeFailing is a SubnetCidrBlockStateCode enum value
  59023. SubnetCidrBlockStateCodeFailing = "failing"
  59024. // SubnetCidrBlockStateCodeFailed is a SubnetCidrBlockStateCode enum value
  59025. SubnetCidrBlockStateCodeFailed = "failed"
  59026. )
  59027. const (
  59028. // SubnetStatePending is a SubnetState enum value
  59029. SubnetStatePending = "pending"
  59030. // SubnetStateAvailable is a SubnetState enum value
  59031. SubnetStateAvailable = "available"
  59032. )
  59033. const (
  59034. // SummaryStatusOk is a SummaryStatus enum value
  59035. SummaryStatusOk = "ok"
  59036. // SummaryStatusImpaired is a SummaryStatus enum value
  59037. SummaryStatusImpaired = "impaired"
  59038. // SummaryStatusInsufficientData is a SummaryStatus enum value
  59039. SummaryStatusInsufficientData = "insufficient-data"
  59040. // SummaryStatusNotApplicable is a SummaryStatus enum value
  59041. SummaryStatusNotApplicable = "not-applicable"
  59042. // SummaryStatusInitializing is a SummaryStatus enum value
  59043. SummaryStatusInitializing = "initializing"
  59044. )
  59045. const (
  59046. // TelemetryStatusUp is a TelemetryStatus enum value
  59047. TelemetryStatusUp = "UP"
  59048. // TelemetryStatusDown is a TelemetryStatus enum value
  59049. TelemetryStatusDown = "DOWN"
  59050. )
  59051. const (
  59052. // TenancyDefault is a Tenancy enum value
  59053. TenancyDefault = "default"
  59054. // TenancyDedicated is a Tenancy enum value
  59055. TenancyDedicated = "dedicated"
  59056. // TenancyHost is a Tenancy enum value
  59057. TenancyHost = "host"
  59058. )
  59059. const (
  59060. // TrafficTypeAccept is a TrafficType enum value
  59061. TrafficTypeAccept = "ACCEPT"
  59062. // TrafficTypeReject is a TrafficType enum value
  59063. TrafficTypeReject = "REJECT"
  59064. // TrafficTypeAll is a TrafficType enum value
  59065. TrafficTypeAll = "ALL"
  59066. )
  59067. const (
  59068. // UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdMalformed is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value
  59069. UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdMalformed = "InvalidInstanceID.Malformed"
  59070. // UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdNotFound is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value
  59071. UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdNotFound = "InvalidInstanceID.NotFound"
  59072. // UnsuccessfulInstanceCreditSpecificationErrorCodeIncorrectInstanceState is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value
  59073. UnsuccessfulInstanceCreditSpecificationErrorCodeIncorrectInstanceState = "IncorrectInstanceState"
  59074. // UnsuccessfulInstanceCreditSpecificationErrorCodeInstanceCreditSpecificationNotSupported is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value
  59075. UnsuccessfulInstanceCreditSpecificationErrorCodeInstanceCreditSpecificationNotSupported = "InstanceCreditSpecification.NotSupported"
  59076. )
  59077. const (
  59078. // VirtualizationTypeHvm is a VirtualizationType enum value
  59079. VirtualizationTypeHvm = "hvm"
  59080. // VirtualizationTypeParavirtual is a VirtualizationType enum value
  59081. VirtualizationTypeParavirtual = "paravirtual"
  59082. )
  59083. const (
  59084. // VolumeAttachmentStateAttaching is a VolumeAttachmentState enum value
  59085. VolumeAttachmentStateAttaching = "attaching"
  59086. // VolumeAttachmentStateAttached is a VolumeAttachmentState enum value
  59087. VolumeAttachmentStateAttached = "attached"
  59088. // VolumeAttachmentStateDetaching is a VolumeAttachmentState enum value
  59089. VolumeAttachmentStateDetaching = "detaching"
  59090. // VolumeAttachmentStateDetached is a VolumeAttachmentState enum value
  59091. VolumeAttachmentStateDetached = "detached"
  59092. // VolumeAttachmentStateBusy is a VolumeAttachmentState enum value
  59093. VolumeAttachmentStateBusy = "busy"
  59094. )
  59095. const (
  59096. // VolumeAttributeNameAutoEnableIo is a VolumeAttributeName enum value
  59097. VolumeAttributeNameAutoEnableIo = "autoEnableIO"
  59098. // VolumeAttributeNameProductCodes is a VolumeAttributeName enum value
  59099. VolumeAttributeNameProductCodes = "productCodes"
  59100. )
  59101. const (
  59102. // VolumeModificationStateModifying is a VolumeModificationState enum value
  59103. VolumeModificationStateModifying = "modifying"
  59104. // VolumeModificationStateOptimizing is a VolumeModificationState enum value
  59105. VolumeModificationStateOptimizing = "optimizing"
  59106. // VolumeModificationStateCompleted is a VolumeModificationState enum value
  59107. VolumeModificationStateCompleted = "completed"
  59108. // VolumeModificationStateFailed is a VolumeModificationState enum value
  59109. VolumeModificationStateFailed = "failed"
  59110. )
  59111. const (
  59112. // VolumeStateCreating is a VolumeState enum value
  59113. VolumeStateCreating = "creating"
  59114. // VolumeStateAvailable is a VolumeState enum value
  59115. VolumeStateAvailable = "available"
  59116. // VolumeStateInUse is a VolumeState enum value
  59117. VolumeStateInUse = "in-use"
  59118. // VolumeStateDeleting is a VolumeState enum value
  59119. VolumeStateDeleting = "deleting"
  59120. // VolumeStateDeleted is a VolumeState enum value
  59121. VolumeStateDeleted = "deleted"
  59122. // VolumeStateError is a VolumeState enum value
  59123. VolumeStateError = "error"
  59124. )
  59125. const (
  59126. // VolumeStatusInfoStatusOk is a VolumeStatusInfoStatus enum value
  59127. VolumeStatusInfoStatusOk = "ok"
  59128. // VolumeStatusInfoStatusImpaired is a VolumeStatusInfoStatus enum value
  59129. VolumeStatusInfoStatusImpaired = "impaired"
  59130. // VolumeStatusInfoStatusInsufficientData is a VolumeStatusInfoStatus enum value
  59131. VolumeStatusInfoStatusInsufficientData = "insufficient-data"
  59132. )
  59133. const (
  59134. // VolumeStatusNameIoEnabled is a VolumeStatusName enum value
  59135. VolumeStatusNameIoEnabled = "io-enabled"
  59136. // VolumeStatusNameIoPerformance is a VolumeStatusName enum value
  59137. VolumeStatusNameIoPerformance = "io-performance"
  59138. )
  59139. const (
  59140. // VolumeTypeStandard is a VolumeType enum value
  59141. VolumeTypeStandard = "standard"
  59142. // VolumeTypeIo1 is a VolumeType enum value
  59143. VolumeTypeIo1 = "io1"
  59144. // VolumeTypeGp2 is a VolumeType enum value
  59145. VolumeTypeGp2 = "gp2"
  59146. // VolumeTypeSc1 is a VolumeType enum value
  59147. VolumeTypeSc1 = "sc1"
  59148. // VolumeTypeSt1 is a VolumeType enum value
  59149. VolumeTypeSt1 = "st1"
  59150. )
  59151. const (
  59152. // VpcAttributeNameEnableDnsSupport is a VpcAttributeName enum value
  59153. VpcAttributeNameEnableDnsSupport = "enableDnsSupport"
  59154. // VpcAttributeNameEnableDnsHostnames is a VpcAttributeName enum value
  59155. VpcAttributeNameEnableDnsHostnames = "enableDnsHostnames"
  59156. )
  59157. const (
  59158. // VpcCidrBlockStateCodeAssociating is a VpcCidrBlockStateCode enum value
  59159. VpcCidrBlockStateCodeAssociating = "associating"
  59160. // VpcCidrBlockStateCodeAssociated is a VpcCidrBlockStateCode enum value
  59161. VpcCidrBlockStateCodeAssociated = "associated"
  59162. // VpcCidrBlockStateCodeDisassociating is a VpcCidrBlockStateCode enum value
  59163. VpcCidrBlockStateCodeDisassociating = "disassociating"
  59164. // VpcCidrBlockStateCodeDisassociated is a VpcCidrBlockStateCode enum value
  59165. VpcCidrBlockStateCodeDisassociated = "disassociated"
  59166. // VpcCidrBlockStateCodeFailing is a VpcCidrBlockStateCode enum value
  59167. VpcCidrBlockStateCodeFailing = "failing"
  59168. // VpcCidrBlockStateCodeFailed is a VpcCidrBlockStateCode enum value
  59169. VpcCidrBlockStateCodeFailed = "failed"
  59170. )
  59171. const (
  59172. // VpcEndpointTypeInterface is a VpcEndpointType enum value
  59173. VpcEndpointTypeInterface = "Interface"
  59174. // VpcEndpointTypeGateway is a VpcEndpointType enum value
  59175. VpcEndpointTypeGateway = "Gateway"
  59176. )
  59177. const (
  59178. // VpcPeeringConnectionStateReasonCodeInitiatingRequest is a VpcPeeringConnectionStateReasonCode enum value
  59179. VpcPeeringConnectionStateReasonCodeInitiatingRequest = "initiating-request"
  59180. // VpcPeeringConnectionStateReasonCodePendingAcceptance is a VpcPeeringConnectionStateReasonCode enum value
  59181. VpcPeeringConnectionStateReasonCodePendingAcceptance = "pending-acceptance"
  59182. // VpcPeeringConnectionStateReasonCodeActive is a VpcPeeringConnectionStateReasonCode enum value
  59183. VpcPeeringConnectionStateReasonCodeActive = "active"
  59184. // VpcPeeringConnectionStateReasonCodeDeleted is a VpcPeeringConnectionStateReasonCode enum value
  59185. VpcPeeringConnectionStateReasonCodeDeleted = "deleted"
  59186. // VpcPeeringConnectionStateReasonCodeRejected is a VpcPeeringConnectionStateReasonCode enum value
  59187. VpcPeeringConnectionStateReasonCodeRejected = "rejected"
  59188. // VpcPeeringConnectionStateReasonCodeFailed is a VpcPeeringConnectionStateReasonCode enum value
  59189. VpcPeeringConnectionStateReasonCodeFailed = "failed"
  59190. // VpcPeeringConnectionStateReasonCodeExpired is a VpcPeeringConnectionStateReasonCode enum value
  59191. VpcPeeringConnectionStateReasonCodeExpired = "expired"
  59192. // VpcPeeringConnectionStateReasonCodeProvisioning is a VpcPeeringConnectionStateReasonCode enum value
  59193. VpcPeeringConnectionStateReasonCodeProvisioning = "provisioning"
  59194. // VpcPeeringConnectionStateReasonCodeDeleting is a VpcPeeringConnectionStateReasonCode enum value
  59195. VpcPeeringConnectionStateReasonCodeDeleting = "deleting"
  59196. )
  59197. const (
  59198. // VpcStatePending is a VpcState enum value
  59199. VpcStatePending = "pending"
  59200. // VpcStateAvailable is a VpcState enum value
  59201. VpcStateAvailable = "available"
  59202. )
  59203. const (
  59204. // VpcTenancyDefault is a VpcTenancy enum value
  59205. VpcTenancyDefault = "default"
  59206. )
  59207. const (
  59208. // VpnStatePending is a VpnState enum value
  59209. VpnStatePending = "pending"
  59210. // VpnStateAvailable is a VpnState enum value
  59211. VpnStateAvailable = "available"
  59212. // VpnStateDeleting is a VpnState enum value
  59213. VpnStateDeleting = "deleting"
  59214. // VpnStateDeleted is a VpnState enum value
  59215. VpnStateDeleted = "deleted"
  59216. )
  59217. const (
  59218. // VpnStaticRouteSourceStatic is a VpnStaticRouteSource enum value
  59219. VpnStaticRouteSourceStatic = "Static"
  59220. )
  59221. const (
  59222. // ScopeAvailabilityZone is a scope enum value
  59223. ScopeAvailabilityZone = "Availability Zone"
  59224. // ScopeRegion is a scope enum value
  59225. ScopeRegion = "Region"
  59226. )