api.go 1.3 MB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367163681636916370163711637216373163741637516376163771637816379163801638116382163831638416385163861638716388163891639016391163921639316394163951639616397163981639916400164011640216403164041640516406164071640816409164101641116412164131641416415164161641716418164191642016421164221642316424164251642616427164281642916430164311643216433164341643516436164371643816439164401644116442164431644416445164461644716448164491645016451164521645316454164551645616457164581645916460164611646216463164641646516466164671646816469164701647116472164731647416475164761647716478164791648016481164821648316484164851648616487164881648916490164911649216493164941649516496164971649816499165001650116502165031650416505165061650716508165091651016511165121651316514165151651616517165181651916520165211652216523165241652516526165271652816529165301653116532165331653416535165361653716538165391654016541165421654316544165451654616547165481654916550165511655216553165541655516556165571655816559165601656116562165631656416565165661656716568165691657016571165721657316574165751657616577165781657916580165811658216583165841658516586165871658816589165901659116592165931659416595165961659716598165991660016601166021660316604166051660616607166081660916610166111661216613166141661516616166171661816619166201662116622166231662416625166261662716628166291663016631166321663316634166351663616637166381663916640166411664216643166441664516646166471664816649166501665116652166531665416655166561665716658166591666016661166621666316664166651666616667166681666916670166711667216673166741667516676166771667816679166801668116682166831668416685166861668716688166891669016691166921669316694166951669616697166981669916700167011670216703167041670516706167071670816709167101671116712167131671416715167161671716718167191672016721167221672316724167251672616727167281672916730167311673216733167341673516736167371673816739167401674116742167431674416745167461674716748167491675016751167521675316754167551675616757167581675916760167611676216763167641676516766167671676816769167701677116772167731677416775167761677716778167791678016781167821678316784167851678616787167881678916790167911679216793167941679516796167971679816799168001680116802168031680416805168061680716808168091681016811168121681316814168151681616817168181681916820168211682216823168241682516826168271682816829168301683116832168331683416835168361683716838168391684016841168421684316844168451684616847168481684916850168511685216853168541685516856168571685816859168601686116862168631686416865168661686716868168691687016871168721687316874168751687616877168781687916880168811688216883168841688516886168871688816889168901689116892168931689416895168961689716898168991690016901169021690316904169051690616907169081690916910169111691216913169141691516916169171691816919169201692116922169231692416925169261692716928169291693016931169321693316934169351693616937169381693916940169411694216943169441694516946169471694816949169501695116952169531695416955169561695716958169591696016961169621696316964169651696616967169681696916970169711697216973169741697516976169771697816979169801698116982169831698416985169861698716988169891699016991169921699316994169951699616997169981699917000170011700217003170041700517006170071700817009170101701117012170131701417015170161701717018170191702017021170221702317024170251702617027170281702917030170311703217033170341703517036170371703817039170401704117042170431704417045170461704717048170491705017051170521705317054170551705617057170581705917060170611706217063170641706517066170671706817069170701707117072170731707417075170761707717078170791708017081170821708317084170851708617087170881708917090170911709217093170941709517096170971709817099171001710117102171031710417105171061710717108171091711017111171121711317114171151711617117171181711917120171211712217123171241712517126171271712817129171301713117132171331713417135171361713717138171391714017141171421714317144171451714617147171481714917150171511715217153171541715517156171571715817159171601716117162171631716417165171661716717168171691717017171171721717317174171751717617177171781717917180171811718217183171841718517186171871718817189171901719117192171931719417195171961719717198171991720017201172021720317204172051720617207172081720917210172111721217213172141721517216172171721817219172201722117222172231722417225172261722717228172291723017231172321723317234172351723617237172381723917240172411724217243172441724517246172471724817249172501725117252172531725417255172561725717258172591726017261172621726317264172651726617267172681726917270172711727217273172741727517276172771727817279172801728117282172831728417285172861728717288172891729017291172921729317294172951729617297172981729917300173011730217303173041730517306173071730817309173101731117312173131731417315173161731717318173191732017321173221732317324173251732617327173281732917330173311733217333173341733517336173371733817339173401734117342173431734417345173461734717348173491735017351173521735317354173551735617357173581735917360173611736217363173641736517366173671736817369173701737117372173731737417375173761737717378173791738017381173821738317384173851738617387173881738917390173911739217393173941739517396173971739817399174001740117402174031740417405174061740717408174091741017411174121741317414174151741617417174181741917420174211742217423174241742517426174271742817429174301743117432174331743417435174361743717438174391744017441174421744317444174451744617447174481744917450174511745217453174541745517456174571745817459174601746117462174631746417465174661746717468174691747017471174721747317474174751747617477174781747917480174811748217483174841748517486174871748817489174901749117492174931749417495174961749717498174991750017501175021750317504175051750617507175081750917510175111751217513175141751517516175171751817519175201752117522175231752417525175261752717528175291753017531175321753317534175351753617537175381753917540175411754217543175441754517546175471754817549175501755117552175531755417555175561755717558175591756017561175621756317564175651756617567175681756917570175711757217573175741757517576175771757817579175801758117582175831758417585175861758717588175891759017591175921759317594175951759617597175981759917600176011760217603176041760517606176071760817609176101761117612176131761417615176161761717618176191762017621176221762317624176251762617627176281762917630176311763217633176341763517636176371763817639176401764117642176431764417645176461764717648176491765017651176521765317654176551765617657176581765917660176611766217663176641766517666176671766817669176701767117672176731767417675176761767717678176791768017681176821768317684176851768617687176881768917690176911769217693176941769517696176971769817699177001770117702177031770417705177061770717708177091771017711177121771317714177151771617717177181771917720177211772217723177241772517726177271772817729177301773117732177331773417735177361773717738177391774017741177421774317744177451774617747177481774917750177511775217753177541775517756177571775817759177601776117762177631776417765177661776717768177691777017771177721777317774177751777617777177781777917780177811778217783177841778517786177871778817789177901779117792177931779417795177961779717798177991780017801178021780317804178051780617807178081780917810178111781217813178141781517816178171781817819178201782117822178231782417825178261782717828178291783017831178321783317834178351783617837178381783917840178411784217843178441784517846178471784817849178501785117852178531785417855178561785717858178591786017861178621786317864178651786617867178681786917870178711787217873178741787517876178771787817879178801788117882178831788417885178861788717888178891789017891178921789317894178951789617897178981789917900179011790217903179041790517906179071790817909179101791117912179131791417915179161791717918179191792017921179221792317924179251792617927179281792917930179311793217933179341793517936179371793817939179401794117942179431794417945179461794717948179491795017951179521795317954179551795617957179581795917960179611796217963179641796517966179671796817969179701797117972179731797417975179761797717978179791798017981179821798317984179851798617987179881798917990179911799217993179941799517996179971799817999180001800118002180031800418005180061800718008180091801018011180121801318014180151801618017180181801918020180211802218023180241802518026180271802818029180301803118032180331803418035180361803718038180391804018041180421804318044180451804618047180481804918050180511805218053180541805518056180571805818059180601806118062180631806418065180661806718068180691807018071180721807318074180751807618077180781807918080180811808218083180841808518086180871808818089180901809118092180931809418095180961809718098180991810018101181021810318104181051810618107181081810918110181111811218113181141811518116181171811818119181201812118122181231812418125181261812718128181291813018131181321813318134181351813618137181381813918140181411814218143181441814518146181471814818149181501815118152181531815418155181561815718158181591816018161181621816318164181651816618167181681816918170181711817218173181741817518176181771817818179181801818118182181831818418185181861818718188181891819018191181921819318194181951819618197181981819918200182011820218203182041820518206182071820818209182101821118212182131821418215182161821718218182191822018221182221822318224182251822618227182281822918230182311823218233182341823518236182371823818239182401824118242182431824418245182461824718248182491825018251182521825318254182551825618257182581825918260182611826218263182641826518266182671826818269182701827118272182731827418275182761827718278182791828018281182821828318284182851828618287182881828918290182911829218293182941829518296182971829818299183001830118302183031830418305183061830718308183091831018311183121831318314183151831618317183181831918320183211832218323183241832518326183271832818329183301833118332183331833418335183361833718338183391834018341183421834318344183451834618347183481834918350183511835218353183541835518356183571835818359183601836118362183631836418365183661836718368183691837018371183721837318374183751837618377183781837918380183811838218383183841838518386183871838818389183901839118392183931839418395183961839718398183991840018401184021840318404184051840618407184081840918410184111841218413184141841518416184171841818419184201842118422184231842418425184261842718428184291843018431184321843318434184351843618437184381843918440184411844218443184441844518446184471844818449184501845118452184531845418455184561845718458184591846018461184621846318464184651846618467184681846918470184711847218473184741847518476184771847818479184801848118482184831848418485184861848718488184891849018491184921849318494184951849618497184981849918500185011850218503185041850518506185071850818509185101851118512185131851418515185161851718518185191852018521185221852318524185251852618527185281852918530185311853218533185341853518536185371853818539185401854118542185431854418545185461854718548185491855018551185521855318554185551855618557185581855918560185611856218563185641856518566185671856818569185701857118572185731857418575185761857718578185791858018581185821858318584185851858618587185881858918590185911859218593185941859518596185971859818599186001860118602186031860418605186061860718608186091861018611186121861318614186151861618617186181861918620186211862218623186241862518626186271862818629186301863118632186331863418635186361863718638186391864018641186421864318644186451864618647186481864918650186511865218653186541865518656186571865818659186601866118662186631866418665186661866718668186691867018671186721867318674186751867618677186781867918680186811868218683186841868518686186871868818689186901869118692186931869418695186961869718698186991870018701187021870318704187051870618707187081870918710187111871218713187141871518716187171871818719187201872118722187231872418725187261872718728187291873018731187321873318734187351873618737187381873918740187411874218743187441874518746187471874818749187501875118752187531875418755187561875718758187591876018761187621876318764187651876618767187681876918770187711877218773187741877518776187771877818779187801878118782187831878418785187861878718788187891879018791187921879318794187951879618797187981879918800188011880218803188041880518806188071880818809188101881118812188131881418815188161881718818188191882018821188221882318824188251882618827188281882918830188311883218833188341883518836188371883818839188401884118842188431884418845188461884718848188491885018851188521885318854188551885618857188581885918860188611886218863188641886518866188671886818869188701887118872188731887418875188761887718878188791888018881188821888318884188851888618887188881888918890188911889218893188941889518896188971889818899189001890118902189031890418905189061890718908189091891018911189121891318914189151891618917189181891918920189211892218923189241892518926189271892818929189301893118932189331893418935189361893718938189391894018941189421894318944189451894618947189481894918950189511895218953189541895518956189571895818959189601896118962189631896418965189661896718968189691897018971189721897318974189751897618977189781897918980189811898218983189841898518986189871898818989189901899118992189931899418995189961899718998189991900019001190021900319004190051900619007190081900919010190111901219013190141901519016190171901819019190201902119022190231902419025190261902719028190291903019031190321903319034190351903619037190381903919040190411904219043190441904519046190471904819049190501905119052190531905419055190561905719058190591906019061190621906319064190651906619067190681906919070190711907219073190741907519076190771907819079190801908119082190831908419085190861908719088190891909019091190921909319094190951909619097190981909919100191011910219103191041910519106191071910819109191101911119112191131911419115191161911719118191191912019121191221912319124191251912619127191281912919130191311913219133191341913519136191371913819139191401914119142191431914419145191461914719148191491915019151191521915319154191551915619157191581915919160191611916219163191641916519166191671916819169191701917119172191731917419175191761917719178191791918019181191821918319184191851918619187191881918919190191911919219193191941919519196191971919819199192001920119202192031920419205192061920719208192091921019211192121921319214192151921619217192181921919220192211922219223192241922519226192271922819229192301923119232192331923419235192361923719238192391924019241192421924319244192451924619247192481924919250192511925219253192541925519256192571925819259192601926119262192631926419265192661926719268192691927019271192721927319274192751927619277192781927919280192811928219283192841928519286192871928819289192901929119292192931929419295192961929719298192991930019301193021930319304193051930619307193081930919310193111931219313193141931519316193171931819319193201932119322193231932419325193261932719328193291933019331193321933319334193351933619337193381933919340193411934219343193441934519346193471934819349193501935119352193531935419355193561935719358193591936019361193621936319364193651936619367193681936919370193711937219373193741937519376193771937819379193801938119382193831938419385193861938719388193891939019391193921939319394193951939619397193981939919400194011940219403194041940519406194071940819409194101941119412194131941419415194161941719418194191942019421194221942319424194251942619427194281942919430194311943219433194341943519436194371943819439194401944119442194431944419445194461944719448194491945019451194521945319454194551945619457194581945919460194611946219463194641946519466194671946819469194701947119472194731947419475194761947719478194791948019481194821948319484194851948619487194881948919490194911949219493194941949519496194971949819499195001950119502195031950419505195061950719508195091951019511195121951319514195151951619517195181951919520195211952219523195241952519526195271952819529195301953119532195331953419535195361953719538195391954019541195421954319544195451954619547195481954919550195511955219553195541955519556195571955819559195601956119562195631956419565195661956719568195691957019571195721957319574195751957619577195781957919580195811958219583195841958519586195871958819589195901959119592195931959419595195961959719598195991960019601196021960319604196051960619607196081960919610196111961219613196141961519616196171961819619196201962119622196231962419625196261962719628196291963019631196321963319634196351963619637196381963919640196411964219643196441964519646196471964819649196501965119652196531965419655196561965719658196591966019661196621966319664196651966619667196681966919670196711967219673196741967519676196771967819679196801968119682196831968419685196861968719688196891969019691196921969319694196951969619697196981969919700197011970219703197041970519706197071970819709197101971119712197131971419715197161971719718197191972019721197221972319724197251972619727197281972919730197311973219733197341973519736197371973819739197401974119742197431974419745197461974719748197491975019751197521975319754197551975619757197581975919760197611976219763197641976519766197671976819769197701977119772197731977419775197761977719778197791978019781197821978319784197851978619787197881978919790197911979219793197941979519796197971979819799198001980119802198031980419805198061980719808198091981019811198121981319814198151981619817198181981919820198211982219823198241982519826198271982819829198301983119832198331983419835198361983719838198391984019841198421984319844198451984619847198481984919850198511985219853198541985519856198571985819859198601986119862198631986419865198661986719868198691987019871198721987319874198751987619877198781987919880198811988219883198841988519886198871988819889198901989119892198931989419895198961989719898198991990019901199021990319904199051990619907199081990919910199111991219913199141991519916199171991819919199201992119922199231992419925199261992719928199291993019931199321993319934199351993619937199381993919940199411994219943199441994519946199471994819949199501995119952199531995419955199561995719958199591996019961199621996319964199651996619967199681996919970199711997219973199741997519976199771997819979199801998119982199831998419985199861998719988199891999019991199921999319994199951999619997199981999920000200012000220003200042000520006200072000820009200102001120012200132001420015200162001720018200192002020021200222002320024200252002620027200282002920030200312003220033200342003520036200372003820039200402004120042200432004420045200462004720048200492005020051200522005320054200552005620057200582005920060200612006220063200642006520066200672006820069200702007120072200732007420075200762007720078200792008020081200822008320084200852008620087200882008920090200912009220093200942009520096200972009820099201002010120102201032010420105201062010720108201092011020111201122011320114201152011620117201182011920120201212012220123201242012520126201272012820129201302013120132201332013420135201362013720138201392014020141201422014320144201452014620147201482014920150201512015220153201542015520156201572015820159201602016120162201632016420165201662016720168201692017020171201722017320174201752017620177201782017920180201812018220183201842018520186201872018820189201902019120192201932019420195201962019720198201992020020201202022020320204202052020620207202082020920210202112021220213202142021520216202172021820219202202022120222202232022420225202262022720228202292023020231202322023320234202352023620237202382023920240202412024220243202442024520246202472024820249202502025120252202532025420255202562025720258202592026020261202622026320264202652026620267202682026920270202712027220273202742027520276202772027820279202802028120282202832028420285202862028720288202892029020291202922029320294202952029620297202982029920300203012030220303203042030520306203072030820309203102031120312203132031420315203162031720318203192032020321203222032320324203252032620327203282032920330203312033220333203342033520336203372033820339203402034120342203432034420345203462034720348203492035020351203522035320354203552035620357203582035920360203612036220363203642036520366203672036820369203702037120372203732037420375203762037720378203792038020381203822038320384203852038620387203882038920390203912039220393203942039520396203972039820399204002040120402204032040420405204062040720408204092041020411204122041320414204152041620417204182041920420204212042220423204242042520426204272042820429204302043120432204332043420435204362043720438204392044020441204422044320444204452044620447204482044920450204512045220453204542045520456204572045820459204602046120462204632046420465204662046720468204692047020471204722047320474204752047620477204782047920480204812048220483204842048520486204872048820489204902049120492204932049420495204962049720498204992050020501205022050320504205052050620507205082050920510205112051220513205142051520516205172051820519205202052120522205232052420525205262052720528205292053020531205322053320534205352053620537205382053920540205412054220543205442054520546205472054820549205502055120552205532055420555205562055720558205592056020561205622056320564205652056620567205682056920570205712057220573205742057520576205772057820579205802058120582205832058420585205862058720588205892059020591205922059320594205952059620597205982059920600206012060220603206042060520606206072060820609206102061120612206132061420615206162061720618206192062020621206222062320624206252062620627206282062920630206312063220633206342063520636206372063820639206402064120642206432064420645206462064720648206492065020651206522065320654206552065620657206582065920660206612066220663206642066520666206672066820669206702067120672206732067420675206762067720678206792068020681206822068320684206852068620687206882068920690206912069220693206942069520696206972069820699207002070120702207032070420705207062070720708207092071020711207122071320714207152071620717207182071920720207212072220723207242072520726207272072820729207302073120732207332073420735207362073720738207392074020741207422074320744207452074620747207482074920750207512075220753207542075520756207572075820759207602076120762207632076420765207662076720768207692077020771207722077320774207752077620777207782077920780207812078220783207842078520786207872078820789207902079120792207932079420795207962079720798207992080020801208022080320804208052080620807208082080920810208112081220813208142081520816208172081820819208202082120822208232082420825208262082720828208292083020831208322083320834208352083620837208382083920840208412084220843208442084520846208472084820849208502085120852208532085420855208562085720858208592086020861208622086320864208652086620867208682086920870208712087220873208742087520876208772087820879208802088120882208832088420885208862088720888208892089020891208922089320894208952089620897208982089920900209012090220903209042090520906209072090820909209102091120912209132091420915209162091720918209192092020921209222092320924209252092620927209282092920930209312093220933209342093520936209372093820939209402094120942209432094420945209462094720948209492095020951209522095320954209552095620957209582095920960209612096220963209642096520966209672096820969209702097120972209732097420975209762097720978209792098020981209822098320984209852098620987209882098920990209912099220993209942099520996209972099820999210002100121002210032100421005210062100721008210092101021011210122101321014210152101621017210182101921020210212102221023210242102521026210272102821029210302103121032210332103421035210362103721038210392104021041210422104321044210452104621047210482104921050210512105221053210542105521056210572105821059210602106121062210632106421065210662106721068210692107021071210722107321074210752107621077210782107921080210812108221083210842108521086210872108821089210902109121092210932109421095210962109721098210992110021101211022110321104211052110621107211082110921110211112111221113211142111521116211172111821119211202112121122211232112421125211262112721128211292113021131211322113321134211352113621137211382113921140211412114221143211442114521146211472114821149211502115121152211532115421155211562115721158211592116021161211622116321164211652116621167211682116921170211712117221173211742117521176211772117821179211802118121182211832118421185211862118721188211892119021191211922119321194211952119621197211982119921200212012120221203212042120521206212072120821209212102121121212212132121421215212162121721218212192122021221212222122321224212252122621227212282122921230212312123221233212342123521236212372123821239212402124121242212432124421245212462124721248212492125021251212522125321254212552125621257212582125921260212612126221263212642126521266212672126821269212702127121272212732127421275212762127721278212792128021281212822128321284212852128621287212882128921290212912129221293212942129521296212972129821299213002130121302213032130421305213062130721308213092131021311213122131321314213152131621317213182131921320213212132221323213242132521326213272132821329213302133121332213332133421335213362133721338213392134021341213422134321344213452134621347213482134921350213512135221353213542135521356213572135821359213602136121362213632136421365213662136721368213692137021371213722137321374213752137621377213782137921380213812138221383213842138521386213872138821389213902139121392213932139421395213962139721398213992140021401214022140321404214052140621407214082140921410214112141221413214142141521416214172141821419214202142121422214232142421425214262142721428214292143021431214322143321434214352143621437214382143921440214412144221443214442144521446214472144821449214502145121452214532145421455214562145721458214592146021461214622146321464214652146621467214682146921470214712147221473214742147521476214772147821479214802148121482214832148421485214862148721488214892149021491214922149321494214952149621497214982149921500215012150221503215042150521506215072150821509215102151121512215132151421515215162151721518215192152021521215222152321524215252152621527215282152921530215312153221533215342153521536215372153821539215402154121542215432154421545215462154721548215492155021551215522155321554215552155621557215582155921560215612156221563215642156521566215672156821569215702157121572215732157421575215762157721578215792158021581215822158321584215852158621587215882158921590215912159221593215942159521596215972159821599216002160121602216032160421605216062160721608216092161021611216122161321614216152161621617216182161921620216212162221623216242162521626216272162821629216302163121632216332163421635216362163721638216392164021641216422164321644216452164621647216482164921650216512165221653216542165521656216572165821659216602166121662216632166421665216662166721668216692167021671216722167321674216752167621677216782167921680216812168221683216842168521686216872168821689216902169121692216932169421695216962169721698216992170021701217022170321704217052170621707217082170921710217112171221713217142171521716217172171821719217202172121722217232172421725217262172721728217292173021731217322173321734217352173621737217382173921740217412174221743217442174521746217472174821749217502175121752217532175421755217562175721758217592176021761217622176321764217652176621767217682176921770217712177221773217742177521776217772177821779217802178121782217832178421785217862178721788217892179021791217922179321794217952179621797217982179921800218012180221803218042180521806218072180821809218102181121812218132181421815218162181721818218192182021821218222182321824218252182621827218282182921830218312183221833218342183521836218372183821839218402184121842218432184421845218462184721848218492185021851218522185321854218552185621857218582185921860218612186221863218642186521866218672186821869218702187121872218732187421875218762187721878218792188021881218822188321884218852188621887218882188921890218912189221893218942189521896218972189821899219002190121902219032190421905219062190721908219092191021911219122191321914219152191621917219182191921920219212192221923219242192521926219272192821929219302193121932219332193421935219362193721938219392194021941219422194321944219452194621947219482194921950219512195221953219542195521956219572195821959219602196121962219632196421965219662196721968219692197021971219722197321974219752197621977219782197921980219812198221983219842198521986219872198821989219902199121992219932199421995219962199721998219992200022001220022200322004220052200622007220082200922010220112201222013220142201522016220172201822019220202202122022220232202422025220262202722028220292203022031220322203322034220352203622037220382203922040220412204222043220442204522046220472204822049220502205122052220532205422055220562205722058220592206022061220622206322064220652206622067220682206922070220712207222073220742207522076220772207822079220802208122082220832208422085220862208722088220892209022091220922209322094220952209622097220982209922100221012210222103221042210522106221072210822109221102211122112221132211422115221162211722118221192212022121221222212322124221252212622127221282212922130221312213222133221342213522136221372213822139221402214122142221432214422145221462214722148221492215022151221522215322154221552215622157221582215922160221612216222163221642216522166221672216822169221702217122172221732217422175221762217722178221792218022181221822218322184221852218622187221882218922190221912219222193221942219522196221972219822199222002220122202222032220422205222062220722208222092221022211222122221322214222152221622217222182221922220222212222222223222242222522226222272222822229222302223122232222332223422235222362223722238222392224022241222422224322244222452224622247222482224922250222512225222253222542225522256222572225822259222602226122262222632226422265222662226722268222692227022271222722227322274222752227622277222782227922280222812228222283222842228522286222872228822289222902229122292222932229422295222962229722298222992230022301223022230322304223052230622307223082230922310223112231222313223142231522316223172231822319223202232122322223232232422325223262232722328223292233022331223322233322334223352233622337223382233922340223412234222343223442234522346223472234822349223502235122352223532235422355223562235722358223592236022361223622236322364223652236622367223682236922370223712237222373223742237522376223772237822379223802238122382223832238422385223862238722388223892239022391223922239322394223952239622397223982239922400224012240222403224042240522406224072240822409224102241122412224132241422415224162241722418224192242022421224222242322424224252242622427224282242922430224312243222433224342243522436224372243822439224402244122442224432244422445224462244722448224492245022451224522245322454224552245622457224582245922460224612246222463224642246522466224672246822469224702247122472224732247422475224762247722478224792248022481224822248322484224852248622487224882248922490224912249222493224942249522496224972249822499225002250122502225032250422505225062250722508225092251022511225122251322514225152251622517225182251922520225212252222523225242252522526225272252822529225302253122532225332253422535225362253722538225392254022541225422254322544225452254622547225482254922550225512255222553225542255522556225572255822559225602256122562225632256422565225662256722568225692257022571225722257322574225752257622577225782257922580225812258222583225842258522586225872258822589225902259122592225932259422595225962259722598225992260022601226022260322604226052260622607226082260922610226112261222613226142261522616226172261822619226202262122622226232262422625226262262722628226292263022631226322263322634226352263622637226382263922640226412264222643226442264522646226472264822649226502265122652226532265422655226562265722658226592266022661226622266322664226652266622667226682266922670226712267222673226742267522676226772267822679226802268122682226832268422685226862268722688226892269022691226922269322694226952269622697226982269922700227012270222703227042270522706227072270822709227102271122712227132271422715227162271722718227192272022721227222272322724227252272622727227282272922730227312273222733227342273522736227372273822739227402274122742227432274422745227462274722748227492275022751227522275322754227552275622757227582275922760227612276222763227642276522766227672276822769227702277122772227732277422775227762277722778227792278022781227822278322784227852278622787227882278922790227912279222793227942279522796227972279822799228002280122802228032280422805228062280722808228092281022811228122281322814228152281622817228182281922820228212282222823228242282522826228272282822829228302283122832228332283422835228362283722838228392284022841228422284322844228452284622847228482284922850228512285222853228542285522856228572285822859228602286122862228632286422865228662286722868228692287022871228722287322874228752287622877228782287922880228812288222883228842288522886228872288822889228902289122892228932289422895228962289722898228992290022901229022290322904229052290622907229082290922910229112291222913229142291522916229172291822919229202292122922229232292422925229262292722928229292293022931229322293322934229352293622937229382293922940229412294222943229442294522946229472294822949229502295122952229532295422955229562295722958229592296022961229622296322964229652296622967229682296922970229712297222973229742297522976229772297822979229802298122982229832298422985229862298722988229892299022991229922299322994229952299622997229982299923000230012300223003230042300523006230072300823009230102301123012230132301423015230162301723018230192302023021230222302323024230252302623027230282302923030230312303223033230342303523036230372303823039230402304123042230432304423045230462304723048230492305023051230522305323054230552305623057230582305923060230612306223063230642306523066230672306823069230702307123072230732307423075230762307723078230792308023081230822308323084230852308623087230882308923090230912309223093230942309523096230972309823099231002310123102231032310423105231062310723108231092311023111231122311323114231152311623117231182311923120231212312223123231242312523126231272312823129231302313123132231332313423135231362313723138231392314023141231422314323144231452314623147231482314923150231512315223153231542315523156231572315823159231602316123162231632316423165231662316723168231692317023171231722317323174231752317623177231782317923180231812318223183231842318523186231872318823189231902319123192231932319423195231962319723198231992320023201232022320323204232052320623207232082320923210232112321223213232142321523216232172321823219232202322123222232232322423225232262322723228232292323023231232322323323234232352323623237232382323923240232412324223243232442324523246232472324823249232502325123252232532325423255232562325723258232592326023261232622326323264232652326623267232682326923270232712327223273232742327523276232772327823279232802328123282232832328423285232862328723288232892329023291232922329323294232952329623297232982329923300233012330223303233042330523306233072330823309233102331123312233132331423315233162331723318233192332023321233222332323324233252332623327233282332923330233312333223333233342333523336233372333823339233402334123342233432334423345233462334723348233492335023351233522335323354233552335623357233582335923360233612336223363233642336523366233672336823369233702337123372233732337423375233762337723378233792338023381233822338323384233852338623387233882338923390233912339223393233942339523396233972339823399234002340123402234032340423405234062340723408234092341023411234122341323414234152341623417234182341923420234212342223423234242342523426234272342823429234302343123432234332343423435234362343723438234392344023441234422344323444234452344623447234482344923450234512345223453234542345523456234572345823459234602346123462234632346423465234662346723468234692347023471234722347323474234752347623477234782347923480234812348223483234842348523486234872348823489234902349123492234932349423495234962349723498234992350023501235022350323504235052350623507235082350923510235112351223513235142351523516235172351823519235202352123522235232352423525235262352723528235292353023531235322353323534235352353623537235382353923540235412354223543235442354523546235472354823549235502355123552235532355423555235562355723558235592356023561235622356323564235652356623567235682356923570235712357223573235742357523576235772357823579235802358123582235832358423585235862358723588235892359023591235922359323594235952359623597235982359923600236012360223603236042360523606236072360823609236102361123612236132361423615236162361723618236192362023621236222362323624236252362623627236282362923630236312363223633236342363523636236372363823639236402364123642236432364423645236462364723648236492365023651236522365323654236552365623657236582365923660236612366223663236642366523666236672366823669236702367123672236732367423675236762367723678236792368023681236822368323684236852368623687236882368923690236912369223693236942369523696236972369823699237002370123702237032370423705237062370723708237092371023711237122371323714237152371623717237182371923720237212372223723237242372523726237272372823729237302373123732237332373423735237362373723738237392374023741237422374323744237452374623747237482374923750237512375223753237542375523756237572375823759237602376123762237632376423765237662376723768237692377023771237722377323774237752377623777237782377923780237812378223783237842378523786237872378823789237902379123792237932379423795237962379723798237992380023801238022380323804238052380623807238082380923810238112381223813238142381523816238172381823819238202382123822238232382423825238262382723828238292383023831238322383323834238352383623837238382383923840238412384223843238442384523846238472384823849238502385123852238532385423855238562385723858238592386023861238622386323864238652386623867238682386923870238712387223873238742387523876238772387823879238802388123882238832388423885238862388723888238892389023891238922389323894238952389623897238982389923900239012390223903239042390523906239072390823909239102391123912239132391423915239162391723918239192392023921239222392323924239252392623927239282392923930239312393223933239342393523936239372393823939239402394123942239432394423945239462394723948239492395023951239522395323954239552395623957239582395923960239612396223963239642396523966239672396823969239702397123972239732397423975239762397723978239792398023981239822398323984239852398623987239882398923990239912399223993239942399523996239972399823999240002400124002240032400424005240062400724008240092401024011240122401324014240152401624017240182401924020240212402224023240242402524026240272402824029240302403124032240332403424035240362403724038240392404024041240422404324044240452404624047240482404924050240512405224053240542405524056240572405824059240602406124062240632406424065240662406724068240692407024071240722407324074240752407624077240782407924080240812408224083240842408524086240872408824089240902409124092240932409424095240962409724098240992410024101241022410324104241052410624107241082410924110241112411224113241142411524116241172411824119241202412124122241232412424125241262412724128241292413024131241322413324134241352413624137241382413924140241412414224143241442414524146241472414824149241502415124152241532415424155241562415724158241592416024161241622416324164241652416624167241682416924170241712417224173241742417524176241772417824179241802418124182241832418424185241862418724188241892419024191241922419324194241952419624197241982419924200242012420224203242042420524206242072420824209242102421124212242132421424215242162421724218242192422024221242222422324224242252422624227242282422924230242312423224233242342423524236242372423824239242402424124242242432424424245242462424724248242492425024251242522425324254242552425624257242582425924260242612426224263242642426524266242672426824269242702427124272242732427424275242762427724278242792428024281242822428324284242852428624287242882428924290242912429224293242942429524296242972429824299243002430124302243032430424305243062430724308243092431024311243122431324314243152431624317243182431924320243212432224323243242432524326243272432824329243302433124332243332433424335243362433724338243392434024341243422434324344243452434624347243482434924350243512435224353243542435524356243572435824359243602436124362243632436424365243662436724368243692437024371243722437324374243752437624377243782437924380243812438224383243842438524386243872438824389243902439124392243932439424395243962439724398243992440024401244022440324404244052440624407244082440924410244112441224413244142441524416244172441824419244202442124422244232442424425244262442724428244292443024431244322443324434244352443624437244382443924440244412444224443244442444524446244472444824449244502445124452244532445424455244562445724458244592446024461244622446324464244652446624467244682446924470244712447224473244742447524476244772447824479244802448124482244832448424485244862448724488244892449024491244922449324494244952449624497244982449924500245012450224503245042450524506245072450824509245102451124512245132451424515245162451724518245192452024521245222452324524245252452624527245282452924530245312453224533245342453524536245372453824539245402454124542245432454424545245462454724548245492455024551245522455324554245552455624557245582455924560245612456224563245642456524566245672456824569245702457124572245732457424575245762457724578245792458024581245822458324584245852458624587245882458924590245912459224593245942459524596245972459824599246002460124602246032460424605246062460724608246092461024611246122461324614246152461624617246182461924620246212462224623246242462524626246272462824629246302463124632246332463424635246362463724638246392464024641246422464324644246452464624647246482464924650246512465224653246542465524656246572465824659246602466124662246632466424665246662466724668246692467024671246722467324674246752467624677246782467924680246812468224683246842468524686246872468824689246902469124692246932469424695246962469724698246992470024701247022470324704247052470624707247082470924710247112471224713247142471524716247172471824719247202472124722247232472424725247262472724728247292473024731247322473324734247352473624737247382473924740247412474224743247442474524746247472474824749247502475124752247532475424755247562475724758247592476024761247622476324764247652476624767247682476924770247712477224773247742477524776247772477824779247802478124782247832478424785247862478724788247892479024791247922479324794247952479624797247982479924800248012480224803248042480524806248072480824809248102481124812248132481424815248162481724818248192482024821248222482324824248252482624827248282482924830248312483224833248342483524836248372483824839248402484124842248432484424845248462484724848248492485024851248522485324854248552485624857248582485924860248612486224863248642486524866248672486824869248702487124872248732487424875248762487724878248792488024881248822488324884248852488624887248882488924890248912489224893248942489524896248972489824899249002490124902249032490424905249062490724908249092491024911249122491324914249152491624917249182491924920249212492224923249242492524926249272492824929249302493124932249332493424935249362493724938249392494024941249422494324944249452494624947249482494924950249512495224953249542495524956249572495824959249602496124962249632496424965249662496724968249692497024971249722497324974249752497624977249782497924980249812498224983249842498524986249872498824989249902499124992249932499424995249962499724998249992500025001250022500325004250052500625007250082500925010250112501225013250142501525016250172501825019250202502125022250232502425025250262502725028250292503025031250322503325034250352503625037250382503925040250412504225043250442504525046250472504825049250502505125052250532505425055250562505725058250592506025061250622506325064250652506625067250682506925070250712507225073250742507525076250772507825079250802508125082250832508425085250862508725088250892509025091250922509325094250952509625097250982509925100251012510225103251042510525106251072510825109251102511125112251132511425115251162511725118251192512025121251222512325124251252512625127251282512925130251312513225133251342513525136251372513825139251402514125142251432514425145251462514725148251492515025151251522515325154251552515625157251582515925160251612516225163251642516525166251672516825169251702517125172251732517425175251762517725178251792518025181251822518325184251852518625187251882518925190251912519225193251942519525196251972519825199252002520125202252032520425205252062520725208252092521025211252122521325214252152521625217252182521925220252212522225223252242522525226252272522825229252302523125232252332523425235252362523725238252392524025241252422524325244252452524625247252482524925250252512525225253252542525525256252572525825259252602526125262252632526425265252662526725268252692527025271252722527325274252752527625277252782527925280252812528225283252842528525286252872528825289252902529125292252932529425295252962529725298252992530025301253022530325304253052530625307253082530925310253112531225313253142531525316253172531825319253202532125322253232532425325253262532725328253292533025331253322533325334253352533625337253382533925340253412534225343253442534525346253472534825349253502535125352253532535425355253562535725358253592536025361253622536325364253652536625367253682536925370253712537225373253742537525376253772537825379253802538125382253832538425385253862538725388253892539025391253922539325394253952539625397253982539925400254012540225403254042540525406254072540825409254102541125412254132541425415254162541725418254192542025421254222542325424254252542625427254282542925430254312543225433254342543525436254372543825439254402544125442254432544425445254462544725448254492545025451254522545325454254552545625457254582545925460254612546225463254642546525466254672546825469254702547125472254732547425475254762547725478254792548025481254822548325484254852548625487254882548925490254912549225493254942549525496254972549825499255002550125502255032550425505255062550725508255092551025511255122551325514255152551625517255182551925520255212552225523255242552525526255272552825529255302553125532255332553425535255362553725538255392554025541255422554325544255452554625547255482554925550255512555225553255542555525556255572555825559255602556125562255632556425565255662556725568255692557025571255722557325574255752557625577255782557925580255812558225583255842558525586255872558825589255902559125592255932559425595255962559725598255992560025601256022560325604256052560625607256082560925610256112561225613256142561525616256172561825619256202562125622256232562425625256262562725628256292563025631256322563325634256352563625637256382563925640256412564225643256442564525646256472564825649256502565125652256532565425655256562565725658256592566025661256622566325664256652566625667256682566925670256712567225673256742567525676256772567825679256802568125682256832568425685256862568725688256892569025691256922569325694256952569625697256982569925700257012570225703257042570525706257072570825709257102571125712257132571425715257162571725718257192572025721257222572325724257252572625727257282572925730257312573225733257342573525736257372573825739257402574125742257432574425745257462574725748257492575025751257522575325754257552575625757257582575925760257612576225763257642576525766257672576825769257702577125772257732577425775257762577725778257792578025781257822578325784257852578625787257882578925790257912579225793257942579525796257972579825799258002580125802258032580425805258062580725808258092581025811258122581325814258152581625817258182581925820258212582225823258242582525826258272582825829258302583125832258332583425835258362583725838258392584025841258422584325844258452584625847258482584925850258512585225853258542585525856258572585825859258602586125862258632586425865258662586725868258692587025871258722587325874258752587625877258782587925880258812588225883258842588525886258872588825889258902589125892258932589425895258962589725898258992590025901259022590325904259052590625907259082590925910259112591225913259142591525916259172591825919259202592125922259232592425925259262592725928259292593025931259322593325934259352593625937259382593925940259412594225943259442594525946259472594825949259502595125952259532595425955259562595725958259592596025961259622596325964259652596625967259682596925970259712597225973259742597525976259772597825979259802598125982259832598425985259862598725988259892599025991259922599325994259952599625997259982599926000260012600226003260042600526006260072600826009260102601126012260132601426015260162601726018260192602026021260222602326024260252602626027260282602926030260312603226033260342603526036260372603826039260402604126042260432604426045260462604726048260492605026051260522605326054260552605626057260582605926060260612606226063260642606526066260672606826069260702607126072260732607426075260762607726078260792608026081260822608326084260852608626087260882608926090260912609226093260942609526096260972609826099261002610126102261032610426105261062610726108261092611026111261122611326114261152611626117261182611926120261212612226123261242612526126261272612826129261302613126132261332613426135261362613726138261392614026141261422614326144261452614626147261482614926150261512615226153261542615526156261572615826159261602616126162261632616426165261662616726168261692617026171261722617326174261752617626177261782617926180261812618226183261842618526186261872618826189261902619126192261932619426195261962619726198261992620026201262022620326204262052620626207262082620926210262112621226213262142621526216262172621826219262202622126222262232622426225262262622726228262292623026231262322623326234262352623626237262382623926240262412624226243262442624526246262472624826249262502625126252262532625426255262562625726258262592626026261262622626326264262652626626267262682626926270262712627226273262742627526276262772627826279262802628126282262832628426285262862628726288262892629026291262922629326294262952629626297262982629926300263012630226303263042630526306263072630826309263102631126312263132631426315263162631726318263192632026321263222632326324263252632626327263282632926330263312633226333263342633526336263372633826339263402634126342263432634426345263462634726348263492635026351263522635326354263552635626357263582635926360263612636226363263642636526366263672636826369263702637126372263732637426375263762637726378263792638026381263822638326384263852638626387263882638926390263912639226393263942639526396263972639826399264002640126402264032640426405264062640726408264092641026411264122641326414264152641626417264182641926420264212642226423264242642526426264272642826429264302643126432264332643426435264362643726438264392644026441264422644326444264452644626447264482644926450264512645226453264542645526456264572645826459264602646126462264632646426465264662646726468264692647026471264722647326474264752647626477264782647926480264812648226483264842648526486264872648826489264902649126492264932649426495264962649726498264992650026501265022650326504265052650626507265082650926510265112651226513265142651526516265172651826519265202652126522265232652426525265262652726528265292653026531265322653326534265352653626537265382653926540265412654226543265442654526546265472654826549265502655126552265532655426555265562655726558265592656026561265622656326564265652656626567265682656926570265712657226573265742657526576265772657826579265802658126582265832658426585265862658726588265892659026591265922659326594265952659626597265982659926600266012660226603266042660526606266072660826609266102661126612266132661426615266162661726618266192662026621266222662326624266252662626627266282662926630266312663226633266342663526636266372663826639266402664126642266432664426645266462664726648266492665026651266522665326654266552665626657266582665926660266612666226663266642666526666266672666826669266702667126672266732667426675266762667726678266792668026681266822668326684266852668626687266882668926690266912669226693266942669526696266972669826699267002670126702267032670426705267062670726708267092671026711267122671326714267152671626717267182671926720267212672226723267242672526726267272672826729267302673126732267332673426735267362673726738267392674026741267422674326744267452674626747267482674926750267512675226753267542675526756267572675826759267602676126762267632676426765267662676726768267692677026771267722677326774267752677626777267782677926780267812678226783267842678526786267872678826789267902679126792267932679426795267962679726798267992680026801268022680326804268052680626807268082680926810268112681226813268142681526816268172681826819268202682126822268232682426825268262682726828268292683026831268322683326834268352683626837268382683926840268412684226843268442684526846268472684826849268502685126852268532685426855268562685726858268592686026861268622686326864268652686626867268682686926870268712687226873268742687526876268772687826879268802688126882268832688426885268862688726888268892689026891268922689326894268952689626897268982689926900269012690226903269042690526906269072690826909269102691126912269132691426915269162691726918269192692026921269222692326924269252692626927269282692926930269312693226933269342693526936269372693826939269402694126942269432694426945269462694726948269492695026951269522695326954269552695626957269582695926960269612696226963269642696526966269672696826969269702697126972269732697426975269762697726978269792698026981269822698326984269852698626987269882698926990269912699226993269942699526996269972699826999270002700127002270032700427005270062700727008270092701027011270122701327014270152701627017270182701927020270212702227023270242702527026270272702827029270302703127032270332703427035270362703727038270392704027041270422704327044270452704627047270482704927050270512705227053270542705527056270572705827059270602706127062270632706427065270662706727068270692707027071270722707327074270752707627077270782707927080270812708227083270842708527086270872708827089270902709127092270932709427095270962709727098270992710027101271022710327104271052710627107271082710927110271112711227113271142711527116271172711827119271202712127122271232712427125271262712727128271292713027131271322713327134271352713627137271382713927140271412714227143271442714527146271472714827149271502715127152271532715427155271562715727158271592716027161271622716327164271652716627167271682716927170271712717227173271742717527176271772717827179271802718127182271832718427185271862718727188271892719027191271922719327194271952719627197271982719927200272012720227203272042720527206272072720827209272102721127212272132721427215272162721727218272192722027221272222722327224272252722627227272282722927230272312723227233272342723527236272372723827239272402724127242272432724427245272462724727248272492725027251272522725327254272552725627257272582725927260272612726227263272642726527266272672726827269272702727127272272732727427275272762727727278272792728027281272822728327284272852728627287272882728927290272912729227293272942729527296272972729827299273002730127302273032730427305273062730727308273092731027311273122731327314273152731627317273182731927320273212732227323273242732527326273272732827329273302733127332273332733427335273362733727338273392734027341273422734327344273452734627347273482734927350273512735227353273542735527356273572735827359273602736127362273632736427365273662736727368273692737027371273722737327374273752737627377273782737927380273812738227383273842738527386273872738827389273902739127392273932739427395273962739727398273992740027401274022740327404274052740627407274082740927410274112741227413274142741527416274172741827419274202742127422274232742427425274262742727428274292743027431274322743327434274352743627437274382743927440274412744227443274442744527446274472744827449274502745127452274532745427455274562745727458274592746027461274622746327464274652746627467274682746927470274712747227473274742747527476274772747827479274802748127482274832748427485274862748727488274892749027491274922749327494274952749627497274982749927500275012750227503275042750527506275072750827509275102751127512275132751427515275162751727518275192752027521275222752327524275252752627527275282752927530275312753227533275342753527536275372753827539275402754127542275432754427545275462754727548275492755027551275522755327554275552755627557275582755927560275612756227563275642756527566275672756827569275702757127572275732757427575275762757727578275792758027581275822758327584275852758627587275882758927590275912759227593275942759527596275972759827599276002760127602276032760427605276062760727608276092761027611276122761327614276152761627617276182761927620276212762227623276242762527626276272762827629276302763127632276332763427635276362763727638276392764027641276422764327644276452764627647276482764927650276512765227653276542765527656276572765827659276602766127662276632766427665276662766727668276692767027671276722767327674276752767627677276782767927680276812768227683276842768527686276872768827689276902769127692276932769427695276962769727698276992770027701277022770327704277052770627707277082770927710277112771227713277142771527716277172771827719277202772127722277232772427725277262772727728277292773027731277322773327734277352773627737277382773927740277412774227743277442774527746277472774827749277502775127752277532775427755277562775727758277592776027761277622776327764277652776627767277682776927770277712777227773277742777527776277772777827779277802778127782277832778427785277862778727788277892779027791277922779327794277952779627797277982779927800278012780227803278042780527806278072780827809278102781127812278132781427815278162781727818278192782027821278222782327824278252782627827278282782927830278312783227833278342783527836278372783827839278402784127842278432784427845278462784727848278492785027851278522785327854278552785627857278582785927860278612786227863278642786527866278672786827869278702787127872278732787427875278762787727878278792788027881278822788327884278852788627887278882788927890278912789227893278942789527896278972789827899279002790127902279032790427905279062790727908279092791027911279122791327914279152791627917279182791927920279212792227923279242792527926279272792827929279302793127932279332793427935279362793727938279392794027941279422794327944279452794627947279482794927950279512795227953279542795527956279572795827959279602796127962279632796427965279662796727968279692797027971279722797327974279752797627977279782797927980279812798227983279842798527986279872798827989279902799127992279932799427995279962799727998279992800028001280022800328004280052800628007280082800928010280112801228013280142801528016280172801828019280202802128022280232802428025280262802728028280292803028031280322803328034280352803628037280382803928040280412804228043280442804528046280472804828049280502805128052280532805428055280562805728058280592806028061280622806328064280652806628067280682806928070280712807228073280742807528076280772807828079280802808128082280832808428085280862808728088280892809028091280922809328094280952809628097280982809928100281012810228103281042810528106281072810828109281102811128112281132811428115281162811728118281192812028121281222812328124281252812628127281282812928130281312813228133281342813528136281372813828139281402814128142281432814428145281462814728148281492815028151281522815328154281552815628157281582815928160281612816228163281642816528166281672816828169281702817128172281732817428175281762817728178281792818028181281822818328184281852818628187281882818928190281912819228193281942819528196281972819828199282002820128202282032820428205282062820728208282092821028211282122821328214282152821628217282182821928220282212822228223282242822528226282272822828229282302823128232282332823428235282362823728238282392824028241282422824328244282452824628247282482824928250282512825228253282542825528256282572825828259282602826128262282632826428265282662826728268282692827028271282722827328274282752827628277282782827928280282812828228283282842828528286282872828828289282902829128292282932829428295282962829728298282992830028301283022830328304283052830628307283082830928310283112831228313283142831528316283172831828319283202832128322283232832428325283262832728328283292833028331283322833328334283352833628337283382833928340283412834228343283442834528346283472834828349283502835128352283532835428355283562835728358283592836028361283622836328364283652836628367283682836928370283712837228373283742837528376283772837828379283802838128382283832838428385283862838728388283892839028391283922839328394283952839628397283982839928400284012840228403284042840528406284072840828409284102841128412284132841428415284162841728418284192842028421284222842328424284252842628427284282842928430284312843228433284342843528436284372843828439284402844128442284432844428445284462844728448284492845028451284522845328454284552845628457284582845928460284612846228463284642846528466284672846828469284702847128472284732847428475284762847728478284792848028481284822848328484284852848628487284882848928490284912849228493284942849528496284972849828499285002850128502285032850428505285062850728508285092851028511285122851328514285152851628517285182851928520285212852228523285242852528526285272852828529285302853128532285332853428535285362853728538285392854028541285422854328544285452854628547285482854928550285512855228553285542855528556285572855828559285602856128562285632856428565285662856728568285692857028571285722857328574285752857628577285782857928580285812858228583285842858528586285872858828589285902859128592285932859428595285962859728598285992860028601286022860328604286052860628607286082860928610286112861228613286142861528616286172861828619286202862128622286232862428625286262862728628286292863028631286322863328634286352863628637286382863928640286412864228643286442864528646286472864828649286502865128652286532865428655286562865728658286592866028661286622866328664286652866628667286682866928670286712867228673286742867528676286772867828679286802868128682286832868428685286862868728688286892869028691286922869328694286952869628697286982869928700287012870228703287042870528706287072870828709287102871128712287132871428715287162871728718287192872028721287222872328724287252872628727287282872928730287312873228733287342873528736287372873828739287402874128742287432874428745287462874728748287492875028751287522875328754287552875628757287582875928760287612876228763287642876528766287672876828769287702877128772287732877428775287762877728778287792878028781287822878328784287852878628787287882878928790287912879228793287942879528796287972879828799288002880128802288032880428805288062880728808288092881028811288122881328814288152881628817288182881928820288212882228823288242882528826288272882828829288302883128832288332883428835288362883728838288392884028841288422884328844288452884628847288482884928850288512885228853288542885528856288572885828859288602886128862288632886428865288662886728868288692887028871288722887328874288752887628877288782887928880288812888228883288842888528886288872888828889288902889128892288932889428895288962889728898288992890028901289022890328904289052890628907289082890928910289112891228913289142891528916289172891828919289202892128922289232892428925289262892728928289292893028931289322893328934289352893628937289382893928940289412894228943289442894528946289472894828949289502895128952289532895428955289562895728958289592896028961289622896328964289652896628967289682896928970289712897228973289742897528976289772897828979289802898128982289832898428985289862898728988289892899028991289922899328994289952899628997289982899929000290012900229003290042900529006290072900829009290102901129012290132901429015290162901729018290192902029021290222902329024290252902629027290282902929030290312903229033290342903529036290372903829039290402904129042290432904429045290462904729048290492905029051290522905329054290552905629057290582905929060290612906229063290642906529066290672906829069290702907129072290732907429075290762907729078290792908029081290822908329084290852908629087290882908929090290912909229093290942909529096290972909829099291002910129102291032910429105291062910729108291092911029111291122911329114291152911629117291182911929120291212912229123291242912529126291272912829129291302913129132291332913429135291362913729138291392914029141291422914329144291452914629147291482914929150291512915229153291542915529156291572915829159291602916129162291632916429165291662916729168291692917029171291722917329174291752917629177291782917929180291812918229183291842918529186291872918829189291902919129192291932919429195291962919729198291992920029201292022920329204292052920629207292082920929210292112921229213292142921529216292172921829219292202922129222292232922429225292262922729228292292923029231292322923329234292352923629237292382923929240292412924229243292442924529246292472924829249292502925129252292532925429255292562925729258292592926029261292622926329264292652926629267292682926929270292712927229273292742927529276292772927829279292802928129282292832928429285292862928729288292892929029291292922929329294292952929629297292982929929300293012930229303293042930529306293072930829309293102931129312293132931429315293162931729318293192932029321293222932329324293252932629327293282932929330293312933229333293342933529336293372933829339293402934129342293432934429345293462934729348293492935029351293522935329354293552935629357293582935929360293612936229363293642936529366293672936829369293702937129372293732937429375293762937729378293792938029381293822938329384293852938629387293882938929390293912939229393293942939529396293972939829399294002940129402294032940429405294062940729408294092941029411294122941329414294152941629417294182941929420294212942229423294242942529426294272942829429294302943129432294332943429435294362943729438294392944029441294422944329444294452944629447294482944929450294512945229453294542945529456294572945829459294602946129462294632946429465294662946729468294692947029471294722947329474294752947629477294782947929480294812948229483294842948529486294872948829489294902949129492294932949429495294962949729498294992950029501295022950329504295052950629507295082950929510295112951229513295142951529516295172951829519295202952129522295232952429525295262952729528295292953029531295322953329534295352953629537295382953929540295412954229543295442954529546295472954829549295502955129552295532955429555295562955729558295592956029561295622956329564295652956629567295682956929570295712957229573295742957529576295772957829579295802958129582295832958429585295862958729588295892959029591295922959329594295952959629597295982959929600296012960229603296042960529606296072960829609296102961129612296132961429615296162961729618296192962029621296222962329624296252962629627296282962929630296312963229633296342963529636296372963829639296402964129642296432964429645296462964729648296492965029651296522965329654296552965629657296582965929660296612966229663296642966529666296672966829669296702967129672296732967429675296762967729678296792968029681296822968329684296852968629687296882968929690296912969229693296942969529696296972969829699297002970129702297032970429705297062970729708297092971029711297122971329714297152971629717297182971929720297212972229723297242972529726297272972829729297302973129732297332973429735297362973729738297392974029741297422974329744297452974629747297482974929750297512975229753297542975529756297572975829759297602976129762297632976429765297662976729768297692977029771297722977329774297752977629777297782977929780297812978229783297842978529786297872978829789297902979129792297932979429795297962979729798297992980029801298022980329804298052980629807298082980929810298112981229813298142981529816298172981829819298202982129822298232982429825298262982729828298292983029831298322983329834298352983629837298382983929840298412984229843298442984529846298472984829849298502985129852298532985429855298562985729858298592986029861298622986329864298652986629867298682986929870298712987229873298742987529876298772987829879298802988129882298832988429885298862988729888298892989029891298922989329894298952989629897298982989929900299012990229903299042990529906299072990829909299102991129912299132991429915299162991729918299192992029921299222992329924299252992629927299282992929930299312993229933299342993529936299372993829939299402994129942299432994429945299462994729948299492995029951299522995329954299552995629957299582995929960299612996229963299642996529966299672996829969299702997129972299732997429975299762997729978299792998029981299822998329984299852998629987299882998929990299912999229993299942999529996299972999829999300003000130002300033000430005300063000730008300093001030011300123001330014300153001630017300183001930020300213002230023300243002530026300273002830029300303003130032300333003430035300363003730038300393004030041300423004330044300453004630047300483004930050300513005230053300543005530056300573005830059300603006130062300633006430065300663006730068300693007030071300723007330074300753007630077300783007930080300813008230083300843008530086300873008830089300903009130092300933009430095300963009730098300993010030101301023010330104301053010630107301083010930110301113011230113301143011530116301173011830119301203012130122301233012430125301263012730128301293013030131301323013330134301353013630137301383013930140301413014230143301443014530146301473014830149301503015130152301533015430155301563015730158301593016030161301623016330164301653016630167301683016930170301713017230173301743017530176301773017830179301803018130182301833018430185301863018730188301893019030191301923019330194301953019630197301983019930200302013020230203302043020530206302073020830209302103021130212302133021430215302163021730218302193022030221302223022330224302253022630227302283022930230302313023230233302343023530236302373023830239302403024130242302433024430245302463024730248302493025030251302523025330254302553025630257302583025930260302613026230263302643026530266302673026830269302703027130272302733027430275302763027730278302793028030281302823028330284302853028630287302883028930290302913029230293302943029530296302973029830299303003030130302303033030430305303063030730308303093031030311303123031330314303153031630317303183031930320303213032230323303243032530326303273032830329303303033130332303333033430335303363033730338303393034030341303423034330344303453034630347303483034930350303513035230353303543035530356303573035830359303603036130362303633036430365303663036730368303693037030371303723037330374303753037630377303783037930380303813038230383303843038530386303873038830389303903039130392303933039430395303963039730398303993040030401304023040330404304053040630407304083040930410304113041230413304143041530416304173041830419304203042130422304233042430425304263042730428304293043030431304323043330434304353043630437304383043930440304413044230443304443044530446304473044830449304503045130452304533045430455304563045730458304593046030461304623046330464304653046630467304683046930470304713047230473304743047530476304773047830479304803048130482304833048430485304863048730488304893049030491304923049330494304953049630497304983049930500305013050230503305043050530506305073050830509305103051130512305133051430515305163051730518305193052030521305223052330524305253052630527305283052930530305313053230533305343053530536305373053830539305403054130542305433054430545305463054730548305493055030551305523055330554305553055630557305583055930560305613056230563305643056530566305673056830569305703057130572305733057430575305763057730578305793058030581305823058330584305853058630587305883058930590305913059230593305943059530596305973059830599306003060130602306033060430605306063060730608306093061030611306123061330614306153061630617306183061930620306213062230623306243062530626306273062830629306303063130632306333063430635306363063730638306393064030641306423064330644306453064630647306483064930650306513065230653306543065530656306573065830659306603066130662306633066430665306663066730668306693067030671306723067330674306753067630677306783067930680306813068230683306843068530686306873068830689306903069130692306933069430695306963069730698306993070030701307023070330704307053070630707307083070930710307113071230713307143071530716307173071830719307203072130722307233072430725307263072730728307293073030731307323073330734307353073630737307383073930740307413074230743307443074530746307473074830749307503075130752307533075430755307563075730758307593076030761307623076330764307653076630767307683076930770307713077230773307743077530776307773077830779307803078130782307833078430785307863078730788307893079030791307923079330794307953079630797307983079930800308013080230803308043080530806308073080830809308103081130812308133081430815308163081730818308193082030821308223082330824308253082630827308283082930830308313083230833308343083530836308373083830839308403084130842308433084430845308463084730848308493085030851308523085330854308553085630857308583085930860308613086230863308643086530866308673086830869308703087130872308733087430875308763087730878308793088030881308823088330884308853088630887308883088930890308913089230893308943089530896308973089830899309003090130902309033090430905309063090730908309093091030911309123091330914309153091630917309183091930920309213092230923309243092530926309273092830929309303093130932309333093430935309363093730938309393094030941309423094330944309453094630947309483094930950309513095230953309543095530956309573095830959309603096130962309633096430965309663096730968309693097030971309723097330974309753097630977309783097930980309813098230983309843098530986309873098830989309903099130992309933099430995309963099730998309993100031001310023100331004310053100631007310083100931010310113101231013310143101531016310173101831019310203102131022310233102431025310263102731028310293103031031310323103331034310353103631037310383103931040310413104231043310443104531046310473104831049310503105131052310533105431055310563105731058310593106031061310623106331064310653106631067310683106931070310713107231073310743107531076310773107831079310803108131082310833108431085310863108731088310893109031091310923109331094310953109631097310983109931100311013110231103311043110531106311073110831109311103111131112311133111431115311163111731118311193112031121311223112331124311253112631127311283112931130311313113231133311343113531136311373113831139311403114131142311433114431145311463114731148311493115031151311523115331154311553115631157311583115931160311613116231163311643116531166311673116831169311703117131172311733117431175311763117731178311793118031181311823118331184311853118631187311883118931190311913119231193311943119531196311973119831199312003120131202312033120431205312063120731208312093121031211312123121331214312153121631217312183121931220312213122231223312243122531226312273122831229312303123131232312333123431235312363123731238312393124031241312423124331244312453124631247312483124931250312513125231253312543125531256312573125831259312603126131262312633126431265312663126731268312693127031271312723127331274312753127631277312783127931280312813128231283312843128531286312873128831289312903129131292312933129431295312963129731298312993130031301313023130331304313053130631307313083130931310313113131231313313143131531316313173131831319313203132131322313233132431325313263132731328313293133031331313323133331334313353133631337313383133931340313413134231343313443134531346313473134831349313503135131352313533135431355313563135731358313593136031361313623136331364313653136631367313683136931370313713137231373313743137531376313773137831379313803138131382313833138431385313863138731388313893139031391313923139331394313953139631397313983139931400314013140231403314043140531406314073140831409314103141131412314133141431415314163141731418314193142031421314223142331424314253142631427314283142931430314313143231433314343143531436314373143831439314403144131442314433144431445314463144731448314493145031451314523145331454314553145631457314583145931460314613146231463314643146531466314673146831469314703147131472314733147431475314763147731478314793148031481314823148331484314853148631487314883148931490314913149231493314943149531496314973149831499315003150131502315033150431505315063150731508315093151031511315123151331514315153151631517315183151931520315213152231523315243152531526315273152831529315303153131532315333153431535315363153731538315393154031541315423154331544315453154631547315483154931550315513155231553315543155531556315573155831559315603156131562315633156431565315663156731568315693157031571315723157331574315753157631577315783157931580315813158231583315843158531586315873158831589315903159131592315933159431595315963159731598315993160031601316023160331604316053160631607316083160931610316113161231613316143161531616316173161831619316203162131622316233162431625316263162731628316293163031631316323163331634316353163631637316383163931640316413164231643316443164531646316473164831649316503165131652316533165431655316563165731658316593166031661316623166331664316653166631667316683166931670316713167231673316743167531676316773167831679316803168131682316833168431685316863168731688316893169031691316923169331694316953169631697316983169931700317013170231703317043170531706317073170831709317103171131712317133171431715317163171731718317193172031721317223172331724317253172631727317283172931730317313173231733317343173531736317373173831739317403174131742317433174431745317463174731748317493175031751317523175331754317553175631757317583175931760317613176231763317643176531766317673176831769317703177131772317733177431775317763177731778317793178031781317823178331784317853178631787317883178931790317913179231793317943179531796317973179831799318003180131802318033180431805318063180731808318093181031811318123181331814318153181631817318183181931820318213182231823318243182531826318273182831829318303183131832318333183431835318363183731838318393184031841318423184331844318453184631847318483184931850318513185231853318543185531856318573185831859318603186131862318633186431865318663186731868318693187031871318723187331874318753187631877318783187931880318813188231883318843188531886318873188831889318903189131892318933189431895318963189731898318993190031901319023190331904319053190631907319083190931910319113191231913319143191531916319173191831919319203192131922319233192431925319263192731928319293193031931319323193331934319353193631937319383193931940319413194231943319443194531946319473194831949319503195131952319533195431955319563195731958319593196031961319623196331964319653196631967319683196931970319713197231973319743197531976319773197831979319803198131982319833198431985319863198731988319893199031991319923199331994319953199631997319983199932000320013200232003320043200532006320073200832009320103201132012320133201432015320163201732018320193202032021320223202332024320253202632027320283202932030320313203232033320343203532036320373203832039320403204132042320433204432045320463204732048320493205032051320523205332054320553205632057320583205932060320613206232063320643206532066320673206832069320703207132072320733207432075320763207732078320793208032081320823208332084320853208632087320883208932090320913209232093320943209532096320973209832099321003210132102321033210432105321063210732108321093211032111321123211332114321153211632117321183211932120321213212232123321243212532126321273212832129321303213132132321333213432135321363213732138321393214032141321423214332144321453214632147321483214932150321513215232153321543215532156321573215832159321603216132162321633216432165321663216732168321693217032171321723217332174321753217632177321783217932180321813218232183321843218532186321873218832189321903219132192321933219432195321963219732198321993220032201322023220332204322053220632207322083220932210322113221232213322143221532216322173221832219322203222132222322233222432225322263222732228322293223032231322323223332234322353223632237322383223932240322413224232243322443224532246322473224832249322503225132252322533225432255322563225732258322593226032261322623226332264322653226632267322683226932270322713227232273322743227532276322773227832279322803228132282322833228432285322863228732288322893229032291322923229332294322953229632297322983229932300323013230232303323043230532306323073230832309323103231132312323133231432315323163231732318323193232032321323223232332324323253232632327323283232932330323313233232333323343233532336323373233832339323403234132342323433234432345323463234732348323493235032351323523235332354323553235632357323583235932360323613236232363323643236532366323673236832369323703237132372323733237432375323763237732378323793238032381323823238332384323853238632387323883238932390323913239232393323943239532396323973239832399324003240132402324033240432405324063240732408324093241032411324123241332414324153241632417324183241932420324213242232423324243242532426324273242832429324303243132432324333243432435324363243732438324393244032441324423244332444324453244632447324483244932450324513245232453324543245532456324573245832459324603246132462324633246432465324663246732468324693247032471324723247332474324753247632477324783247932480324813248232483324843248532486324873248832489324903249132492324933249432495324963249732498324993250032501325023250332504325053250632507325083250932510325113251232513325143251532516325173251832519325203252132522325233252432525325263252732528325293253032531325323253332534325353253632537325383253932540325413254232543325443254532546325473254832549325503255132552325533255432555325563255732558325593256032561325623256332564325653256632567325683256932570325713257232573325743257532576325773257832579325803258132582325833258432585325863258732588325893259032591325923259332594325953259632597325983259932600326013260232603326043260532606326073260832609326103261132612326133261432615326163261732618326193262032621326223262332624326253262632627326283262932630326313263232633326343263532636326373263832639326403264132642326433264432645326463264732648326493265032651326523265332654326553265632657326583265932660326613266232663326643266532666326673266832669326703267132672326733267432675326763267732678326793268032681326823268332684326853268632687326883268932690326913269232693326943269532696326973269832699327003270132702327033270432705327063270732708327093271032711327123271332714327153271632717327183271932720327213272232723327243272532726327273272832729327303273132732327333273432735327363273732738327393274032741327423274332744327453274632747327483274932750327513275232753327543275532756327573275832759327603276132762327633276432765327663276732768327693277032771327723277332774327753277632777327783277932780327813278232783327843278532786327873278832789327903279132792327933279432795327963279732798327993280032801328023280332804328053280632807328083280932810328113281232813328143281532816328173281832819328203282132822328233282432825328263282732828328293283032831328323283332834328353283632837328383283932840328413284232843328443284532846328473284832849328503285132852328533285432855328563285732858328593286032861328623286332864328653286632867328683286932870328713287232873328743287532876328773287832879328803288132882328833288432885328863288732888328893289032891328923289332894328953289632897328983289932900329013290232903329043290532906329073290832909329103291132912329133291432915329163291732918329193292032921329223292332924329253292632927329283292932930329313293232933329343293532936329373293832939329403294132942329433294432945329463294732948329493295032951329523295332954329553295632957329583295932960329613296232963329643296532966329673296832969329703297132972329733297432975329763297732978329793298032981329823298332984329853298632987329883298932990329913299232993329943299532996329973299832999330003300133002330033300433005330063300733008330093301033011330123301333014330153301633017330183301933020330213302233023330243302533026330273302833029330303303133032330333303433035330363303733038330393304033041330423304333044330453304633047330483304933050330513305233053330543305533056330573305833059330603306133062330633306433065330663306733068330693307033071330723307333074330753307633077330783307933080330813308233083330843308533086330873308833089330903309133092330933309433095330963309733098330993310033101331023310333104331053310633107331083310933110331113311233113331143311533116331173311833119331203312133122331233312433125331263312733128331293313033131331323313333134331353313633137331383313933140331413314233143331443314533146331473314833149331503315133152331533315433155331563315733158331593316033161331623316333164331653316633167331683316933170331713317233173331743317533176331773317833179331803318133182331833318433185331863318733188331893319033191331923319333194331953319633197331983319933200332013320233203332043320533206332073320833209332103321133212332133321433215332163321733218332193322033221332223322333224332253322633227332283322933230332313323233233332343323533236332373323833239332403324133242332433324433245332463324733248332493325033251332523325333254332553325633257332583325933260332613326233263332643326533266332673326833269332703327133272332733327433275332763327733278332793328033281332823328333284332853328633287332883328933290332913329233293332943329533296332973329833299333003330133302333033330433305333063330733308333093331033311333123331333314333153331633317333183331933320333213332233323333243332533326333273332833329333303333133332333333333433335333363333733338333393334033341333423334333344333453334633347333483334933350333513335233353333543335533356333573335833359333603336133362333633336433365333663336733368333693337033371333723337333374333753337633377333783337933380333813338233383333843338533386333873338833389333903339133392333933339433395333963339733398333993340033401334023340333404334053340633407334083340933410334113341233413334143341533416334173341833419334203342133422334233342433425334263342733428334293343033431334323343333434334353343633437334383343933440334413344233443334443344533446334473344833449334503345133452334533345433455334563345733458334593346033461334623346333464334653346633467334683346933470334713347233473334743347533476334773347833479334803348133482334833348433485334863348733488334893349033491334923349333494334953349633497334983349933500335013350233503335043350533506335073350833509335103351133512335133351433515335163351733518335193352033521335223352333524335253352633527335283352933530335313353233533335343353533536335373353833539335403354133542335433354433545335463354733548335493355033551335523355333554335553355633557335583355933560335613356233563335643356533566335673356833569335703357133572335733357433575335763357733578335793358033581335823358333584335853358633587335883358933590335913359233593335943359533596335973359833599336003360133602336033360433605336063360733608336093361033611336123361333614336153361633617336183361933620336213362233623336243362533626336273362833629336303363133632336333363433635336363363733638336393364033641336423364333644336453364633647336483364933650336513365233653336543365533656336573365833659336603366133662336633366433665336663366733668336693367033671336723367333674336753367633677336783367933680336813368233683336843368533686336873368833689336903369133692336933369433695336963369733698336993370033701337023370333704337053370633707337083370933710337113371233713337143371533716337173371833719337203372133722337233372433725337263372733728337293373033731337323373333734337353373633737337383373933740337413374233743337443374533746337473374833749337503375133752337533375433755337563375733758337593376033761337623376333764337653376633767337683376933770337713377233773337743377533776337773377833779337803378133782337833378433785337863378733788337893379033791337923379333794337953379633797337983379933800338013380233803338043380533806338073380833809338103381133812338133381433815338163381733818338193382033821338223382333824338253382633827338283382933830338313383233833338343383533836338373383833839338403384133842338433384433845338463384733848338493385033851338523385333854338553385633857338583385933860338613386233863338643386533866338673386833869338703387133872338733387433875338763387733878338793388033881338823388333884338853388633887338883388933890338913389233893338943389533896338973389833899339003390133902339033390433905339063390733908339093391033911339123391333914339153391633917339183391933920339213392233923339243392533926339273392833929339303393133932339333393433935339363393733938339393394033941339423394333944339453394633947339483394933950339513395233953339543395533956339573395833959339603396133962339633396433965339663396733968339693397033971339723397333974339753397633977339783397933980339813398233983339843398533986339873398833989339903399133992339933399433995339963399733998339993400034001340023400334004340053400634007340083400934010340113401234013340143401534016340173401834019340203402134022340233402434025340263402734028340293403034031340323403334034340353403634037340383403934040340413404234043340443404534046340473404834049340503405134052340533405434055340563405734058340593406034061340623406334064340653406634067340683406934070340713407234073340743407534076340773407834079340803408134082340833408434085340863408734088340893409034091340923409334094340953409634097340983409934100341013410234103341043410534106341073410834109341103411134112341133411434115341163411734118341193412034121341223412334124341253412634127341283412934130341313413234133341343413534136341373413834139341403414134142341433414434145341463414734148341493415034151341523415334154341553415634157341583415934160341613416234163341643416534166341673416834169341703417134172341733417434175341763417734178341793418034181341823418334184341853418634187341883418934190341913419234193341943419534196341973419834199342003420134202342033420434205342063420734208342093421034211342123421334214342153421634217342183421934220342213422234223342243422534226342273422834229342303423134232342333423434235342363423734238342393424034241342423424334244342453424634247342483424934250342513425234253342543425534256342573425834259342603426134262342633426434265342663426734268342693427034271342723427334274342753427634277342783427934280342813428234283342843428534286342873428834289342903429134292342933429434295342963429734298342993430034301343023430334304343053430634307343083430934310343113431234313343143431534316343173431834319343203432134322343233432434325343263432734328343293433034331343323433334334343353433634337343383433934340343413434234343343443434534346343473434834349343503435134352343533435434355343563435734358343593436034361343623436334364343653436634367343683436934370343713437234373343743437534376343773437834379343803438134382343833438434385343863438734388343893439034391343923439334394343953439634397343983439934400344013440234403344043440534406344073440834409344103441134412344133441434415344163441734418344193442034421344223442334424344253442634427344283442934430344313443234433344343443534436344373443834439344403444134442344433444434445344463444734448344493445034451344523445334454344553445634457344583445934460344613446234463344643446534466344673446834469344703447134472344733447434475344763447734478344793448034481344823448334484344853448634487344883448934490344913449234493344943449534496344973449834499345003450134502345033450434505345063450734508345093451034511345123451334514345153451634517345183451934520345213452234523345243452534526345273452834529345303453134532345333453434535345363453734538345393454034541345423454334544345453454634547345483454934550345513455234553345543455534556345573455834559345603456134562345633456434565345663456734568345693457034571345723457334574345753457634577345783457934580345813458234583345843458534586345873458834589345903459134592345933459434595345963459734598345993460034601346023460334604346053460634607346083460934610346113461234613346143461534616346173461834619346203462134622346233462434625346263462734628346293463034631346323463334634346353463634637346383463934640346413464234643346443464534646346473464834649346503465134652346533465434655346563465734658346593466034661346623466334664346653466634667346683466934670346713467234673346743467534676346773467834679346803468134682346833468434685346863468734688346893469034691346923469334694346953469634697346983469934700347013470234703347043470534706347073470834709347103471134712347133471434715347163471734718347193472034721347223472334724347253472634727347283472934730347313473234733347343473534736347373473834739347403474134742347433474434745347463474734748347493475034751347523475334754347553475634757347583475934760347613476234763347643476534766347673476834769347703477134772347733477434775347763477734778347793478034781347823478334784347853478634787347883478934790347913479234793347943479534796347973479834799348003480134802348033480434805348063480734808348093481034811348123481334814348153481634817348183481934820348213482234823348243482534826348273482834829348303483134832348333483434835348363483734838348393484034841348423484334844348453484634847348483484934850348513485234853348543485534856348573485834859348603486134862348633486434865348663486734868348693487034871348723487334874348753487634877348783487934880348813488234883348843488534886348873488834889348903489134892348933489434895348963489734898348993490034901349023490334904349053490634907349083490934910349113491234913349143491534916349173491834919349203492134922349233492434925349263492734928349293493034931349323493334934349353493634937349383493934940349413494234943349443494534946349473494834949349503495134952349533495434955349563495734958349593496034961349623496334964349653496634967349683496934970349713497234973349743497534976349773497834979349803498134982349833498434985349863498734988349893499034991349923499334994349953499634997349983499935000350013500235003350043500535006350073500835009350103501135012350133501435015350163501735018350193502035021350223502335024350253502635027350283502935030350313503235033350343503535036350373503835039350403504135042350433504435045350463504735048350493505035051350523505335054350553505635057350583505935060350613506235063350643506535066350673506835069350703507135072350733507435075350763507735078350793508035081350823508335084350853508635087350883508935090350913509235093350943509535096350973509835099351003510135102351033510435105351063510735108351093511035111351123511335114351153511635117351183511935120351213512235123351243512535126351273512835129351303513135132351333513435135351363513735138351393514035141351423514335144351453514635147351483514935150351513515235153351543515535156351573515835159351603516135162351633516435165351663516735168351693517035171351723517335174351753517635177351783517935180351813518235183351843518535186351873518835189351903519135192351933519435195351963519735198351993520035201352023520335204352053520635207352083520935210352113521235213352143521535216352173521835219352203522135222352233522435225352263522735228352293523035231352323523335234352353523635237352383523935240352413524235243352443524535246352473524835249352503525135252352533525435255352563525735258352593526035261352623526335264352653526635267352683526935270352713527235273352743527535276352773527835279352803528135282352833528435285352863528735288352893529035291352923529335294352953529635297352983529935300353013530235303353043530535306353073530835309353103531135312353133531435315353163531735318353193532035321353223532335324353253532635327353283532935330353313533235333353343533535336353373533835339353403534135342353433534435345353463534735348353493535035351353523535335354353553535635357353583535935360353613536235363353643536535366353673536835369353703537135372353733537435375353763537735378353793538035381353823538335384353853538635387353883538935390353913539235393353943539535396353973539835399354003540135402354033540435405354063540735408354093541035411354123541335414354153541635417354183541935420354213542235423354243542535426354273542835429354303543135432354333543435435354363543735438354393544035441354423544335444354453544635447354483544935450354513545235453354543545535456354573545835459354603546135462354633546435465354663546735468354693547035471354723547335474354753547635477354783547935480354813548235483354843548535486354873548835489354903549135492354933549435495354963549735498354993550035501355023550335504355053550635507355083550935510355113551235513355143551535516355173551835519355203552135522355233552435525355263552735528355293553035531355323553335534355353553635537355383553935540355413554235543355443554535546355473554835549355503555135552355533555435555355563555735558355593556035561355623556335564355653556635567355683556935570355713557235573355743557535576355773557835579355803558135582355833558435585355863558735588355893559035591355923559335594355953559635597355983559935600356013560235603356043560535606356073560835609356103561135612356133561435615356163561735618356193562035621356223562335624356253562635627356283562935630356313563235633356343563535636356373563835639356403564135642356433564435645356463564735648356493565035651356523565335654356553565635657356583565935660356613566235663356643566535666356673566835669356703567135672356733567435675356763567735678356793568035681356823568335684356853568635687356883568935690356913569235693356943569535696356973569835699357003570135702357033570435705357063570735708357093571035711357123571335714357153571635717357183571935720357213572235723357243572535726357273572835729357303573135732357333573435735357363573735738357393574035741357423574335744357453574635747357483574935750357513575235753357543575535756357573575835759357603576135762357633576435765357663576735768357693577035771357723577335774357753577635777357783577935780357813578235783357843578535786357873578835789357903579135792357933579435795357963579735798357993580035801358023580335804358053580635807358083580935810358113581235813358143581535816358173581835819358203582135822358233582435825358263582735828358293583035831358323583335834358353583635837358383583935840358413584235843358443584535846358473584835849358503585135852358533585435855358563585735858358593586035861358623586335864358653586635867358683586935870358713587235873358743587535876358773587835879358803588135882358833588435885358863588735888358893589035891358923589335894358953589635897358983589935900359013590235903359043590535906359073590835909359103591135912359133591435915359163591735918359193592035921359223592335924359253592635927359283592935930359313593235933359343593535936359373593835939359403594135942359433594435945359463594735948359493595035951359523595335954359553595635957359583595935960359613596235963359643596535966359673596835969359703597135972359733597435975359763597735978359793598035981359823598335984359853598635987359883598935990359913599235993359943599535996359973599835999360003600136002360033600436005360063600736008360093601036011360123601336014360153601636017360183601936020360213602236023360243602536026360273602836029360303603136032360333603436035360363603736038360393604036041360423604336044360453604636047360483604936050360513605236053360543605536056360573605836059360603606136062360633606436065360663606736068360693607036071360723607336074360753607636077360783607936080360813608236083360843608536086360873608836089360903609136092360933609436095360963609736098360993610036101361023610336104361053610636107361083610936110361113611236113361143611536116361173611836119361203612136122361233612436125361263612736128361293613036131361323613336134361353613636137361383613936140361413614236143361443614536146361473614836149361503615136152361533615436155361563615736158361593616036161361623616336164361653616636167361683616936170361713617236173361743617536176361773617836179361803618136182361833618436185361863618736188361893619036191361923619336194361953619636197361983619936200362013620236203362043620536206362073620836209362103621136212362133621436215362163621736218362193622036221362223622336224362253622636227362283622936230362313623236233362343623536236362373623836239362403624136242362433624436245362463624736248362493625036251362523625336254362553625636257362583625936260362613626236263362643626536266362673626836269362703627136272362733627436275362763627736278362793628036281362823628336284362853628636287362883628936290362913629236293362943629536296362973629836299363003630136302363033630436305363063630736308363093631036311363123631336314363153631636317363183631936320363213632236323363243632536326363273632836329363303633136332363333633436335363363633736338363393634036341363423634336344363453634636347363483634936350363513635236353363543635536356363573635836359363603636136362363633636436365363663636736368363693637036371363723637336374363753637636377363783637936380363813638236383363843638536386363873638836389363903639136392363933639436395363963639736398363993640036401364023640336404364053640636407364083640936410364113641236413364143641536416364173641836419364203642136422364233642436425364263642736428364293643036431364323643336434364353643636437364383643936440364413644236443364443644536446364473644836449364503645136452364533645436455364563645736458364593646036461364623646336464364653646636467364683646936470364713647236473364743647536476364773647836479364803648136482364833648436485364863648736488364893649036491364923649336494364953649636497364983649936500365013650236503365043650536506365073650836509365103651136512365133651436515365163651736518365193652036521365223652336524365253652636527365283652936530365313653236533365343653536536365373653836539365403654136542365433654436545365463654736548365493655036551365523655336554365553655636557365583655936560365613656236563365643656536566365673656836569365703657136572365733657436575365763657736578365793658036581365823658336584365853658636587365883658936590365913659236593365943659536596365973659836599366003660136602366033660436605366063660736608366093661036611366123661336614366153661636617366183661936620366213662236623366243662536626366273662836629366303663136632366333663436635366363663736638366393664036641366423664336644366453664636647366483664936650366513665236653366543665536656366573665836659366603666136662366633666436665366663666736668366693667036671366723667336674366753667636677366783667936680366813668236683366843668536686366873668836689366903669136692366933669436695366963669736698366993670036701367023670336704367053670636707367083670936710367113671236713367143671536716367173671836719367203672136722367233672436725367263672736728367293673036731367323673336734367353673636737367383673936740367413674236743367443674536746367473674836749367503675136752367533675436755367563675736758367593676036761367623676336764367653676636767367683676936770367713677236773367743677536776367773677836779367803678136782367833678436785367863678736788367893679036791367923679336794367953679636797367983679936800368013680236803368043680536806368073680836809368103681136812368133681436815368163681736818368193682036821368223682336824368253682636827368283682936830368313683236833368343683536836368373683836839368403684136842368433684436845368463684736848368493685036851368523685336854368553685636857368583685936860368613686236863368643686536866368673686836869368703687136872368733687436875368763687736878368793688036881368823688336884368853688636887368883688936890368913689236893368943689536896368973689836899369003690136902369033690436905369063690736908369093691036911369123691336914369153691636917369183691936920369213692236923369243692536926369273692836929369303693136932369333693436935369363693736938369393694036941369423694336944369453694636947369483694936950369513695236953369543695536956369573695836959369603696136962369633696436965369663696736968369693697036971369723697336974369753697636977369783697936980369813698236983369843698536986369873698836989369903699136992369933699436995369963699736998369993700037001370023700337004370053700637007370083700937010370113701237013370143701537016370173701837019370203702137022370233702437025370263702737028370293703037031370323703337034370353703637037370383703937040370413704237043370443704537046370473704837049370503705137052370533705437055370563705737058370593706037061370623706337064370653706637067370683706937070370713707237073370743707537076370773707837079370803708137082370833708437085370863708737088370893709037091370923709337094370953709637097370983709937100371013710237103371043710537106371073710837109371103711137112371133711437115371163711737118371193712037121371223712337124371253712637127371283712937130371313713237133371343713537136371373713837139371403714137142371433714437145371463714737148371493715037151371523715337154371553715637157371583715937160371613716237163371643716537166371673716837169371703717137172371733717437175371763717737178371793718037181371823718337184371853718637187371883718937190371913719237193371943719537196371973719837199372003720137202372033720437205372063720737208372093721037211372123721337214372153721637217372183721937220372213722237223372243722537226372273722837229372303723137232372333723437235372363723737238372393724037241372423724337244372453724637247372483724937250372513725237253372543725537256372573725837259372603726137262372633726437265372663726737268372693727037271372723727337274372753727637277372783727937280372813728237283372843728537286372873728837289372903729137292372933729437295372963729737298372993730037301373023730337304373053730637307373083730937310373113731237313373143731537316373173731837319373203732137322373233732437325373263732737328373293733037331373323733337334373353733637337373383733937340373413734237343373443734537346373473734837349373503735137352373533735437355373563735737358373593736037361373623736337364373653736637367373683736937370373713737237373373743737537376373773737837379373803738137382373833738437385373863738737388373893739037391373923739337394373953739637397373983739937400374013740237403374043740537406374073740837409374103741137412374133741437415374163741737418374193742037421374223742337424374253742637427374283742937430374313743237433374343743537436374373743837439374403744137442374433744437445374463744737448374493745037451374523745337454374553745637457374583745937460374613746237463374643746537466374673746837469374703747137472374733747437475374763747737478374793748037481374823748337484374853748637487374883748937490374913749237493374943749537496374973749837499375003750137502375033750437505375063750737508375093751037511375123751337514375153751637517375183751937520375213752237523375243752537526375273752837529375303753137532375333753437535375363753737538375393754037541375423754337544375453754637547375483754937550375513755237553375543755537556375573755837559375603756137562375633756437565375663756737568375693757037571375723757337574375753757637577375783757937580375813758237583375843758537586375873758837589375903759137592375933759437595375963759737598375993760037601376023760337604
  1. // THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
  2. // Package ec2 provides a client for Amazon Elastic Compute Cloud.
  3. package ec2
  4. import (
  5. "fmt"
  6. "time"
  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 can be used to capture response data after the request's "Send" method
  16. // is called.
  17. //
  18. // See AcceptReservedInstancesExchangeQuote for usage and error information.
  19. //
  20. // Creating a request object using this method should be used when you want to inject
  21. // custom logic into the request's lifecycle using a custom handler, or if you want to
  22. // access properties on the request object before or after sending the request. If
  23. // you just want the service response, call the AcceptReservedInstancesExchangeQuote method directly
  24. // instead.
  25. //
  26. // Note: You must call the "Send" method on the returned request object in order
  27. // to execute the request.
  28. //
  29. // // Example sending a request using the AcceptReservedInstancesExchangeQuoteRequest method.
  30. // req, resp := client.AcceptReservedInstancesExchangeQuoteRequest(params)
  31. //
  32. // err := req.Send()
  33. // if err == nil { // resp is now filled
  34. // fmt.Println(resp)
  35. // }
  36. //
  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. req = c.newRequest(op, input, output)
  47. output = &AcceptReservedInstancesExchangeQuoteOutput{}
  48. req.Data = output
  49. return
  50. }
  51. // AcceptReservedInstancesExchangeQuote API operation for Amazon Elastic Compute Cloud.
  52. //
  53. // Purchases Convertible Reserved Instance offerings described in the GetReservedInstancesExchangeQuote
  54. // call.
  55. //
  56. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  57. // with awserr.Error's Code and Message methods to get detailed information about
  58. // the error.
  59. //
  60. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  61. // API operation AcceptReservedInstancesExchangeQuote for usage and error information.
  62. func (c *EC2) AcceptReservedInstancesExchangeQuote(input *AcceptReservedInstancesExchangeQuoteInput) (*AcceptReservedInstancesExchangeQuoteOutput, error) {
  63. req, out := c.AcceptReservedInstancesExchangeQuoteRequest(input)
  64. err := req.Send()
  65. return out, err
  66. }
  67. const opAcceptVpcPeeringConnection = "AcceptVpcPeeringConnection"
  68. // AcceptVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
  69. // client's request for the AcceptVpcPeeringConnection operation. The "output" return
  70. // value can be used to capture response data after the request's "Send" method
  71. // is called.
  72. //
  73. // See AcceptVpcPeeringConnection for usage and error information.
  74. //
  75. // Creating a request object using this method should be used when you want to inject
  76. // custom logic into the request's lifecycle using a custom handler, or if you want to
  77. // access properties on the request object before or after sending the request. If
  78. // you just want the service response, call the AcceptVpcPeeringConnection method directly
  79. // instead.
  80. //
  81. // Note: You must call the "Send" method on the returned request object in order
  82. // to execute the request.
  83. //
  84. // // Example sending a request using the AcceptVpcPeeringConnectionRequest method.
  85. // req, resp := client.AcceptVpcPeeringConnectionRequest(params)
  86. //
  87. // err := req.Send()
  88. // if err == nil { // resp is now filled
  89. // fmt.Println(resp)
  90. // }
  91. //
  92. func (c *EC2) AcceptVpcPeeringConnectionRequest(input *AcceptVpcPeeringConnectionInput) (req *request.Request, output *AcceptVpcPeeringConnectionOutput) {
  93. op := &request.Operation{
  94. Name: opAcceptVpcPeeringConnection,
  95. HTTPMethod: "POST",
  96. HTTPPath: "/",
  97. }
  98. if input == nil {
  99. input = &AcceptVpcPeeringConnectionInput{}
  100. }
  101. req = c.newRequest(op, input, output)
  102. output = &AcceptVpcPeeringConnectionOutput{}
  103. req.Data = output
  104. return
  105. }
  106. // AcceptVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
  107. //
  108. // Accept a VPC peering connection request. To accept a request, the VPC peering
  109. // connection must be in the pending-acceptance state, and you must be the owner
  110. // of the peer VPC. Use the DescribeVpcPeeringConnections request to view your
  111. // outstanding VPC peering connection requests.
  112. //
  113. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  114. // with awserr.Error's Code and Message methods to get detailed information about
  115. // the error.
  116. //
  117. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  118. // API operation AcceptVpcPeeringConnection for usage and error information.
  119. func (c *EC2) AcceptVpcPeeringConnection(input *AcceptVpcPeeringConnectionInput) (*AcceptVpcPeeringConnectionOutput, error) {
  120. req, out := c.AcceptVpcPeeringConnectionRequest(input)
  121. err := req.Send()
  122. return out, err
  123. }
  124. const opAllocateAddress = "AllocateAddress"
  125. // AllocateAddressRequest generates a "aws/request.Request" representing the
  126. // client's request for the AllocateAddress operation. The "output" return
  127. // value can be used to capture response data after the request's "Send" method
  128. // is called.
  129. //
  130. // See AllocateAddress for usage and error information.
  131. //
  132. // Creating a request object using this method should be used when you want to inject
  133. // custom logic into the request's lifecycle using a custom handler, or if you want to
  134. // access properties on the request object before or after sending the request. If
  135. // you just want the service response, call the AllocateAddress method directly
  136. // instead.
  137. //
  138. // Note: You must call the "Send" method on the returned request object in order
  139. // to execute the request.
  140. //
  141. // // Example sending a request using the AllocateAddressRequest method.
  142. // req, resp := client.AllocateAddressRequest(params)
  143. //
  144. // err := req.Send()
  145. // if err == nil { // resp is now filled
  146. // fmt.Println(resp)
  147. // }
  148. //
  149. func (c *EC2) AllocateAddressRequest(input *AllocateAddressInput) (req *request.Request, output *AllocateAddressOutput) {
  150. op := &request.Operation{
  151. Name: opAllocateAddress,
  152. HTTPMethod: "POST",
  153. HTTPPath: "/",
  154. }
  155. if input == nil {
  156. input = &AllocateAddressInput{}
  157. }
  158. req = c.newRequest(op, input, output)
  159. output = &AllocateAddressOutput{}
  160. req.Data = output
  161. return
  162. }
  163. // AllocateAddress API operation for Amazon Elastic Compute Cloud.
  164. //
  165. // Acquires an Elastic IP address.
  166. //
  167. // An Elastic IP address is for use either in the EC2-Classic platform or in
  168. // a VPC. For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  169. // in the Amazon Elastic Compute Cloud User Guide.
  170. //
  171. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  172. // with awserr.Error's Code and Message methods to get detailed information about
  173. // the error.
  174. //
  175. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  176. // API operation AllocateAddress for usage and error information.
  177. func (c *EC2) AllocateAddress(input *AllocateAddressInput) (*AllocateAddressOutput, error) {
  178. req, out := c.AllocateAddressRequest(input)
  179. err := req.Send()
  180. return out, err
  181. }
  182. const opAllocateHosts = "AllocateHosts"
  183. // AllocateHostsRequest generates a "aws/request.Request" representing the
  184. // client's request for the AllocateHosts operation. The "output" return
  185. // value can be used to capture response data after the request's "Send" method
  186. // is called.
  187. //
  188. // See AllocateHosts for usage and error information.
  189. //
  190. // Creating a request object using this method should be used when you want to inject
  191. // custom logic into the request's lifecycle using a custom handler, or if you want to
  192. // access properties on the request object before or after sending the request. If
  193. // you just want the service response, call the AllocateHosts method directly
  194. // instead.
  195. //
  196. // Note: You must call the "Send" method on the returned request object in order
  197. // to execute the request.
  198. //
  199. // // Example sending a request using the AllocateHostsRequest method.
  200. // req, resp := client.AllocateHostsRequest(params)
  201. //
  202. // err := req.Send()
  203. // if err == nil { // resp is now filled
  204. // fmt.Println(resp)
  205. // }
  206. //
  207. func (c *EC2) AllocateHostsRequest(input *AllocateHostsInput) (req *request.Request, output *AllocateHostsOutput) {
  208. op := &request.Operation{
  209. Name: opAllocateHosts,
  210. HTTPMethod: "POST",
  211. HTTPPath: "/",
  212. }
  213. if input == nil {
  214. input = &AllocateHostsInput{}
  215. }
  216. req = c.newRequest(op, input, output)
  217. output = &AllocateHostsOutput{}
  218. req.Data = output
  219. return
  220. }
  221. // AllocateHosts API operation for Amazon Elastic Compute Cloud.
  222. //
  223. // Allocates a Dedicated Host to your account. At minimum you need to specify
  224. // the instance size type, Availability Zone, and quantity of hosts you want
  225. // to allocate.
  226. //
  227. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  228. // with awserr.Error's Code and Message methods to get detailed information about
  229. // the error.
  230. //
  231. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  232. // API operation AllocateHosts for usage and error information.
  233. func (c *EC2) AllocateHosts(input *AllocateHostsInput) (*AllocateHostsOutput, error) {
  234. req, out := c.AllocateHostsRequest(input)
  235. err := req.Send()
  236. return out, err
  237. }
  238. const opAssignPrivateIpAddresses = "AssignPrivateIpAddresses"
  239. // AssignPrivateIpAddressesRequest generates a "aws/request.Request" representing the
  240. // client's request for the AssignPrivateIpAddresses operation. The "output" return
  241. // value can be used to capture response data after the request's "Send" method
  242. // is called.
  243. //
  244. // See AssignPrivateIpAddresses for usage and error information.
  245. //
  246. // Creating a request object using this method should be used when you want to inject
  247. // custom logic into the request's lifecycle using a custom handler, or if you want to
  248. // access properties on the request object before or after sending the request. If
  249. // you just want the service response, call the AssignPrivateIpAddresses method directly
  250. // instead.
  251. //
  252. // Note: You must call the "Send" method on the returned request object in order
  253. // to execute the request.
  254. //
  255. // // Example sending a request using the AssignPrivateIpAddressesRequest method.
  256. // req, resp := client.AssignPrivateIpAddressesRequest(params)
  257. //
  258. // err := req.Send()
  259. // if err == nil { // resp is now filled
  260. // fmt.Println(resp)
  261. // }
  262. //
  263. func (c *EC2) AssignPrivateIpAddressesRequest(input *AssignPrivateIpAddressesInput) (req *request.Request, output *AssignPrivateIpAddressesOutput) {
  264. op := &request.Operation{
  265. Name: opAssignPrivateIpAddresses,
  266. HTTPMethod: "POST",
  267. HTTPPath: "/",
  268. }
  269. if input == nil {
  270. input = &AssignPrivateIpAddressesInput{}
  271. }
  272. req = c.newRequest(op, input, output)
  273. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  274. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  275. output = &AssignPrivateIpAddressesOutput{}
  276. req.Data = output
  277. return
  278. }
  279. // AssignPrivateIpAddresses API operation for Amazon Elastic Compute Cloud.
  280. //
  281. // Assigns one or more secondary private IP addresses to the specified network
  282. // interface. You can specify one or more specific secondary IP addresses, or
  283. // you can specify the number of secondary IP addresses to be automatically
  284. // assigned within the subnet's CIDR block range. The number of secondary IP
  285. // addresses that you can assign to an instance varies by instance type. For
  286. // information about instance types, see Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
  287. // in the Amazon Elastic Compute Cloud User Guide. For more information about
  288. // Elastic IP addresses, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  289. // in the Amazon Elastic Compute Cloud User Guide.
  290. //
  291. // AssignPrivateIpAddresses is available only in EC2-VPC.
  292. //
  293. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  294. // with awserr.Error's Code and Message methods to get detailed information about
  295. // the error.
  296. //
  297. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  298. // API operation AssignPrivateIpAddresses for usage and error information.
  299. func (c *EC2) AssignPrivateIpAddresses(input *AssignPrivateIpAddressesInput) (*AssignPrivateIpAddressesOutput, error) {
  300. req, out := c.AssignPrivateIpAddressesRequest(input)
  301. err := req.Send()
  302. return out, err
  303. }
  304. const opAssociateAddress = "AssociateAddress"
  305. // AssociateAddressRequest generates a "aws/request.Request" representing the
  306. // client's request for the AssociateAddress operation. The "output" return
  307. // value can be used to capture response data after the request's "Send" method
  308. // is called.
  309. //
  310. // See AssociateAddress for usage and error information.
  311. //
  312. // Creating a request object using this method should be used when you want to inject
  313. // custom logic into the request's lifecycle using a custom handler, or if you want to
  314. // access properties on the request object before or after sending the request. If
  315. // you just want the service response, call the AssociateAddress method directly
  316. // instead.
  317. //
  318. // Note: You must call the "Send" method on the returned request object in order
  319. // to execute the request.
  320. //
  321. // // Example sending a request using the AssociateAddressRequest method.
  322. // req, resp := client.AssociateAddressRequest(params)
  323. //
  324. // err := req.Send()
  325. // if err == nil { // resp is now filled
  326. // fmt.Println(resp)
  327. // }
  328. //
  329. func (c *EC2) AssociateAddressRequest(input *AssociateAddressInput) (req *request.Request, output *AssociateAddressOutput) {
  330. op := &request.Operation{
  331. Name: opAssociateAddress,
  332. HTTPMethod: "POST",
  333. HTTPPath: "/",
  334. }
  335. if input == nil {
  336. input = &AssociateAddressInput{}
  337. }
  338. req = c.newRequest(op, input, output)
  339. output = &AssociateAddressOutput{}
  340. req.Data = output
  341. return
  342. }
  343. // AssociateAddress API operation for Amazon Elastic Compute Cloud.
  344. //
  345. // Associates an Elastic IP address with an instance or a network interface.
  346. //
  347. // An Elastic IP address is for use in either the EC2-Classic platform or in
  348. // a VPC. For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  349. // in the Amazon Elastic Compute Cloud User Guide.
  350. //
  351. // [EC2-Classic, VPC in an EC2-VPC-only account] If the Elastic IP address is
  352. // already associated with a different instance, it is disassociated from that
  353. // instance and associated with the specified instance.
  354. //
  355. // [VPC in an EC2-Classic account] If you don't specify a private IP address,
  356. // the Elastic IP address is associated with the primary IP address. If the
  357. // Elastic IP address is already associated with a different instance or a network
  358. // interface, you get an error unless you allow reassociation.
  359. //
  360. // This is an idempotent operation. If you perform the operation more than once,
  361. // Amazon EC2 doesn't return an error, and you may be charged for each time
  362. // the Elastic IP address is remapped to the same instance. For more information,
  363. // see the Elastic IP Addresses section of Amazon EC2 Pricing (http://aws.amazon.com/ec2/pricing/).
  364. //
  365. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  366. // with awserr.Error's Code and Message methods to get detailed information about
  367. // the error.
  368. //
  369. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  370. // API operation AssociateAddress for usage and error information.
  371. func (c *EC2) AssociateAddress(input *AssociateAddressInput) (*AssociateAddressOutput, error) {
  372. req, out := c.AssociateAddressRequest(input)
  373. err := req.Send()
  374. return out, err
  375. }
  376. const opAssociateDhcpOptions = "AssociateDhcpOptions"
  377. // AssociateDhcpOptionsRequest generates a "aws/request.Request" representing the
  378. // client's request for the AssociateDhcpOptions operation. The "output" return
  379. // value can be used to capture response data after the request's "Send" method
  380. // is called.
  381. //
  382. // See AssociateDhcpOptions for usage and error information.
  383. //
  384. // Creating a request object using this method should be used when you want to inject
  385. // custom logic into the request's lifecycle using a custom handler, or if you want to
  386. // access properties on the request object before or after sending the request. If
  387. // you just want the service response, call the AssociateDhcpOptions method directly
  388. // instead.
  389. //
  390. // Note: You must call the "Send" method on the returned request object in order
  391. // to execute the request.
  392. //
  393. // // Example sending a request using the AssociateDhcpOptionsRequest method.
  394. // req, resp := client.AssociateDhcpOptionsRequest(params)
  395. //
  396. // err := req.Send()
  397. // if err == nil { // resp is now filled
  398. // fmt.Println(resp)
  399. // }
  400. //
  401. func (c *EC2) AssociateDhcpOptionsRequest(input *AssociateDhcpOptionsInput) (req *request.Request, output *AssociateDhcpOptionsOutput) {
  402. op := &request.Operation{
  403. Name: opAssociateDhcpOptions,
  404. HTTPMethod: "POST",
  405. HTTPPath: "/",
  406. }
  407. if input == nil {
  408. input = &AssociateDhcpOptionsInput{}
  409. }
  410. req = c.newRequest(op, input, output)
  411. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  412. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  413. output = &AssociateDhcpOptionsOutput{}
  414. req.Data = output
  415. return
  416. }
  417. // AssociateDhcpOptions API operation for Amazon Elastic Compute Cloud.
  418. //
  419. // Associates a set of DHCP options (that you've previously created) with the
  420. // specified VPC, or associates no DHCP options with the VPC.
  421. //
  422. // After you associate the options with the VPC, any existing instances and
  423. // all new instances that you launch in that VPC use the options. You don't
  424. // need to restart or relaunch the instances. They automatically pick up the
  425. // changes within a few hours, depending on how frequently the instance renews
  426. // its DHCP lease. You can explicitly renew the lease using the operating system
  427. // on the instance.
  428. //
  429. // For more information, see DHCP Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
  430. // in the Amazon Virtual Private Cloud User Guide.
  431. //
  432. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  433. // with awserr.Error's Code and Message methods to get detailed information about
  434. // the error.
  435. //
  436. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  437. // API operation AssociateDhcpOptions for usage and error information.
  438. func (c *EC2) AssociateDhcpOptions(input *AssociateDhcpOptionsInput) (*AssociateDhcpOptionsOutput, error) {
  439. req, out := c.AssociateDhcpOptionsRequest(input)
  440. err := req.Send()
  441. return out, err
  442. }
  443. const opAssociateRouteTable = "AssociateRouteTable"
  444. // AssociateRouteTableRequest generates a "aws/request.Request" representing the
  445. // client's request for the AssociateRouteTable operation. The "output" return
  446. // value can be used to capture response data after the request's "Send" method
  447. // is called.
  448. //
  449. // See AssociateRouteTable for usage and error information.
  450. //
  451. // Creating a request object using this method should be used when you want to inject
  452. // custom logic into the request's lifecycle using a custom handler, or if you want to
  453. // access properties on the request object before or after sending the request. If
  454. // you just want the service response, call the AssociateRouteTable method directly
  455. // instead.
  456. //
  457. // Note: You must call the "Send" method on the returned request object in order
  458. // to execute the request.
  459. //
  460. // // Example sending a request using the AssociateRouteTableRequest method.
  461. // req, resp := client.AssociateRouteTableRequest(params)
  462. //
  463. // err := req.Send()
  464. // if err == nil { // resp is now filled
  465. // fmt.Println(resp)
  466. // }
  467. //
  468. func (c *EC2) AssociateRouteTableRequest(input *AssociateRouteTableInput) (req *request.Request, output *AssociateRouteTableOutput) {
  469. op := &request.Operation{
  470. Name: opAssociateRouteTable,
  471. HTTPMethod: "POST",
  472. HTTPPath: "/",
  473. }
  474. if input == nil {
  475. input = &AssociateRouteTableInput{}
  476. }
  477. req = c.newRequest(op, input, output)
  478. output = &AssociateRouteTableOutput{}
  479. req.Data = output
  480. return
  481. }
  482. // AssociateRouteTable API operation for Amazon Elastic Compute Cloud.
  483. //
  484. // Associates a subnet with a route table. The subnet and route table must be
  485. // in the same VPC. This association causes traffic originating from the subnet
  486. // to be routed according to the routes in the route table. The action returns
  487. // an association ID, which you need in order to disassociate the route table
  488. // from the subnet later. A route table can be associated with multiple subnets.
  489. //
  490. // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  491. // in the Amazon Virtual Private Cloud User Guide.
  492. //
  493. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  494. // with awserr.Error's Code and Message methods to get detailed information about
  495. // the error.
  496. //
  497. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  498. // API operation AssociateRouteTable for usage and error information.
  499. func (c *EC2) AssociateRouteTable(input *AssociateRouteTableInput) (*AssociateRouteTableOutput, error) {
  500. req, out := c.AssociateRouteTableRequest(input)
  501. err := req.Send()
  502. return out, err
  503. }
  504. const opAttachClassicLinkVpc = "AttachClassicLinkVpc"
  505. // AttachClassicLinkVpcRequest generates a "aws/request.Request" representing the
  506. // client's request for the AttachClassicLinkVpc operation. The "output" return
  507. // value can be used to capture response data after the request's "Send" method
  508. // is called.
  509. //
  510. // See AttachClassicLinkVpc for usage and error information.
  511. //
  512. // Creating a request object using this method should be used when you want to inject
  513. // custom logic into the request's lifecycle using a custom handler, or if you want to
  514. // access properties on the request object before or after sending the request. If
  515. // you just want the service response, call the AttachClassicLinkVpc method directly
  516. // instead.
  517. //
  518. // Note: You must call the "Send" method on the returned request object in order
  519. // to execute the request.
  520. //
  521. // // Example sending a request using the AttachClassicLinkVpcRequest method.
  522. // req, resp := client.AttachClassicLinkVpcRequest(params)
  523. //
  524. // err := req.Send()
  525. // if err == nil { // resp is now filled
  526. // fmt.Println(resp)
  527. // }
  528. //
  529. func (c *EC2) AttachClassicLinkVpcRequest(input *AttachClassicLinkVpcInput) (req *request.Request, output *AttachClassicLinkVpcOutput) {
  530. op := &request.Operation{
  531. Name: opAttachClassicLinkVpc,
  532. HTTPMethod: "POST",
  533. HTTPPath: "/",
  534. }
  535. if input == nil {
  536. input = &AttachClassicLinkVpcInput{}
  537. }
  538. req = c.newRequest(op, input, output)
  539. output = &AttachClassicLinkVpcOutput{}
  540. req.Data = output
  541. return
  542. }
  543. // AttachClassicLinkVpc API operation for Amazon Elastic Compute Cloud.
  544. //
  545. // Links an EC2-Classic instance to a ClassicLink-enabled VPC through one or
  546. // more of the VPC's security groups. You cannot link an EC2-Classic instance
  547. // to more than one VPC at a time. You can only link an instance that's in the
  548. // running state. An instance is automatically unlinked from a VPC when it's
  549. // stopped - you can link it to the VPC again when you restart it.
  550. //
  551. // After you've linked an instance, you cannot change the VPC security groups
  552. // that are associated with it. To change the security groups, you must first
  553. // unlink the instance, and then link it again.
  554. //
  555. // Linking your instance to a VPC is sometimes referred to as attaching your
  556. // instance.
  557. //
  558. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  559. // with awserr.Error's Code and Message methods to get detailed information about
  560. // the error.
  561. //
  562. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  563. // API operation AttachClassicLinkVpc for usage and error information.
  564. func (c *EC2) AttachClassicLinkVpc(input *AttachClassicLinkVpcInput) (*AttachClassicLinkVpcOutput, error) {
  565. req, out := c.AttachClassicLinkVpcRequest(input)
  566. err := req.Send()
  567. return out, err
  568. }
  569. const opAttachInternetGateway = "AttachInternetGateway"
  570. // AttachInternetGatewayRequest generates a "aws/request.Request" representing the
  571. // client's request for the AttachInternetGateway operation. The "output" return
  572. // value can be used to capture response data after the request's "Send" method
  573. // is called.
  574. //
  575. // See AttachInternetGateway for usage and error information.
  576. //
  577. // Creating a request object using this method should be used when you want to inject
  578. // custom logic into the request's lifecycle using a custom handler, or if you want to
  579. // access properties on the request object before or after sending the request. If
  580. // you just want the service response, call the AttachInternetGateway method directly
  581. // instead.
  582. //
  583. // Note: You must call the "Send" method on the returned request object in order
  584. // to execute the request.
  585. //
  586. // // Example sending a request using the AttachInternetGatewayRequest method.
  587. // req, resp := client.AttachInternetGatewayRequest(params)
  588. //
  589. // err := req.Send()
  590. // if err == nil { // resp is now filled
  591. // fmt.Println(resp)
  592. // }
  593. //
  594. func (c *EC2) AttachInternetGatewayRequest(input *AttachInternetGatewayInput) (req *request.Request, output *AttachInternetGatewayOutput) {
  595. op := &request.Operation{
  596. Name: opAttachInternetGateway,
  597. HTTPMethod: "POST",
  598. HTTPPath: "/",
  599. }
  600. if input == nil {
  601. input = &AttachInternetGatewayInput{}
  602. }
  603. req = c.newRequest(op, input, output)
  604. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  605. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  606. output = &AttachInternetGatewayOutput{}
  607. req.Data = output
  608. return
  609. }
  610. // AttachInternetGateway API operation for Amazon Elastic Compute Cloud.
  611. //
  612. // Attaches an Internet gateway to a VPC, enabling connectivity between the
  613. // Internet and the VPC. For more information about your VPC and Internet gateway,
  614. // see the Amazon Virtual Private Cloud User Guide (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/).
  615. //
  616. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  617. // with awserr.Error's Code and Message methods to get detailed information about
  618. // the error.
  619. //
  620. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  621. // API operation AttachInternetGateway for usage and error information.
  622. func (c *EC2) AttachInternetGateway(input *AttachInternetGatewayInput) (*AttachInternetGatewayOutput, error) {
  623. req, out := c.AttachInternetGatewayRequest(input)
  624. err := req.Send()
  625. return out, err
  626. }
  627. const opAttachNetworkInterface = "AttachNetworkInterface"
  628. // AttachNetworkInterfaceRequest generates a "aws/request.Request" representing the
  629. // client's request for the AttachNetworkInterface operation. The "output" return
  630. // value can be used to capture response data after the request's "Send" method
  631. // is called.
  632. //
  633. // See AttachNetworkInterface for usage and error information.
  634. //
  635. // Creating a request object using this method should be used when you want to inject
  636. // custom logic into the request's lifecycle using a custom handler, or if you want to
  637. // access properties on the request object before or after sending the request. If
  638. // you just want the service response, call the AttachNetworkInterface method directly
  639. // instead.
  640. //
  641. // Note: You must call the "Send" method on the returned request object in order
  642. // to execute the request.
  643. //
  644. // // Example sending a request using the AttachNetworkInterfaceRequest method.
  645. // req, resp := client.AttachNetworkInterfaceRequest(params)
  646. //
  647. // err := req.Send()
  648. // if err == nil { // resp is now filled
  649. // fmt.Println(resp)
  650. // }
  651. //
  652. func (c *EC2) AttachNetworkInterfaceRequest(input *AttachNetworkInterfaceInput) (req *request.Request, output *AttachNetworkInterfaceOutput) {
  653. op := &request.Operation{
  654. Name: opAttachNetworkInterface,
  655. HTTPMethod: "POST",
  656. HTTPPath: "/",
  657. }
  658. if input == nil {
  659. input = &AttachNetworkInterfaceInput{}
  660. }
  661. req = c.newRequest(op, input, output)
  662. output = &AttachNetworkInterfaceOutput{}
  663. req.Data = output
  664. return
  665. }
  666. // AttachNetworkInterface API operation for Amazon Elastic Compute Cloud.
  667. //
  668. // Attaches a network interface to an instance.
  669. //
  670. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  671. // with awserr.Error's Code and Message methods to get detailed information about
  672. // the error.
  673. //
  674. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  675. // API operation AttachNetworkInterface for usage and error information.
  676. func (c *EC2) AttachNetworkInterface(input *AttachNetworkInterfaceInput) (*AttachNetworkInterfaceOutput, error) {
  677. req, out := c.AttachNetworkInterfaceRequest(input)
  678. err := req.Send()
  679. return out, err
  680. }
  681. const opAttachVolume = "AttachVolume"
  682. // AttachVolumeRequest generates a "aws/request.Request" representing the
  683. // client's request for the AttachVolume operation. The "output" return
  684. // value can be used to capture response data after the request's "Send" method
  685. // is called.
  686. //
  687. // See AttachVolume for usage and error information.
  688. //
  689. // Creating a request object using this method should be used when you want to inject
  690. // custom logic into the request's lifecycle using a custom handler, or if you want to
  691. // access properties on the request object before or after sending the request. If
  692. // you just want the service response, call the AttachVolume method directly
  693. // instead.
  694. //
  695. // Note: You must call the "Send" method on the returned request object in order
  696. // to execute the request.
  697. //
  698. // // Example sending a request using the AttachVolumeRequest method.
  699. // req, resp := client.AttachVolumeRequest(params)
  700. //
  701. // err := req.Send()
  702. // if err == nil { // resp is now filled
  703. // fmt.Println(resp)
  704. // }
  705. //
  706. func (c *EC2) AttachVolumeRequest(input *AttachVolumeInput) (req *request.Request, output *VolumeAttachment) {
  707. op := &request.Operation{
  708. Name: opAttachVolume,
  709. HTTPMethod: "POST",
  710. HTTPPath: "/",
  711. }
  712. if input == nil {
  713. input = &AttachVolumeInput{}
  714. }
  715. req = c.newRequest(op, input, output)
  716. output = &VolumeAttachment{}
  717. req.Data = output
  718. return
  719. }
  720. // AttachVolume API operation for Amazon Elastic Compute Cloud.
  721. //
  722. // Attaches an EBS volume to a running or stopped instance and exposes it to
  723. // the instance with the specified device name.
  724. //
  725. // Encrypted EBS volumes may only be attached to instances that support Amazon
  726. // EBS encryption. For more information, see Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  727. // in the Amazon Elastic Compute Cloud User Guide.
  728. //
  729. // For a list of supported device names, see Attaching an EBS Volume to an Instance
  730. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html).
  731. // Any device names that aren't reserved for instance store volumes can be used
  732. // for EBS volumes. For more information, see Amazon EC2 Instance Store (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html)
  733. // in the Amazon Elastic Compute Cloud User Guide.
  734. //
  735. // If a volume has an AWS Marketplace product code:
  736. //
  737. // * The volume can be attached only to a stopped instance.
  738. //
  739. // * AWS Marketplace product codes are copied from the volume to the instance.
  740. //
  741. // * You must be subscribed to the product.
  742. //
  743. // * The instance type and operating system of the instance must support
  744. // the product. For example, you can't detach a volume from a Windows instance
  745. // and attach it to a Linux instance.
  746. //
  747. // For an overview of the AWS Marketplace, see Introducing AWS Marketplace (https://aws.amazon.com/marketplace/help/200900000).
  748. //
  749. // For more information about EBS volumes, see Attaching Amazon EBS Volumes
  750. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html)
  751. // in the Amazon Elastic Compute Cloud User Guide.
  752. //
  753. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  754. // with awserr.Error's Code and Message methods to get detailed information about
  755. // the error.
  756. //
  757. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  758. // API operation AttachVolume for usage and error information.
  759. func (c *EC2) AttachVolume(input *AttachVolumeInput) (*VolumeAttachment, error) {
  760. req, out := c.AttachVolumeRequest(input)
  761. err := req.Send()
  762. return out, err
  763. }
  764. const opAttachVpnGateway = "AttachVpnGateway"
  765. // AttachVpnGatewayRequest generates a "aws/request.Request" representing the
  766. // client's request for the AttachVpnGateway operation. The "output" return
  767. // value can be used to capture response data after the request's "Send" method
  768. // is called.
  769. //
  770. // See AttachVpnGateway for usage and error information.
  771. //
  772. // Creating a request object using this method should be used when you want to inject
  773. // custom logic into the request's lifecycle using a custom handler, or if you want to
  774. // access properties on the request object before or after sending the request. If
  775. // you just want the service response, call the AttachVpnGateway method directly
  776. // instead.
  777. //
  778. // Note: You must call the "Send" method on the returned request object in order
  779. // to execute the request.
  780. //
  781. // // Example sending a request using the AttachVpnGatewayRequest method.
  782. // req, resp := client.AttachVpnGatewayRequest(params)
  783. //
  784. // err := req.Send()
  785. // if err == nil { // resp is now filled
  786. // fmt.Println(resp)
  787. // }
  788. //
  789. func (c *EC2) AttachVpnGatewayRequest(input *AttachVpnGatewayInput) (req *request.Request, output *AttachVpnGatewayOutput) {
  790. op := &request.Operation{
  791. Name: opAttachVpnGateway,
  792. HTTPMethod: "POST",
  793. HTTPPath: "/",
  794. }
  795. if input == nil {
  796. input = &AttachVpnGatewayInput{}
  797. }
  798. req = c.newRequest(op, input, output)
  799. output = &AttachVpnGatewayOutput{}
  800. req.Data = output
  801. return
  802. }
  803. // AttachVpnGateway API operation for Amazon Elastic Compute Cloud.
  804. //
  805. // Attaches a virtual private gateway to a VPC. For more information, see Adding
  806. // a Hardware Virtual Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  807. // in the Amazon Virtual Private Cloud User Guide.
  808. //
  809. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  810. // with awserr.Error's Code and Message methods to get detailed information about
  811. // the error.
  812. //
  813. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  814. // API operation AttachVpnGateway for usage and error information.
  815. func (c *EC2) AttachVpnGateway(input *AttachVpnGatewayInput) (*AttachVpnGatewayOutput, error) {
  816. req, out := c.AttachVpnGatewayRequest(input)
  817. err := req.Send()
  818. return out, err
  819. }
  820. const opAuthorizeSecurityGroupEgress = "AuthorizeSecurityGroupEgress"
  821. // AuthorizeSecurityGroupEgressRequest generates a "aws/request.Request" representing the
  822. // client's request for the AuthorizeSecurityGroupEgress operation. The "output" return
  823. // value can be used to capture response data after the request's "Send" method
  824. // is called.
  825. //
  826. // See AuthorizeSecurityGroupEgress for usage and error information.
  827. //
  828. // Creating a request object using this method should be used when you want to inject
  829. // custom logic into the request's lifecycle using a custom handler, or if you want to
  830. // access properties on the request object before or after sending the request. If
  831. // you just want the service response, call the AuthorizeSecurityGroupEgress method directly
  832. // instead.
  833. //
  834. // Note: You must call the "Send" method on the returned request object in order
  835. // to execute the request.
  836. //
  837. // // Example sending a request using the AuthorizeSecurityGroupEgressRequest method.
  838. // req, resp := client.AuthorizeSecurityGroupEgressRequest(params)
  839. //
  840. // err := req.Send()
  841. // if err == nil { // resp is now filled
  842. // fmt.Println(resp)
  843. // }
  844. //
  845. func (c *EC2) AuthorizeSecurityGroupEgressRequest(input *AuthorizeSecurityGroupEgressInput) (req *request.Request, output *AuthorizeSecurityGroupEgressOutput) {
  846. op := &request.Operation{
  847. Name: opAuthorizeSecurityGroupEgress,
  848. HTTPMethod: "POST",
  849. HTTPPath: "/",
  850. }
  851. if input == nil {
  852. input = &AuthorizeSecurityGroupEgressInput{}
  853. }
  854. req = c.newRequest(op, input, output)
  855. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  856. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  857. output = &AuthorizeSecurityGroupEgressOutput{}
  858. req.Data = output
  859. return
  860. }
  861. // AuthorizeSecurityGroupEgress API operation for Amazon Elastic Compute Cloud.
  862. //
  863. // [EC2-VPC only] Adds one or more egress rules to a security group for use
  864. // with a VPC. Specifically, this action permits instances to send traffic to
  865. // one or more destination CIDR IP address ranges, or to one or more destination
  866. // security groups for the same VPC. This action doesn't apply to security groups
  867. // for use in EC2-Classic. For more information, see Security Groups for Your
  868. // VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
  869. // in the Amazon Virtual Private Cloud User Guide.
  870. //
  871. // You can have up to 50 rules per security group (covering both ingress and
  872. // egress rules).
  873. //
  874. // Each rule consists of the protocol (for example, TCP), plus either a CIDR
  875. // range or a source group. For the TCP and UDP protocols, you must also specify
  876. // the destination port or port range. For the ICMP protocol, you must also
  877. // specify the ICMP type and code. You can use -1 for the type or code to mean
  878. // all types or all codes.
  879. //
  880. // Rule changes are propagated to affected instances as quickly as possible.
  881. // However, a small delay might occur.
  882. //
  883. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  884. // with awserr.Error's Code and Message methods to get detailed information about
  885. // the error.
  886. //
  887. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  888. // API operation AuthorizeSecurityGroupEgress for usage and error information.
  889. func (c *EC2) AuthorizeSecurityGroupEgress(input *AuthorizeSecurityGroupEgressInput) (*AuthorizeSecurityGroupEgressOutput, error) {
  890. req, out := c.AuthorizeSecurityGroupEgressRequest(input)
  891. err := req.Send()
  892. return out, err
  893. }
  894. const opAuthorizeSecurityGroupIngress = "AuthorizeSecurityGroupIngress"
  895. // AuthorizeSecurityGroupIngressRequest generates a "aws/request.Request" representing the
  896. // client's request for the AuthorizeSecurityGroupIngress operation. The "output" return
  897. // value can be used to capture response data after the request's "Send" method
  898. // is called.
  899. //
  900. // See AuthorizeSecurityGroupIngress for usage and error information.
  901. //
  902. // Creating a request object using this method should be used when you want to inject
  903. // custom logic into the request's lifecycle using a custom handler, or if you want to
  904. // access properties on the request object before or after sending the request. If
  905. // you just want the service response, call the AuthorizeSecurityGroupIngress method directly
  906. // instead.
  907. //
  908. // Note: You must call the "Send" method on the returned request object in order
  909. // to execute the request.
  910. //
  911. // // Example sending a request using the AuthorizeSecurityGroupIngressRequest method.
  912. // req, resp := client.AuthorizeSecurityGroupIngressRequest(params)
  913. //
  914. // err := req.Send()
  915. // if err == nil { // resp is now filled
  916. // fmt.Println(resp)
  917. // }
  918. //
  919. func (c *EC2) AuthorizeSecurityGroupIngressRequest(input *AuthorizeSecurityGroupIngressInput) (req *request.Request, output *AuthorizeSecurityGroupIngressOutput) {
  920. op := &request.Operation{
  921. Name: opAuthorizeSecurityGroupIngress,
  922. HTTPMethod: "POST",
  923. HTTPPath: "/",
  924. }
  925. if input == nil {
  926. input = &AuthorizeSecurityGroupIngressInput{}
  927. }
  928. req = c.newRequest(op, input, output)
  929. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  930. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  931. output = &AuthorizeSecurityGroupIngressOutput{}
  932. req.Data = output
  933. return
  934. }
  935. // AuthorizeSecurityGroupIngress API operation for Amazon Elastic Compute Cloud.
  936. //
  937. // Adds one or more ingress rules to a security group.
  938. //
  939. // EC2-Classic: You can have up to 100 rules per group.
  940. //
  941. // EC2-VPC: You can have up to 50 rules per group (covering both ingress and
  942. // egress rules).
  943. //
  944. // Rule changes are propagated to instances within the security group as quickly
  945. // as possible. However, a small delay might occur.
  946. //
  947. // [EC2-Classic] This action gives one or more CIDR IP address ranges permission
  948. // to access a security group in your account, or gives one or more security
  949. // groups (called the source groups) permission to access a security group for
  950. // your account. A source group can be for your own AWS account, or another.
  951. //
  952. // [EC2-VPC] This action gives one or more CIDR IP address ranges permission
  953. // to access a security group in your VPC, or gives one or more other security
  954. // groups (called the source groups) permission to access a security group for
  955. // your VPC. The security groups must all be for the same VPC.
  956. //
  957. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  958. // with awserr.Error's Code and Message methods to get detailed information about
  959. // the error.
  960. //
  961. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  962. // API operation AuthorizeSecurityGroupIngress for usage and error information.
  963. func (c *EC2) AuthorizeSecurityGroupIngress(input *AuthorizeSecurityGroupIngressInput) (*AuthorizeSecurityGroupIngressOutput, error) {
  964. req, out := c.AuthorizeSecurityGroupIngressRequest(input)
  965. err := req.Send()
  966. return out, err
  967. }
  968. const opBundleInstance = "BundleInstance"
  969. // BundleInstanceRequest generates a "aws/request.Request" representing the
  970. // client's request for the BundleInstance operation. The "output" return
  971. // value can be used to capture response data after the request's "Send" method
  972. // is called.
  973. //
  974. // See BundleInstance for usage and error information.
  975. //
  976. // Creating a request object using this method should be used when you want to inject
  977. // custom logic into the request's lifecycle using a custom handler, or if you want to
  978. // access properties on the request object before or after sending the request. If
  979. // you just want the service response, call the BundleInstance method directly
  980. // instead.
  981. //
  982. // Note: You must call the "Send" method on the returned request object in order
  983. // to execute the request.
  984. //
  985. // // Example sending a request using the BundleInstanceRequest method.
  986. // req, resp := client.BundleInstanceRequest(params)
  987. //
  988. // err := req.Send()
  989. // if err == nil { // resp is now filled
  990. // fmt.Println(resp)
  991. // }
  992. //
  993. func (c *EC2) BundleInstanceRequest(input *BundleInstanceInput) (req *request.Request, output *BundleInstanceOutput) {
  994. op := &request.Operation{
  995. Name: opBundleInstance,
  996. HTTPMethod: "POST",
  997. HTTPPath: "/",
  998. }
  999. if input == nil {
  1000. input = &BundleInstanceInput{}
  1001. }
  1002. req = c.newRequest(op, input, output)
  1003. output = &BundleInstanceOutput{}
  1004. req.Data = output
  1005. return
  1006. }
  1007. // BundleInstance API operation for Amazon Elastic Compute Cloud.
  1008. //
  1009. // Bundles an Amazon instance store-backed Windows instance.
  1010. //
  1011. // During bundling, only the root device volume (C:\) is bundled. Data on other
  1012. // instance store volumes is not preserved.
  1013. //
  1014. // This action is not applicable for Linux/Unix instances or Windows instances
  1015. // that are backed by Amazon EBS.
  1016. //
  1017. // For more information, see Creating an Instance Store-Backed Windows AMI (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/Creating_InstanceStoreBacked_WinAMI.html).
  1018. //
  1019. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1020. // with awserr.Error's Code and Message methods to get detailed information about
  1021. // the error.
  1022. //
  1023. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1024. // API operation BundleInstance for usage and error information.
  1025. func (c *EC2) BundleInstance(input *BundleInstanceInput) (*BundleInstanceOutput, error) {
  1026. req, out := c.BundleInstanceRequest(input)
  1027. err := req.Send()
  1028. return out, err
  1029. }
  1030. const opCancelBundleTask = "CancelBundleTask"
  1031. // CancelBundleTaskRequest generates a "aws/request.Request" representing the
  1032. // client's request for the CancelBundleTask operation. The "output" return
  1033. // value can be used to capture response data after the request's "Send" method
  1034. // is called.
  1035. //
  1036. // See CancelBundleTask for usage and error information.
  1037. //
  1038. // Creating a request object using this method should be used when you want to inject
  1039. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1040. // access properties on the request object before or after sending the request. If
  1041. // you just want the service response, call the CancelBundleTask method directly
  1042. // instead.
  1043. //
  1044. // Note: You must call the "Send" method on the returned request object in order
  1045. // to execute the request.
  1046. //
  1047. // // Example sending a request using the CancelBundleTaskRequest method.
  1048. // req, resp := client.CancelBundleTaskRequest(params)
  1049. //
  1050. // err := req.Send()
  1051. // if err == nil { // resp is now filled
  1052. // fmt.Println(resp)
  1053. // }
  1054. //
  1055. func (c *EC2) CancelBundleTaskRequest(input *CancelBundleTaskInput) (req *request.Request, output *CancelBundleTaskOutput) {
  1056. op := &request.Operation{
  1057. Name: opCancelBundleTask,
  1058. HTTPMethod: "POST",
  1059. HTTPPath: "/",
  1060. }
  1061. if input == nil {
  1062. input = &CancelBundleTaskInput{}
  1063. }
  1064. req = c.newRequest(op, input, output)
  1065. output = &CancelBundleTaskOutput{}
  1066. req.Data = output
  1067. return
  1068. }
  1069. // CancelBundleTask API operation for Amazon Elastic Compute Cloud.
  1070. //
  1071. // Cancels a bundling operation for an instance store-backed Windows instance.
  1072. //
  1073. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1074. // with awserr.Error's Code and Message methods to get detailed information about
  1075. // the error.
  1076. //
  1077. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1078. // API operation CancelBundleTask for usage and error information.
  1079. func (c *EC2) CancelBundleTask(input *CancelBundleTaskInput) (*CancelBundleTaskOutput, error) {
  1080. req, out := c.CancelBundleTaskRequest(input)
  1081. err := req.Send()
  1082. return out, err
  1083. }
  1084. const opCancelConversionTask = "CancelConversionTask"
  1085. // CancelConversionTaskRequest generates a "aws/request.Request" representing the
  1086. // client's request for the CancelConversionTask operation. The "output" return
  1087. // value can be used to capture response data after the request's "Send" method
  1088. // is called.
  1089. //
  1090. // See CancelConversionTask for usage and error information.
  1091. //
  1092. // Creating a request object using this method should be used when you want to inject
  1093. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1094. // access properties on the request object before or after sending the request. If
  1095. // you just want the service response, call the CancelConversionTask method directly
  1096. // instead.
  1097. //
  1098. // Note: You must call the "Send" method on the returned request object in order
  1099. // to execute the request.
  1100. //
  1101. // // Example sending a request using the CancelConversionTaskRequest method.
  1102. // req, resp := client.CancelConversionTaskRequest(params)
  1103. //
  1104. // err := req.Send()
  1105. // if err == nil { // resp is now filled
  1106. // fmt.Println(resp)
  1107. // }
  1108. //
  1109. func (c *EC2) CancelConversionTaskRequest(input *CancelConversionTaskInput) (req *request.Request, output *CancelConversionTaskOutput) {
  1110. op := &request.Operation{
  1111. Name: opCancelConversionTask,
  1112. HTTPMethod: "POST",
  1113. HTTPPath: "/",
  1114. }
  1115. if input == nil {
  1116. input = &CancelConversionTaskInput{}
  1117. }
  1118. req = c.newRequest(op, input, output)
  1119. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  1120. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1121. output = &CancelConversionTaskOutput{}
  1122. req.Data = output
  1123. return
  1124. }
  1125. // CancelConversionTask API operation for Amazon Elastic Compute Cloud.
  1126. //
  1127. // Cancels an active conversion task. The task can be the import of an instance
  1128. // or volume. The action removes all artifacts of the conversion, including
  1129. // a partially uploaded volume or instance. If the conversion is complete or
  1130. // is in the process of transferring the final disk image, the command fails
  1131. // and returns an exception.
  1132. //
  1133. // For more information, see Importing a Virtual Machine Using the Amazon EC2
  1134. // CLI (http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ec2-cli-vmimport-export.html).
  1135. //
  1136. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1137. // with awserr.Error's Code and Message methods to get detailed information about
  1138. // the error.
  1139. //
  1140. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1141. // API operation CancelConversionTask for usage and error information.
  1142. func (c *EC2) CancelConversionTask(input *CancelConversionTaskInput) (*CancelConversionTaskOutput, error) {
  1143. req, out := c.CancelConversionTaskRequest(input)
  1144. err := req.Send()
  1145. return out, err
  1146. }
  1147. const opCancelExportTask = "CancelExportTask"
  1148. // CancelExportTaskRequest generates a "aws/request.Request" representing the
  1149. // client's request for the CancelExportTask operation. The "output" return
  1150. // value can be used to capture response data after the request's "Send" method
  1151. // is called.
  1152. //
  1153. // See CancelExportTask for usage and error information.
  1154. //
  1155. // Creating a request object using this method should be used when you want to inject
  1156. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1157. // access properties on the request object before or after sending the request. If
  1158. // you just want the service response, call the CancelExportTask method directly
  1159. // instead.
  1160. //
  1161. // Note: You must call the "Send" method on the returned request object in order
  1162. // to execute the request.
  1163. //
  1164. // // Example sending a request using the CancelExportTaskRequest method.
  1165. // req, resp := client.CancelExportTaskRequest(params)
  1166. //
  1167. // err := req.Send()
  1168. // if err == nil { // resp is now filled
  1169. // fmt.Println(resp)
  1170. // }
  1171. //
  1172. func (c *EC2) CancelExportTaskRequest(input *CancelExportTaskInput) (req *request.Request, output *CancelExportTaskOutput) {
  1173. op := &request.Operation{
  1174. Name: opCancelExportTask,
  1175. HTTPMethod: "POST",
  1176. HTTPPath: "/",
  1177. }
  1178. if input == nil {
  1179. input = &CancelExportTaskInput{}
  1180. }
  1181. req = c.newRequest(op, input, output)
  1182. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  1183. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1184. output = &CancelExportTaskOutput{}
  1185. req.Data = output
  1186. return
  1187. }
  1188. // CancelExportTask API operation for Amazon Elastic Compute Cloud.
  1189. //
  1190. // Cancels an active export task. The request removes all artifacts of the export,
  1191. // including any partially-created Amazon S3 objects. If the export task is
  1192. // complete or is in the process of transferring the final disk image, the command
  1193. // fails and returns an error.
  1194. //
  1195. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1196. // with awserr.Error's Code and Message methods to get detailed information about
  1197. // the error.
  1198. //
  1199. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1200. // API operation CancelExportTask for usage and error information.
  1201. func (c *EC2) CancelExportTask(input *CancelExportTaskInput) (*CancelExportTaskOutput, error) {
  1202. req, out := c.CancelExportTaskRequest(input)
  1203. err := req.Send()
  1204. return out, err
  1205. }
  1206. const opCancelImportTask = "CancelImportTask"
  1207. // CancelImportTaskRequest generates a "aws/request.Request" representing the
  1208. // client's request for the CancelImportTask operation. The "output" return
  1209. // value can be used to capture response data after the request's "Send" method
  1210. // is called.
  1211. //
  1212. // See CancelImportTask for usage and error information.
  1213. //
  1214. // Creating a request object using this method should be used when you want to inject
  1215. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1216. // access properties on the request object before or after sending the request. If
  1217. // you just want the service response, call the CancelImportTask method directly
  1218. // instead.
  1219. //
  1220. // Note: You must call the "Send" method on the returned request object in order
  1221. // to execute the request.
  1222. //
  1223. // // Example sending a request using the CancelImportTaskRequest method.
  1224. // req, resp := client.CancelImportTaskRequest(params)
  1225. //
  1226. // err := req.Send()
  1227. // if err == nil { // resp is now filled
  1228. // fmt.Println(resp)
  1229. // }
  1230. //
  1231. func (c *EC2) CancelImportTaskRequest(input *CancelImportTaskInput) (req *request.Request, output *CancelImportTaskOutput) {
  1232. op := &request.Operation{
  1233. Name: opCancelImportTask,
  1234. HTTPMethod: "POST",
  1235. HTTPPath: "/",
  1236. }
  1237. if input == nil {
  1238. input = &CancelImportTaskInput{}
  1239. }
  1240. req = c.newRequest(op, input, output)
  1241. output = &CancelImportTaskOutput{}
  1242. req.Data = output
  1243. return
  1244. }
  1245. // CancelImportTask API operation for Amazon Elastic Compute Cloud.
  1246. //
  1247. // Cancels an in-process import virtual machine or import snapshot task.
  1248. //
  1249. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1250. // with awserr.Error's Code and Message methods to get detailed information about
  1251. // the error.
  1252. //
  1253. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1254. // API operation CancelImportTask for usage and error information.
  1255. func (c *EC2) CancelImportTask(input *CancelImportTaskInput) (*CancelImportTaskOutput, error) {
  1256. req, out := c.CancelImportTaskRequest(input)
  1257. err := req.Send()
  1258. return out, err
  1259. }
  1260. const opCancelReservedInstancesListing = "CancelReservedInstancesListing"
  1261. // CancelReservedInstancesListingRequest generates a "aws/request.Request" representing the
  1262. // client's request for the CancelReservedInstancesListing operation. The "output" return
  1263. // value can be used to capture response data after the request's "Send" method
  1264. // is called.
  1265. //
  1266. // See CancelReservedInstancesListing for usage and error information.
  1267. //
  1268. // Creating a request object using this method should be used when you want to inject
  1269. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1270. // access properties on the request object before or after sending the request. If
  1271. // you just want the service response, call the CancelReservedInstancesListing method directly
  1272. // instead.
  1273. //
  1274. // Note: You must call the "Send" method on the returned request object in order
  1275. // to execute the request.
  1276. //
  1277. // // Example sending a request using the CancelReservedInstancesListingRequest method.
  1278. // req, resp := client.CancelReservedInstancesListingRequest(params)
  1279. //
  1280. // err := req.Send()
  1281. // if err == nil { // resp is now filled
  1282. // fmt.Println(resp)
  1283. // }
  1284. //
  1285. func (c *EC2) CancelReservedInstancesListingRequest(input *CancelReservedInstancesListingInput) (req *request.Request, output *CancelReservedInstancesListingOutput) {
  1286. op := &request.Operation{
  1287. Name: opCancelReservedInstancesListing,
  1288. HTTPMethod: "POST",
  1289. HTTPPath: "/",
  1290. }
  1291. if input == nil {
  1292. input = &CancelReservedInstancesListingInput{}
  1293. }
  1294. req = c.newRequest(op, input, output)
  1295. output = &CancelReservedInstancesListingOutput{}
  1296. req.Data = output
  1297. return
  1298. }
  1299. // CancelReservedInstancesListing API operation for Amazon Elastic Compute Cloud.
  1300. //
  1301. // Cancels the specified Reserved Instance listing in the Reserved Instance
  1302. // Marketplace.
  1303. //
  1304. // For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  1305. // in the Amazon Elastic Compute Cloud User Guide.
  1306. //
  1307. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1308. // with awserr.Error's Code and Message methods to get detailed information about
  1309. // the error.
  1310. //
  1311. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1312. // API operation CancelReservedInstancesListing for usage and error information.
  1313. func (c *EC2) CancelReservedInstancesListing(input *CancelReservedInstancesListingInput) (*CancelReservedInstancesListingOutput, error) {
  1314. req, out := c.CancelReservedInstancesListingRequest(input)
  1315. err := req.Send()
  1316. return out, err
  1317. }
  1318. const opCancelSpotFleetRequests = "CancelSpotFleetRequests"
  1319. // CancelSpotFleetRequestsRequest generates a "aws/request.Request" representing the
  1320. // client's request for the CancelSpotFleetRequests operation. The "output" return
  1321. // value can be used to capture response data after the request's "Send" method
  1322. // is called.
  1323. //
  1324. // See CancelSpotFleetRequests for usage and error information.
  1325. //
  1326. // Creating a request object using this method should be used when you want to inject
  1327. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1328. // access properties on the request object before or after sending the request. If
  1329. // you just want the service response, call the CancelSpotFleetRequests method directly
  1330. // instead.
  1331. //
  1332. // Note: You must call the "Send" method on the returned request object in order
  1333. // to execute the request.
  1334. //
  1335. // // Example sending a request using the CancelSpotFleetRequestsRequest method.
  1336. // req, resp := client.CancelSpotFleetRequestsRequest(params)
  1337. //
  1338. // err := req.Send()
  1339. // if err == nil { // resp is now filled
  1340. // fmt.Println(resp)
  1341. // }
  1342. //
  1343. func (c *EC2) CancelSpotFleetRequestsRequest(input *CancelSpotFleetRequestsInput) (req *request.Request, output *CancelSpotFleetRequestsOutput) {
  1344. op := &request.Operation{
  1345. Name: opCancelSpotFleetRequests,
  1346. HTTPMethod: "POST",
  1347. HTTPPath: "/",
  1348. }
  1349. if input == nil {
  1350. input = &CancelSpotFleetRequestsInput{}
  1351. }
  1352. req = c.newRequest(op, input, output)
  1353. output = &CancelSpotFleetRequestsOutput{}
  1354. req.Data = output
  1355. return
  1356. }
  1357. // CancelSpotFleetRequests API operation for Amazon Elastic Compute Cloud.
  1358. //
  1359. // Cancels the specified Spot fleet requests.
  1360. //
  1361. // After you cancel a Spot fleet request, the Spot fleet launches no new Spot
  1362. // instances. You must specify whether the Spot fleet should also terminate
  1363. // its Spot instances. If you terminate the instances, the Spot fleet request
  1364. // enters the cancelled_terminating state. Otherwise, the Spot fleet request
  1365. // enters the cancelled_running state and the instances continue to run until
  1366. // they are interrupted or you terminate them manually.
  1367. //
  1368. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1369. // with awserr.Error's Code and Message methods to get detailed information about
  1370. // the error.
  1371. //
  1372. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1373. // API operation CancelSpotFleetRequests for usage and error information.
  1374. func (c *EC2) CancelSpotFleetRequests(input *CancelSpotFleetRequestsInput) (*CancelSpotFleetRequestsOutput, error) {
  1375. req, out := c.CancelSpotFleetRequestsRequest(input)
  1376. err := req.Send()
  1377. return out, err
  1378. }
  1379. const opCancelSpotInstanceRequests = "CancelSpotInstanceRequests"
  1380. // CancelSpotInstanceRequestsRequest generates a "aws/request.Request" representing the
  1381. // client's request for the CancelSpotInstanceRequests operation. The "output" return
  1382. // value can be used to capture response data after the request's "Send" method
  1383. // is called.
  1384. //
  1385. // See CancelSpotInstanceRequests for usage and error information.
  1386. //
  1387. // Creating a request object using this method should be used when you want to inject
  1388. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1389. // access properties on the request object before or after sending the request. If
  1390. // you just want the service response, call the CancelSpotInstanceRequests method directly
  1391. // instead.
  1392. //
  1393. // Note: You must call the "Send" method on the returned request object in order
  1394. // to execute the request.
  1395. //
  1396. // // Example sending a request using the CancelSpotInstanceRequestsRequest method.
  1397. // req, resp := client.CancelSpotInstanceRequestsRequest(params)
  1398. //
  1399. // err := req.Send()
  1400. // if err == nil { // resp is now filled
  1401. // fmt.Println(resp)
  1402. // }
  1403. //
  1404. func (c *EC2) CancelSpotInstanceRequestsRequest(input *CancelSpotInstanceRequestsInput) (req *request.Request, output *CancelSpotInstanceRequestsOutput) {
  1405. op := &request.Operation{
  1406. Name: opCancelSpotInstanceRequests,
  1407. HTTPMethod: "POST",
  1408. HTTPPath: "/",
  1409. }
  1410. if input == nil {
  1411. input = &CancelSpotInstanceRequestsInput{}
  1412. }
  1413. req = c.newRequest(op, input, output)
  1414. output = &CancelSpotInstanceRequestsOutput{}
  1415. req.Data = output
  1416. return
  1417. }
  1418. // CancelSpotInstanceRequests API operation for Amazon Elastic Compute Cloud.
  1419. //
  1420. // Cancels one or more Spot instance requests. Spot instances are instances
  1421. // that Amazon EC2 starts on your behalf when the bid price that you specify
  1422. // exceeds the current Spot price. Amazon EC2 periodically sets the Spot price
  1423. // based on available Spot instance capacity and current Spot instance requests.
  1424. // For more information, see Spot Instance Requests (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html)
  1425. // in the Amazon Elastic Compute Cloud User Guide.
  1426. //
  1427. // Canceling a Spot instance request does not terminate running Spot instances
  1428. // associated with the request.
  1429. //
  1430. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1431. // with awserr.Error's Code and Message methods to get detailed information about
  1432. // the error.
  1433. //
  1434. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1435. // API operation CancelSpotInstanceRequests for usage and error information.
  1436. func (c *EC2) CancelSpotInstanceRequests(input *CancelSpotInstanceRequestsInput) (*CancelSpotInstanceRequestsOutput, error) {
  1437. req, out := c.CancelSpotInstanceRequestsRequest(input)
  1438. err := req.Send()
  1439. return out, err
  1440. }
  1441. const opConfirmProductInstance = "ConfirmProductInstance"
  1442. // ConfirmProductInstanceRequest generates a "aws/request.Request" representing the
  1443. // client's request for the ConfirmProductInstance operation. The "output" return
  1444. // value can be used to capture response data after the request's "Send" method
  1445. // is called.
  1446. //
  1447. // See ConfirmProductInstance for usage and error information.
  1448. //
  1449. // Creating a request object using this method should be used when you want to inject
  1450. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1451. // access properties on the request object before or after sending the request. If
  1452. // you just want the service response, call the ConfirmProductInstance method directly
  1453. // instead.
  1454. //
  1455. // Note: You must call the "Send" method on the returned request object in order
  1456. // to execute the request.
  1457. //
  1458. // // Example sending a request using the ConfirmProductInstanceRequest method.
  1459. // req, resp := client.ConfirmProductInstanceRequest(params)
  1460. //
  1461. // err := req.Send()
  1462. // if err == nil { // resp is now filled
  1463. // fmt.Println(resp)
  1464. // }
  1465. //
  1466. func (c *EC2) ConfirmProductInstanceRequest(input *ConfirmProductInstanceInput) (req *request.Request, output *ConfirmProductInstanceOutput) {
  1467. op := &request.Operation{
  1468. Name: opConfirmProductInstance,
  1469. HTTPMethod: "POST",
  1470. HTTPPath: "/",
  1471. }
  1472. if input == nil {
  1473. input = &ConfirmProductInstanceInput{}
  1474. }
  1475. req = c.newRequest(op, input, output)
  1476. output = &ConfirmProductInstanceOutput{}
  1477. req.Data = output
  1478. return
  1479. }
  1480. // ConfirmProductInstance API operation for Amazon Elastic Compute Cloud.
  1481. //
  1482. // Determines whether a product code is associated with an instance. This action
  1483. // can only be used by the owner of the product code. It is useful when a product
  1484. // code owner needs to verify whether another user's instance is eligible for
  1485. // support.
  1486. //
  1487. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1488. // with awserr.Error's Code and Message methods to get detailed information about
  1489. // the error.
  1490. //
  1491. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1492. // API operation ConfirmProductInstance for usage and error information.
  1493. func (c *EC2) ConfirmProductInstance(input *ConfirmProductInstanceInput) (*ConfirmProductInstanceOutput, error) {
  1494. req, out := c.ConfirmProductInstanceRequest(input)
  1495. err := req.Send()
  1496. return out, err
  1497. }
  1498. const opCopyImage = "CopyImage"
  1499. // CopyImageRequest generates a "aws/request.Request" representing the
  1500. // client's request for the CopyImage operation. The "output" return
  1501. // value can be used to capture response data after the request's "Send" method
  1502. // is called.
  1503. //
  1504. // See CopyImage for usage and error information.
  1505. //
  1506. // Creating a request object using this method should be used when you want to inject
  1507. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1508. // access properties on the request object before or after sending the request. If
  1509. // you just want the service response, call the CopyImage method directly
  1510. // instead.
  1511. //
  1512. // Note: You must call the "Send" method on the returned request object in order
  1513. // to execute the request.
  1514. //
  1515. // // Example sending a request using the CopyImageRequest method.
  1516. // req, resp := client.CopyImageRequest(params)
  1517. //
  1518. // err := req.Send()
  1519. // if err == nil { // resp is now filled
  1520. // fmt.Println(resp)
  1521. // }
  1522. //
  1523. func (c *EC2) CopyImageRequest(input *CopyImageInput) (req *request.Request, output *CopyImageOutput) {
  1524. op := &request.Operation{
  1525. Name: opCopyImage,
  1526. HTTPMethod: "POST",
  1527. HTTPPath: "/",
  1528. }
  1529. if input == nil {
  1530. input = &CopyImageInput{}
  1531. }
  1532. req = c.newRequest(op, input, output)
  1533. output = &CopyImageOutput{}
  1534. req.Data = output
  1535. return
  1536. }
  1537. // CopyImage API operation for Amazon Elastic Compute Cloud.
  1538. //
  1539. // Initiates the copy of an AMI from the specified source region to the current
  1540. // region. You specify the destination region by using its endpoint when making
  1541. // the request.
  1542. //
  1543. // For more information, see Copying AMIs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/CopyingAMIs.html)
  1544. // in the Amazon Elastic Compute Cloud User Guide.
  1545. //
  1546. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1547. // with awserr.Error's Code and Message methods to get detailed information about
  1548. // the error.
  1549. //
  1550. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1551. // API operation CopyImage for usage and error information.
  1552. func (c *EC2) CopyImage(input *CopyImageInput) (*CopyImageOutput, error) {
  1553. req, out := c.CopyImageRequest(input)
  1554. err := req.Send()
  1555. return out, err
  1556. }
  1557. const opCopySnapshot = "CopySnapshot"
  1558. // CopySnapshotRequest generates a "aws/request.Request" representing the
  1559. // client's request for the CopySnapshot operation. The "output" return
  1560. // value can be used to capture response data after the request's "Send" method
  1561. // is called.
  1562. //
  1563. // See CopySnapshot for usage and error information.
  1564. //
  1565. // Creating a request object using this method should be used when you want to inject
  1566. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1567. // access properties on the request object before or after sending the request. If
  1568. // you just want the service response, call the CopySnapshot method directly
  1569. // instead.
  1570. //
  1571. // Note: You must call the "Send" method on the returned request object in order
  1572. // to execute the request.
  1573. //
  1574. // // Example sending a request using the CopySnapshotRequest method.
  1575. // req, resp := client.CopySnapshotRequest(params)
  1576. //
  1577. // err := req.Send()
  1578. // if err == nil { // resp is now filled
  1579. // fmt.Println(resp)
  1580. // }
  1581. //
  1582. func (c *EC2) CopySnapshotRequest(input *CopySnapshotInput) (req *request.Request, output *CopySnapshotOutput) {
  1583. op := &request.Operation{
  1584. Name: opCopySnapshot,
  1585. HTTPMethod: "POST",
  1586. HTTPPath: "/",
  1587. }
  1588. if input == nil {
  1589. input = &CopySnapshotInput{}
  1590. }
  1591. req = c.newRequest(op, input, output)
  1592. output = &CopySnapshotOutput{}
  1593. req.Data = output
  1594. return
  1595. }
  1596. // CopySnapshot API operation for Amazon Elastic Compute Cloud.
  1597. //
  1598. // Copies a point-in-time snapshot of an EBS volume and stores it in Amazon
  1599. // S3. You can copy the snapshot within the same region or from one region to
  1600. // another. You can use the snapshot to create EBS volumes or Amazon Machine
  1601. // Images (AMIs). The snapshot is copied to the regional endpoint that you send
  1602. // the HTTP request to.
  1603. //
  1604. // Copies of encrypted EBS snapshots remain encrypted. Copies of unencrypted
  1605. // snapshots remain unencrypted, unless the Encrypted flag is specified during
  1606. // the snapshot copy operation. By default, encrypted snapshot copies use the
  1607. // default AWS Key Management Service (AWS KMS) customer master key (CMK); however,
  1608. // you can specify a non-default CMK with the KmsKeyId parameter.
  1609. //
  1610. // To copy an encrypted snapshot that has been shared from another account,
  1611. // you must have permissions for the CMK used to encrypt the snapshot.
  1612. //
  1613. // Snapshots created by the CopySnapshot action have an arbitrary volume ID
  1614. // that should not be used for any purpose.
  1615. //
  1616. // For more information, see Copying an Amazon EBS Snapshot (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-copy-snapshot.html)
  1617. // in the Amazon Elastic Compute Cloud User Guide.
  1618. //
  1619. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1620. // with awserr.Error's Code and Message methods to get detailed information about
  1621. // the error.
  1622. //
  1623. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1624. // API operation CopySnapshot for usage and error information.
  1625. func (c *EC2) CopySnapshot(input *CopySnapshotInput) (*CopySnapshotOutput, error) {
  1626. req, out := c.CopySnapshotRequest(input)
  1627. err := req.Send()
  1628. return out, err
  1629. }
  1630. const opCreateCustomerGateway = "CreateCustomerGateway"
  1631. // CreateCustomerGatewayRequest generates a "aws/request.Request" representing the
  1632. // client's request for the CreateCustomerGateway operation. The "output" return
  1633. // value can be used to capture response data after the request's "Send" method
  1634. // is called.
  1635. //
  1636. // See CreateCustomerGateway for usage and error information.
  1637. //
  1638. // Creating a request object using this method should be used when you want to inject
  1639. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1640. // access properties on the request object before or after sending the request. If
  1641. // you just want the service response, call the CreateCustomerGateway method directly
  1642. // instead.
  1643. //
  1644. // Note: You must call the "Send" method on the returned request object in order
  1645. // to execute the request.
  1646. //
  1647. // // Example sending a request using the CreateCustomerGatewayRequest method.
  1648. // req, resp := client.CreateCustomerGatewayRequest(params)
  1649. //
  1650. // err := req.Send()
  1651. // if err == nil { // resp is now filled
  1652. // fmt.Println(resp)
  1653. // }
  1654. //
  1655. func (c *EC2) CreateCustomerGatewayRequest(input *CreateCustomerGatewayInput) (req *request.Request, output *CreateCustomerGatewayOutput) {
  1656. op := &request.Operation{
  1657. Name: opCreateCustomerGateway,
  1658. HTTPMethod: "POST",
  1659. HTTPPath: "/",
  1660. }
  1661. if input == nil {
  1662. input = &CreateCustomerGatewayInput{}
  1663. }
  1664. req = c.newRequest(op, input, output)
  1665. output = &CreateCustomerGatewayOutput{}
  1666. req.Data = output
  1667. return
  1668. }
  1669. // CreateCustomerGateway API operation for Amazon Elastic Compute Cloud.
  1670. //
  1671. // Provides information to AWS about your VPN customer gateway device. The customer
  1672. // gateway is the appliance at your end of the VPN connection. (The device on
  1673. // the AWS side of the VPN connection is the virtual private gateway.) You must
  1674. // provide the Internet-routable IP address of the customer gateway's external
  1675. // interface. The IP address must be static and may be behind a device performing
  1676. // network address translation (NAT).
  1677. //
  1678. // For devices that use Border Gateway Protocol (BGP), you can also provide
  1679. // the device's BGP Autonomous System Number (ASN). You can use an existing
  1680. // ASN assigned to your network. If you don't have an ASN already, you can use
  1681. // a private ASN (in the 64512 - 65534 range).
  1682. //
  1683. // Amazon EC2 supports all 2-byte ASN numbers in the range of 1 - 65534, with
  1684. // the exception of 7224, which is reserved in the us-east-1 region, and 9059,
  1685. // which is reserved in the eu-west-1 region.
  1686. //
  1687. // For more information about VPN customer gateways, see Adding a Hardware Virtual
  1688. // Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  1689. // in the Amazon Virtual Private Cloud User Guide.
  1690. //
  1691. // You cannot create more than one customer gateway with the same VPN type,
  1692. // IP address, and BGP ASN parameter values. If you run an identical request
  1693. // more than one time, the first request creates the customer gateway, and subsequent
  1694. // requests return information about the existing customer gateway. The subsequent
  1695. // requests do not create new customer gateway resources.
  1696. //
  1697. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1698. // with awserr.Error's Code and Message methods to get detailed information about
  1699. // the error.
  1700. //
  1701. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1702. // API operation CreateCustomerGateway for usage and error information.
  1703. func (c *EC2) CreateCustomerGateway(input *CreateCustomerGatewayInput) (*CreateCustomerGatewayOutput, error) {
  1704. req, out := c.CreateCustomerGatewayRequest(input)
  1705. err := req.Send()
  1706. return out, err
  1707. }
  1708. const opCreateDhcpOptions = "CreateDhcpOptions"
  1709. // CreateDhcpOptionsRequest generates a "aws/request.Request" representing the
  1710. // client's request for the CreateDhcpOptions operation. The "output" return
  1711. // value can be used to capture response data after the request's "Send" method
  1712. // is called.
  1713. //
  1714. // See CreateDhcpOptions for usage and error information.
  1715. //
  1716. // Creating a request object using this method should be used when you want to inject
  1717. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1718. // access properties on the request object before or after sending the request. If
  1719. // you just want the service response, call the CreateDhcpOptions method directly
  1720. // instead.
  1721. //
  1722. // Note: You must call the "Send" method on the returned request object in order
  1723. // to execute the request.
  1724. //
  1725. // // Example sending a request using the CreateDhcpOptionsRequest method.
  1726. // req, resp := client.CreateDhcpOptionsRequest(params)
  1727. //
  1728. // err := req.Send()
  1729. // if err == nil { // resp is now filled
  1730. // fmt.Println(resp)
  1731. // }
  1732. //
  1733. func (c *EC2) CreateDhcpOptionsRequest(input *CreateDhcpOptionsInput) (req *request.Request, output *CreateDhcpOptionsOutput) {
  1734. op := &request.Operation{
  1735. Name: opCreateDhcpOptions,
  1736. HTTPMethod: "POST",
  1737. HTTPPath: "/",
  1738. }
  1739. if input == nil {
  1740. input = &CreateDhcpOptionsInput{}
  1741. }
  1742. req = c.newRequest(op, input, output)
  1743. output = &CreateDhcpOptionsOutput{}
  1744. req.Data = output
  1745. return
  1746. }
  1747. // CreateDhcpOptions API operation for Amazon Elastic Compute Cloud.
  1748. //
  1749. // Creates a set of DHCP options for your VPC. After creating the set, you must
  1750. // associate it with the VPC, causing all existing and new instances that you
  1751. // launch in the VPC to use this set of DHCP options. The following are the
  1752. // individual DHCP options you can specify. For more information about the options,
  1753. // see RFC 2132 (http://www.ietf.org/rfc/rfc2132.txt).
  1754. //
  1755. // * domain-name-servers - The IP addresses of up to four domain name servers,
  1756. // or AmazonProvidedDNS. The default DHCP option set specifies AmazonProvidedDNS.
  1757. // If specifying more than one domain name server, specify the IP addresses
  1758. // in a single parameter, separated by commas. If you want your instance
  1759. // to receive a custom DNS hostname as specified in domain-name, you must
  1760. // set domain-name-servers to a custom DNS server.
  1761. //
  1762. // * domain-name - If you're using AmazonProvidedDNS in "us-east-1", specify
  1763. // "ec2.internal". If you're using AmazonProvidedDNS in another region, specify
  1764. // "region.compute.internal" (for example, "ap-northeast-1.compute.internal").
  1765. // Otherwise, specify a domain name (for example, "MyCompany.com"). This
  1766. // value is used to complete unqualified DNS hostnames. Important: Some Linux
  1767. // operating systems accept multiple domain names separated by spaces. However,
  1768. // Windows and other Linux operating systems treat the value as a single
  1769. // domain, which results in unexpected behavior. If your DHCP options set
  1770. // is associated with a VPC that has instances with multiple operating systems,
  1771. // specify only one domain name.
  1772. //
  1773. // * ntp-servers - The IP addresses of up to four Network Time Protocol (NTP)
  1774. // servers.
  1775. //
  1776. // * netbios-name-servers - The IP addresses of up to four NetBIOS name servers.
  1777. //
  1778. // * netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend
  1779. // that you specify 2 (broadcast and multicast are not currently supported).
  1780. // For more information about these node types, see RFC 2132 (http://www.ietf.org/rfc/rfc2132.txt).
  1781. //
  1782. // Your VPC automatically starts out with a set of DHCP options that includes
  1783. // only a DNS server that we provide (AmazonProvidedDNS). If you create a set
  1784. // of options, and if your VPC has an Internet gateway, make sure to set the
  1785. // domain-name-servers option either to AmazonProvidedDNS or to a domain name
  1786. // server of your choice. For more information about DHCP options, see DHCP
  1787. // Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
  1788. // in the Amazon Virtual Private Cloud User Guide.
  1789. //
  1790. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1791. // with awserr.Error's Code and Message methods to get detailed information about
  1792. // the error.
  1793. //
  1794. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1795. // API operation CreateDhcpOptions for usage and error information.
  1796. func (c *EC2) CreateDhcpOptions(input *CreateDhcpOptionsInput) (*CreateDhcpOptionsOutput, error) {
  1797. req, out := c.CreateDhcpOptionsRequest(input)
  1798. err := req.Send()
  1799. return out, err
  1800. }
  1801. const opCreateFlowLogs = "CreateFlowLogs"
  1802. // CreateFlowLogsRequest generates a "aws/request.Request" representing the
  1803. // client's request for the CreateFlowLogs operation. The "output" return
  1804. // value can be used to capture response data after the request's "Send" method
  1805. // is called.
  1806. //
  1807. // See CreateFlowLogs for usage and error information.
  1808. //
  1809. // Creating a request object using this method should be used when you want to inject
  1810. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1811. // access properties on the request object before or after sending the request. If
  1812. // you just want the service response, call the CreateFlowLogs method directly
  1813. // instead.
  1814. //
  1815. // Note: You must call the "Send" method on the returned request object in order
  1816. // to execute the request.
  1817. //
  1818. // // Example sending a request using the CreateFlowLogsRequest method.
  1819. // req, resp := client.CreateFlowLogsRequest(params)
  1820. //
  1821. // err := req.Send()
  1822. // if err == nil { // resp is now filled
  1823. // fmt.Println(resp)
  1824. // }
  1825. //
  1826. func (c *EC2) CreateFlowLogsRequest(input *CreateFlowLogsInput) (req *request.Request, output *CreateFlowLogsOutput) {
  1827. op := &request.Operation{
  1828. Name: opCreateFlowLogs,
  1829. HTTPMethod: "POST",
  1830. HTTPPath: "/",
  1831. }
  1832. if input == nil {
  1833. input = &CreateFlowLogsInput{}
  1834. }
  1835. req = c.newRequest(op, input, output)
  1836. output = &CreateFlowLogsOutput{}
  1837. req.Data = output
  1838. return
  1839. }
  1840. // CreateFlowLogs API operation for Amazon Elastic Compute Cloud.
  1841. //
  1842. // Creates one or more flow logs to capture IP traffic for a specific network
  1843. // interface, subnet, or VPC. Flow logs are delivered to a specified log group
  1844. // in Amazon CloudWatch Logs. If you specify a VPC or subnet in the request,
  1845. // a log stream is created in CloudWatch Logs for each network interface in
  1846. // the subnet or VPC. Log streams can include information about accepted and
  1847. // rejected traffic to a network interface. You can view the data in your log
  1848. // streams using Amazon CloudWatch Logs.
  1849. //
  1850. // In your request, you must also specify an IAM role that has permission to
  1851. // publish logs to CloudWatch Logs.
  1852. //
  1853. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1854. // with awserr.Error's Code and Message methods to get detailed information about
  1855. // the error.
  1856. //
  1857. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1858. // API operation CreateFlowLogs for usage and error information.
  1859. func (c *EC2) CreateFlowLogs(input *CreateFlowLogsInput) (*CreateFlowLogsOutput, error) {
  1860. req, out := c.CreateFlowLogsRequest(input)
  1861. err := req.Send()
  1862. return out, err
  1863. }
  1864. const opCreateImage = "CreateImage"
  1865. // CreateImageRequest generates a "aws/request.Request" representing the
  1866. // client's request for the CreateImage operation. The "output" return
  1867. // value can be used to capture response data after the request's "Send" method
  1868. // is called.
  1869. //
  1870. // See CreateImage for usage and error information.
  1871. //
  1872. // Creating a request object using this method should be used when you want to inject
  1873. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1874. // access properties on the request object before or after sending the request. If
  1875. // you just want the service response, call the CreateImage method directly
  1876. // instead.
  1877. //
  1878. // Note: You must call the "Send" method on the returned request object in order
  1879. // to execute the request.
  1880. //
  1881. // // Example sending a request using the CreateImageRequest method.
  1882. // req, resp := client.CreateImageRequest(params)
  1883. //
  1884. // err := req.Send()
  1885. // if err == nil { // resp is now filled
  1886. // fmt.Println(resp)
  1887. // }
  1888. //
  1889. func (c *EC2) CreateImageRequest(input *CreateImageInput) (req *request.Request, output *CreateImageOutput) {
  1890. op := &request.Operation{
  1891. Name: opCreateImage,
  1892. HTTPMethod: "POST",
  1893. HTTPPath: "/",
  1894. }
  1895. if input == nil {
  1896. input = &CreateImageInput{}
  1897. }
  1898. req = c.newRequest(op, input, output)
  1899. output = &CreateImageOutput{}
  1900. req.Data = output
  1901. return
  1902. }
  1903. // CreateImage API operation for Amazon Elastic Compute Cloud.
  1904. //
  1905. // Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that
  1906. // is either running or stopped.
  1907. //
  1908. // If you customized your instance with instance store volumes or EBS volumes
  1909. // in addition to the root device volume, the new AMI contains block device
  1910. // mapping information for those volumes. When you launch an instance from this
  1911. // new AMI, the instance automatically launches with those additional volumes.
  1912. //
  1913. // For more information, see Creating Amazon EBS-Backed Linux AMIs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html)
  1914. // in the Amazon Elastic Compute Cloud User Guide.
  1915. //
  1916. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1917. // with awserr.Error's Code and Message methods to get detailed information about
  1918. // the error.
  1919. //
  1920. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1921. // API operation CreateImage for usage and error information.
  1922. func (c *EC2) CreateImage(input *CreateImageInput) (*CreateImageOutput, error) {
  1923. req, out := c.CreateImageRequest(input)
  1924. err := req.Send()
  1925. return out, err
  1926. }
  1927. const opCreateInstanceExportTask = "CreateInstanceExportTask"
  1928. // CreateInstanceExportTaskRequest generates a "aws/request.Request" representing the
  1929. // client's request for the CreateInstanceExportTask operation. The "output" return
  1930. // value can be used to capture response data after the request's "Send" method
  1931. // is called.
  1932. //
  1933. // See CreateInstanceExportTask for usage and error information.
  1934. //
  1935. // Creating a request object using this method should be used when you want to inject
  1936. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1937. // access properties on the request object before or after sending the request. If
  1938. // you just want the service response, call the CreateInstanceExportTask method directly
  1939. // instead.
  1940. //
  1941. // Note: You must call the "Send" method on the returned request object in order
  1942. // to execute the request.
  1943. //
  1944. // // Example sending a request using the CreateInstanceExportTaskRequest method.
  1945. // req, resp := client.CreateInstanceExportTaskRequest(params)
  1946. //
  1947. // err := req.Send()
  1948. // if err == nil { // resp is now filled
  1949. // fmt.Println(resp)
  1950. // }
  1951. //
  1952. func (c *EC2) CreateInstanceExportTaskRequest(input *CreateInstanceExportTaskInput) (req *request.Request, output *CreateInstanceExportTaskOutput) {
  1953. op := &request.Operation{
  1954. Name: opCreateInstanceExportTask,
  1955. HTTPMethod: "POST",
  1956. HTTPPath: "/",
  1957. }
  1958. if input == nil {
  1959. input = &CreateInstanceExportTaskInput{}
  1960. }
  1961. req = c.newRequest(op, input, output)
  1962. output = &CreateInstanceExportTaskOutput{}
  1963. req.Data = output
  1964. return
  1965. }
  1966. // CreateInstanceExportTask API operation for Amazon Elastic Compute Cloud.
  1967. //
  1968. // Exports a running or stopped instance to an S3 bucket.
  1969. //
  1970. // For information about the supported operating systems, image formats, and
  1971. // known limitations for the types of instances you can export, see Exporting
  1972. // an Instance as a VM Using VM Import/Export (http://docs.aws.amazon.com/vm-import/latest/userguide/vmexport.html)
  1973. // in the VM Import/Export User Guide.
  1974. //
  1975. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1976. // with awserr.Error's Code and Message methods to get detailed information about
  1977. // the error.
  1978. //
  1979. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1980. // API operation CreateInstanceExportTask for usage and error information.
  1981. func (c *EC2) CreateInstanceExportTask(input *CreateInstanceExportTaskInput) (*CreateInstanceExportTaskOutput, error) {
  1982. req, out := c.CreateInstanceExportTaskRequest(input)
  1983. err := req.Send()
  1984. return out, err
  1985. }
  1986. const opCreateInternetGateway = "CreateInternetGateway"
  1987. // CreateInternetGatewayRequest generates a "aws/request.Request" representing the
  1988. // client's request for the CreateInternetGateway operation. The "output" return
  1989. // value can be used to capture response data after the request's "Send" method
  1990. // is called.
  1991. //
  1992. // See CreateInternetGateway for usage and error information.
  1993. //
  1994. // Creating a request object using this method should be used when you want to inject
  1995. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1996. // access properties on the request object before or after sending the request. If
  1997. // you just want the service response, call the CreateInternetGateway method directly
  1998. // instead.
  1999. //
  2000. // Note: You must call the "Send" method on the returned request object in order
  2001. // to execute the request.
  2002. //
  2003. // // Example sending a request using the CreateInternetGatewayRequest method.
  2004. // req, resp := client.CreateInternetGatewayRequest(params)
  2005. //
  2006. // err := req.Send()
  2007. // if err == nil { // resp is now filled
  2008. // fmt.Println(resp)
  2009. // }
  2010. //
  2011. func (c *EC2) CreateInternetGatewayRequest(input *CreateInternetGatewayInput) (req *request.Request, output *CreateInternetGatewayOutput) {
  2012. op := &request.Operation{
  2013. Name: opCreateInternetGateway,
  2014. HTTPMethod: "POST",
  2015. HTTPPath: "/",
  2016. }
  2017. if input == nil {
  2018. input = &CreateInternetGatewayInput{}
  2019. }
  2020. req = c.newRequest(op, input, output)
  2021. output = &CreateInternetGatewayOutput{}
  2022. req.Data = output
  2023. return
  2024. }
  2025. // CreateInternetGateway API operation for Amazon Elastic Compute Cloud.
  2026. //
  2027. // Creates an Internet gateway for use with a VPC. After creating the Internet
  2028. // gateway, you attach it to a VPC using AttachInternetGateway.
  2029. //
  2030. // For more information about your VPC and Internet gateway, see the Amazon
  2031. // Virtual Private Cloud User Guide (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/).
  2032. //
  2033. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2034. // with awserr.Error's Code and Message methods to get detailed information about
  2035. // the error.
  2036. //
  2037. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2038. // API operation CreateInternetGateway for usage and error information.
  2039. func (c *EC2) CreateInternetGateway(input *CreateInternetGatewayInput) (*CreateInternetGatewayOutput, error) {
  2040. req, out := c.CreateInternetGatewayRequest(input)
  2041. err := req.Send()
  2042. return out, err
  2043. }
  2044. const opCreateKeyPair = "CreateKeyPair"
  2045. // CreateKeyPairRequest generates a "aws/request.Request" representing the
  2046. // client's request for the CreateKeyPair operation. The "output" return
  2047. // value can be used to capture response data after the request's "Send" method
  2048. // is called.
  2049. //
  2050. // See CreateKeyPair for usage and error information.
  2051. //
  2052. // Creating a request object using this method should be used when you want to inject
  2053. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2054. // access properties on the request object before or after sending the request. If
  2055. // you just want the service response, call the CreateKeyPair method directly
  2056. // instead.
  2057. //
  2058. // Note: You must call the "Send" method on the returned request object in order
  2059. // to execute the request.
  2060. //
  2061. // // Example sending a request using the CreateKeyPairRequest method.
  2062. // req, resp := client.CreateKeyPairRequest(params)
  2063. //
  2064. // err := req.Send()
  2065. // if err == nil { // resp is now filled
  2066. // fmt.Println(resp)
  2067. // }
  2068. //
  2069. func (c *EC2) CreateKeyPairRequest(input *CreateKeyPairInput) (req *request.Request, output *CreateKeyPairOutput) {
  2070. op := &request.Operation{
  2071. Name: opCreateKeyPair,
  2072. HTTPMethod: "POST",
  2073. HTTPPath: "/",
  2074. }
  2075. if input == nil {
  2076. input = &CreateKeyPairInput{}
  2077. }
  2078. req = c.newRequest(op, input, output)
  2079. output = &CreateKeyPairOutput{}
  2080. req.Data = output
  2081. return
  2082. }
  2083. // CreateKeyPair API operation for Amazon Elastic Compute Cloud.
  2084. //
  2085. // Creates a 2048-bit RSA key pair with the specified name. Amazon EC2 stores
  2086. // the public key and displays the private key for you to save to a file. The
  2087. // private key is returned as an unencrypted PEM encoded PKCS#8 private key.
  2088. // If a key with the specified name already exists, Amazon EC2 returns an error.
  2089. //
  2090. // You can have up to five thousand key pairs per region.
  2091. //
  2092. // The key pair returned to you is available only in the region in which you
  2093. // create it. To create a key pair that is available in all regions, use ImportKeyPair.
  2094. //
  2095. // For more information about key pairs, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
  2096. // in the Amazon Elastic Compute Cloud User Guide.
  2097. //
  2098. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2099. // with awserr.Error's Code and Message methods to get detailed information about
  2100. // the error.
  2101. //
  2102. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2103. // API operation CreateKeyPair for usage and error information.
  2104. func (c *EC2) CreateKeyPair(input *CreateKeyPairInput) (*CreateKeyPairOutput, error) {
  2105. req, out := c.CreateKeyPairRequest(input)
  2106. err := req.Send()
  2107. return out, err
  2108. }
  2109. const opCreateNatGateway = "CreateNatGateway"
  2110. // CreateNatGatewayRequest generates a "aws/request.Request" representing the
  2111. // client's request for the CreateNatGateway operation. The "output" return
  2112. // value can be used to capture response data after the request's "Send" method
  2113. // is called.
  2114. //
  2115. // See CreateNatGateway for usage and error information.
  2116. //
  2117. // Creating a request object using this method should be used when you want to inject
  2118. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2119. // access properties on the request object before or after sending the request. If
  2120. // you just want the service response, call the CreateNatGateway method directly
  2121. // instead.
  2122. //
  2123. // Note: You must call the "Send" method on the returned request object in order
  2124. // to execute the request.
  2125. //
  2126. // // Example sending a request using the CreateNatGatewayRequest method.
  2127. // req, resp := client.CreateNatGatewayRequest(params)
  2128. //
  2129. // err := req.Send()
  2130. // if err == nil { // resp is now filled
  2131. // fmt.Println(resp)
  2132. // }
  2133. //
  2134. func (c *EC2) CreateNatGatewayRequest(input *CreateNatGatewayInput) (req *request.Request, output *CreateNatGatewayOutput) {
  2135. op := &request.Operation{
  2136. Name: opCreateNatGateway,
  2137. HTTPMethod: "POST",
  2138. HTTPPath: "/",
  2139. }
  2140. if input == nil {
  2141. input = &CreateNatGatewayInput{}
  2142. }
  2143. req = c.newRequest(op, input, output)
  2144. output = &CreateNatGatewayOutput{}
  2145. req.Data = output
  2146. return
  2147. }
  2148. // CreateNatGateway API operation for Amazon Elastic Compute Cloud.
  2149. //
  2150. // Creates a NAT gateway in the specified subnet. A NAT gateway can be used
  2151. // to enable instances in a private subnet to connect to the Internet. This
  2152. // action creates a network interface in the specified subnet with a private
  2153. // IP address from the IP address range of the subnet. For more information,
  2154. // see NAT Gateways (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html)
  2155. // in the Amazon Virtual Private Cloud User Guide.
  2156. //
  2157. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2158. // with awserr.Error's Code and Message methods to get detailed information about
  2159. // the error.
  2160. //
  2161. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2162. // API operation CreateNatGateway for usage and error information.
  2163. func (c *EC2) CreateNatGateway(input *CreateNatGatewayInput) (*CreateNatGatewayOutput, error) {
  2164. req, out := c.CreateNatGatewayRequest(input)
  2165. err := req.Send()
  2166. return out, err
  2167. }
  2168. const opCreateNetworkAcl = "CreateNetworkAcl"
  2169. // CreateNetworkAclRequest generates a "aws/request.Request" representing the
  2170. // client's request for the CreateNetworkAcl operation. The "output" return
  2171. // value can be used to capture response data after the request's "Send" method
  2172. // is called.
  2173. //
  2174. // See CreateNetworkAcl for usage and error information.
  2175. //
  2176. // Creating a request object using this method should be used when you want to inject
  2177. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2178. // access properties on the request object before or after sending the request. If
  2179. // you just want the service response, call the CreateNetworkAcl method directly
  2180. // instead.
  2181. //
  2182. // Note: You must call the "Send" method on the returned request object in order
  2183. // to execute the request.
  2184. //
  2185. // // Example sending a request using the CreateNetworkAclRequest method.
  2186. // req, resp := client.CreateNetworkAclRequest(params)
  2187. //
  2188. // err := req.Send()
  2189. // if err == nil { // resp is now filled
  2190. // fmt.Println(resp)
  2191. // }
  2192. //
  2193. func (c *EC2) CreateNetworkAclRequest(input *CreateNetworkAclInput) (req *request.Request, output *CreateNetworkAclOutput) {
  2194. op := &request.Operation{
  2195. Name: opCreateNetworkAcl,
  2196. HTTPMethod: "POST",
  2197. HTTPPath: "/",
  2198. }
  2199. if input == nil {
  2200. input = &CreateNetworkAclInput{}
  2201. }
  2202. req = c.newRequest(op, input, output)
  2203. output = &CreateNetworkAclOutput{}
  2204. req.Data = output
  2205. return
  2206. }
  2207. // CreateNetworkAcl API operation for Amazon Elastic Compute Cloud.
  2208. //
  2209. // Creates a network ACL in a VPC. Network ACLs provide an optional layer of
  2210. // security (in addition to security groups) for the instances in your VPC.
  2211. //
  2212. // For more information about network ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  2213. // in the Amazon Virtual Private Cloud User Guide.
  2214. //
  2215. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2216. // with awserr.Error's Code and Message methods to get detailed information about
  2217. // the error.
  2218. //
  2219. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2220. // API operation CreateNetworkAcl for usage and error information.
  2221. func (c *EC2) CreateNetworkAcl(input *CreateNetworkAclInput) (*CreateNetworkAclOutput, error) {
  2222. req, out := c.CreateNetworkAclRequest(input)
  2223. err := req.Send()
  2224. return out, err
  2225. }
  2226. const opCreateNetworkAclEntry = "CreateNetworkAclEntry"
  2227. // CreateNetworkAclEntryRequest generates a "aws/request.Request" representing the
  2228. // client's request for the CreateNetworkAclEntry operation. The "output" return
  2229. // value can be used to capture response data after the request's "Send" method
  2230. // is called.
  2231. //
  2232. // See CreateNetworkAclEntry for usage and error information.
  2233. //
  2234. // Creating a request object using this method should be used when you want to inject
  2235. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2236. // access properties on the request object before or after sending the request. If
  2237. // you just want the service response, call the CreateNetworkAclEntry method directly
  2238. // instead.
  2239. //
  2240. // Note: You must call the "Send" method on the returned request object in order
  2241. // to execute the request.
  2242. //
  2243. // // Example sending a request using the CreateNetworkAclEntryRequest method.
  2244. // req, resp := client.CreateNetworkAclEntryRequest(params)
  2245. //
  2246. // err := req.Send()
  2247. // if err == nil { // resp is now filled
  2248. // fmt.Println(resp)
  2249. // }
  2250. //
  2251. func (c *EC2) CreateNetworkAclEntryRequest(input *CreateNetworkAclEntryInput) (req *request.Request, output *CreateNetworkAclEntryOutput) {
  2252. op := &request.Operation{
  2253. Name: opCreateNetworkAclEntry,
  2254. HTTPMethod: "POST",
  2255. HTTPPath: "/",
  2256. }
  2257. if input == nil {
  2258. input = &CreateNetworkAclEntryInput{}
  2259. }
  2260. req = c.newRequest(op, input, output)
  2261. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  2262. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  2263. output = &CreateNetworkAclEntryOutput{}
  2264. req.Data = output
  2265. return
  2266. }
  2267. // CreateNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
  2268. //
  2269. // Creates an entry (a rule) in a network ACL with the specified rule number.
  2270. // Each network ACL has a set of numbered ingress rules and a separate set of
  2271. // numbered egress rules. When determining whether a packet should be allowed
  2272. // in or out of a subnet associated with the ACL, we process the entries in
  2273. // the ACL according to the rule numbers, in ascending order. Each network ACL
  2274. // has a set of ingress rules and a separate set of egress rules.
  2275. //
  2276. // We recommend that you leave room between the rule numbers (for example, 100,
  2277. // 110, 120, ...), and not number them one right after the other (for example,
  2278. // 101, 102, 103, ...). This makes it easier to add a rule between existing
  2279. // ones without having to renumber the rules.
  2280. //
  2281. // After you add an entry, you can't modify it; you must either replace it,
  2282. // or create an entry and delete the old one.
  2283. //
  2284. // For more information about network ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  2285. // in the Amazon Virtual Private Cloud User Guide.
  2286. //
  2287. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2288. // with awserr.Error's Code and Message methods to get detailed information about
  2289. // the error.
  2290. //
  2291. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2292. // API operation CreateNetworkAclEntry for usage and error information.
  2293. func (c *EC2) CreateNetworkAclEntry(input *CreateNetworkAclEntryInput) (*CreateNetworkAclEntryOutput, error) {
  2294. req, out := c.CreateNetworkAclEntryRequest(input)
  2295. err := req.Send()
  2296. return out, err
  2297. }
  2298. const opCreateNetworkInterface = "CreateNetworkInterface"
  2299. // CreateNetworkInterfaceRequest generates a "aws/request.Request" representing the
  2300. // client's request for the CreateNetworkInterface operation. The "output" return
  2301. // value can be used to capture response data after the request's "Send" method
  2302. // is called.
  2303. //
  2304. // See CreateNetworkInterface for usage and error information.
  2305. //
  2306. // Creating a request object using this method should be used when you want to inject
  2307. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2308. // access properties on the request object before or after sending the request. If
  2309. // you just want the service response, call the CreateNetworkInterface method directly
  2310. // instead.
  2311. //
  2312. // Note: You must call the "Send" method on the returned request object in order
  2313. // to execute the request.
  2314. //
  2315. // // Example sending a request using the CreateNetworkInterfaceRequest method.
  2316. // req, resp := client.CreateNetworkInterfaceRequest(params)
  2317. //
  2318. // err := req.Send()
  2319. // if err == nil { // resp is now filled
  2320. // fmt.Println(resp)
  2321. // }
  2322. //
  2323. func (c *EC2) CreateNetworkInterfaceRequest(input *CreateNetworkInterfaceInput) (req *request.Request, output *CreateNetworkInterfaceOutput) {
  2324. op := &request.Operation{
  2325. Name: opCreateNetworkInterface,
  2326. HTTPMethod: "POST",
  2327. HTTPPath: "/",
  2328. }
  2329. if input == nil {
  2330. input = &CreateNetworkInterfaceInput{}
  2331. }
  2332. req = c.newRequest(op, input, output)
  2333. output = &CreateNetworkInterfaceOutput{}
  2334. req.Data = output
  2335. return
  2336. }
  2337. // CreateNetworkInterface API operation for Amazon Elastic Compute Cloud.
  2338. //
  2339. // Creates a network interface in the specified subnet.
  2340. //
  2341. // For more information about network interfaces, see Elastic Network Interfaces
  2342. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) in the
  2343. // Amazon Elastic Compute Cloud User Guide.
  2344. //
  2345. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2346. // with awserr.Error's Code and Message methods to get detailed information about
  2347. // the error.
  2348. //
  2349. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2350. // API operation CreateNetworkInterface for usage and error information.
  2351. func (c *EC2) CreateNetworkInterface(input *CreateNetworkInterfaceInput) (*CreateNetworkInterfaceOutput, error) {
  2352. req, out := c.CreateNetworkInterfaceRequest(input)
  2353. err := req.Send()
  2354. return out, err
  2355. }
  2356. const opCreatePlacementGroup = "CreatePlacementGroup"
  2357. // CreatePlacementGroupRequest generates a "aws/request.Request" representing the
  2358. // client's request for the CreatePlacementGroup operation. The "output" return
  2359. // value can be used to capture response data after the request's "Send" method
  2360. // is called.
  2361. //
  2362. // See CreatePlacementGroup for usage and error information.
  2363. //
  2364. // Creating a request object using this method should be used when you want to inject
  2365. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2366. // access properties on the request object before or after sending the request. If
  2367. // you just want the service response, call the CreatePlacementGroup method directly
  2368. // instead.
  2369. //
  2370. // Note: You must call the "Send" method on the returned request object in order
  2371. // to execute the request.
  2372. //
  2373. // // Example sending a request using the CreatePlacementGroupRequest method.
  2374. // req, resp := client.CreatePlacementGroupRequest(params)
  2375. //
  2376. // err := req.Send()
  2377. // if err == nil { // resp is now filled
  2378. // fmt.Println(resp)
  2379. // }
  2380. //
  2381. func (c *EC2) CreatePlacementGroupRequest(input *CreatePlacementGroupInput) (req *request.Request, output *CreatePlacementGroupOutput) {
  2382. op := &request.Operation{
  2383. Name: opCreatePlacementGroup,
  2384. HTTPMethod: "POST",
  2385. HTTPPath: "/",
  2386. }
  2387. if input == nil {
  2388. input = &CreatePlacementGroupInput{}
  2389. }
  2390. req = c.newRequest(op, input, output)
  2391. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  2392. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  2393. output = &CreatePlacementGroupOutput{}
  2394. req.Data = output
  2395. return
  2396. }
  2397. // CreatePlacementGroup API operation for Amazon Elastic Compute Cloud.
  2398. //
  2399. // Creates a placement group that you launch cluster instances into. You must
  2400. // give the group a name that's unique within the scope of your account.
  2401. //
  2402. // For more information about placement groups and cluster instances, see Cluster
  2403. // Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using_cluster_computing.html)
  2404. // in the Amazon Elastic Compute Cloud User Guide.
  2405. //
  2406. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2407. // with awserr.Error's Code and Message methods to get detailed information about
  2408. // the error.
  2409. //
  2410. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2411. // API operation CreatePlacementGroup for usage and error information.
  2412. func (c *EC2) CreatePlacementGroup(input *CreatePlacementGroupInput) (*CreatePlacementGroupOutput, error) {
  2413. req, out := c.CreatePlacementGroupRequest(input)
  2414. err := req.Send()
  2415. return out, err
  2416. }
  2417. const opCreateReservedInstancesListing = "CreateReservedInstancesListing"
  2418. // CreateReservedInstancesListingRequest generates a "aws/request.Request" representing the
  2419. // client's request for the CreateReservedInstancesListing operation. The "output" return
  2420. // value can be used to capture response data after the request's "Send" method
  2421. // is called.
  2422. //
  2423. // See CreateReservedInstancesListing for usage and error information.
  2424. //
  2425. // Creating a request object using this method should be used when you want to inject
  2426. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2427. // access properties on the request object before or after sending the request. If
  2428. // you just want the service response, call the CreateReservedInstancesListing method directly
  2429. // instead.
  2430. //
  2431. // Note: You must call the "Send" method on the returned request object in order
  2432. // to execute the request.
  2433. //
  2434. // // Example sending a request using the CreateReservedInstancesListingRequest method.
  2435. // req, resp := client.CreateReservedInstancesListingRequest(params)
  2436. //
  2437. // err := req.Send()
  2438. // if err == nil { // resp is now filled
  2439. // fmt.Println(resp)
  2440. // }
  2441. //
  2442. func (c *EC2) CreateReservedInstancesListingRequest(input *CreateReservedInstancesListingInput) (req *request.Request, output *CreateReservedInstancesListingOutput) {
  2443. op := &request.Operation{
  2444. Name: opCreateReservedInstancesListing,
  2445. HTTPMethod: "POST",
  2446. HTTPPath: "/",
  2447. }
  2448. if input == nil {
  2449. input = &CreateReservedInstancesListingInput{}
  2450. }
  2451. req = c.newRequest(op, input, output)
  2452. output = &CreateReservedInstancesListingOutput{}
  2453. req.Data = output
  2454. return
  2455. }
  2456. // CreateReservedInstancesListing API operation for Amazon Elastic Compute Cloud.
  2457. //
  2458. // Creates a listing for Amazon EC2 Standard Reserved Instances to be sold in
  2459. // the Reserved Instance Marketplace. You can submit one Standard Reserved Instance
  2460. // listing at a time. To get a list of your Standard Reserved Instances, you
  2461. // can use the DescribeReservedInstances operation.
  2462. //
  2463. // The Reserved Instance Marketplace matches sellers who want to resell Standard
  2464. // Reserved Instance capacity that they no longer need with buyers who want
  2465. // to purchase additional capacity. Reserved Instances bought and sold through
  2466. // the Reserved Instance Marketplace work like any other Reserved Instances.
  2467. //
  2468. // To sell your Standard Reserved Instances, you must first register as a seller
  2469. // in the Reserved Instance Marketplace. After completing the registration process,
  2470. // you can create a Reserved Instance Marketplace listing of some or all of
  2471. // your Standard Reserved Instances, and specify the upfront price to receive
  2472. // for them. Your Standard Reserved Instance listings then become available
  2473. // for purchase. To view the details of your Standard Reserved Instance listing,
  2474. // you can use the DescribeReservedInstancesListings operation.
  2475. //
  2476. // For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  2477. // in the Amazon Elastic Compute Cloud User Guide.
  2478. //
  2479. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2480. // with awserr.Error's Code and Message methods to get detailed information about
  2481. // the error.
  2482. //
  2483. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2484. // API operation CreateReservedInstancesListing for usage and error information.
  2485. func (c *EC2) CreateReservedInstancesListing(input *CreateReservedInstancesListingInput) (*CreateReservedInstancesListingOutput, error) {
  2486. req, out := c.CreateReservedInstancesListingRequest(input)
  2487. err := req.Send()
  2488. return out, err
  2489. }
  2490. const opCreateRoute = "CreateRoute"
  2491. // CreateRouteRequest generates a "aws/request.Request" representing the
  2492. // client's request for the CreateRoute operation. The "output" return
  2493. // value can be used to capture response data after the request's "Send" method
  2494. // is called.
  2495. //
  2496. // See CreateRoute for usage and error information.
  2497. //
  2498. // Creating a request object using this method should be used when you want to inject
  2499. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2500. // access properties on the request object before or after sending the request. If
  2501. // you just want the service response, call the CreateRoute method directly
  2502. // instead.
  2503. //
  2504. // Note: You must call the "Send" method on the returned request object in order
  2505. // to execute the request.
  2506. //
  2507. // // Example sending a request using the CreateRouteRequest method.
  2508. // req, resp := client.CreateRouteRequest(params)
  2509. //
  2510. // err := req.Send()
  2511. // if err == nil { // resp is now filled
  2512. // fmt.Println(resp)
  2513. // }
  2514. //
  2515. func (c *EC2) CreateRouteRequest(input *CreateRouteInput) (req *request.Request, output *CreateRouteOutput) {
  2516. op := &request.Operation{
  2517. Name: opCreateRoute,
  2518. HTTPMethod: "POST",
  2519. HTTPPath: "/",
  2520. }
  2521. if input == nil {
  2522. input = &CreateRouteInput{}
  2523. }
  2524. req = c.newRequest(op, input, output)
  2525. output = &CreateRouteOutput{}
  2526. req.Data = output
  2527. return
  2528. }
  2529. // CreateRoute API operation for Amazon Elastic Compute Cloud.
  2530. //
  2531. // Creates a route in a route table within a VPC.
  2532. //
  2533. // You must specify one of the following targets: Internet gateway or virtual
  2534. // private gateway, NAT instance, NAT gateway, VPC peering connection, or network
  2535. // interface.
  2536. //
  2537. // When determining how to route traffic, we use the route with the most specific
  2538. // match. For example, let's say the traffic is destined for 192.0.2.3, and
  2539. // the route table includes the following two routes:
  2540. //
  2541. // * 192.0.2.0/24 (goes to some target A)
  2542. //
  2543. // * 192.0.2.0/28 (goes to some target B)
  2544. //
  2545. // Both routes apply to the traffic destined for 192.0.2.3. However, the second
  2546. // route in the list covers a smaller number of IP addresses and is therefore
  2547. // more specific, so we use that route to determine where to target the traffic.
  2548. //
  2549. // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  2550. // in the Amazon Virtual Private Cloud User Guide.
  2551. //
  2552. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2553. // with awserr.Error's Code and Message methods to get detailed information about
  2554. // the error.
  2555. //
  2556. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2557. // API operation CreateRoute for usage and error information.
  2558. func (c *EC2) CreateRoute(input *CreateRouteInput) (*CreateRouteOutput, error) {
  2559. req, out := c.CreateRouteRequest(input)
  2560. err := req.Send()
  2561. return out, err
  2562. }
  2563. const opCreateRouteTable = "CreateRouteTable"
  2564. // CreateRouteTableRequest generates a "aws/request.Request" representing the
  2565. // client's request for the CreateRouteTable operation. The "output" return
  2566. // value can be used to capture response data after the request's "Send" method
  2567. // is called.
  2568. //
  2569. // See CreateRouteTable for usage and error information.
  2570. //
  2571. // Creating a request object using this method should be used when you want to inject
  2572. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2573. // access properties on the request object before or after sending the request. If
  2574. // you just want the service response, call the CreateRouteTable method directly
  2575. // instead.
  2576. //
  2577. // Note: You must call the "Send" method on the returned request object in order
  2578. // to execute the request.
  2579. //
  2580. // // Example sending a request using the CreateRouteTableRequest method.
  2581. // req, resp := client.CreateRouteTableRequest(params)
  2582. //
  2583. // err := req.Send()
  2584. // if err == nil { // resp is now filled
  2585. // fmt.Println(resp)
  2586. // }
  2587. //
  2588. func (c *EC2) CreateRouteTableRequest(input *CreateRouteTableInput) (req *request.Request, output *CreateRouteTableOutput) {
  2589. op := &request.Operation{
  2590. Name: opCreateRouteTable,
  2591. HTTPMethod: "POST",
  2592. HTTPPath: "/",
  2593. }
  2594. if input == nil {
  2595. input = &CreateRouteTableInput{}
  2596. }
  2597. req = c.newRequest(op, input, output)
  2598. output = &CreateRouteTableOutput{}
  2599. req.Data = output
  2600. return
  2601. }
  2602. // CreateRouteTable API operation for Amazon Elastic Compute Cloud.
  2603. //
  2604. // Creates a route table for the specified VPC. After you create a route table,
  2605. // you can add routes and associate the table with a subnet.
  2606. //
  2607. // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  2608. // in the Amazon Virtual Private Cloud User Guide.
  2609. //
  2610. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2611. // with awserr.Error's Code and Message methods to get detailed information about
  2612. // the error.
  2613. //
  2614. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2615. // API operation CreateRouteTable for usage and error information.
  2616. func (c *EC2) CreateRouteTable(input *CreateRouteTableInput) (*CreateRouteTableOutput, error) {
  2617. req, out := c.CreateRouteTableRequest(input)
  2618. err := req.Send()
  2619. return out, err
  2620. }
  2621. const opCreateSecurityGroup = "CreateSecurityGroup"
  2622. // CreateSecurityGroupRequest generates a "aws/request.Request" representing the
  2623. // client's request for the CreateSecurityGroup operation. The "output" return
  2624. // value can be used to capture response data after the request's "Send" method
  2625. // is called.
  2626. //
  2627. // See CreateSecurityGroup for usage and error information.
  2628. //
  2629. // Creating a request object using this method should be used when you want to inject
  2630. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2631. // access properties on the request object before or after sending the request. If
  2632. // you just want the service response, call the CreateSecurityGroup method directly
  2633. // instead.
  2634. //
  2635. // Note: You must call the "Send" method on the returned request object in order
  2636. // to execute the request.
  2637. //
  2638. // // Example sending a request using the CreateSecurityGroupRequest method.
  2639. // req, resp := client.CreateSecurityGroupRequest(params)
  2640. //
  2641. // err := req.Send()
  2642. // if err == nil { // resp is now filled
  2643. // fmt.Println(resp)
  2644. // }
  2645. //
  2646. func (c *EC2) CreateSecurityGroupRequest(input *CreateSecurityGroupInput) (req *request.Request, output *CreateSecurityGroupOutput) {
  2647. op := &request.Operation{
  2648. Name: opCreateSecurityGroup,
  2649. HTTPMethod: "POST",
  2650. HTTPPath: "/",
  2651. }
  2652. if input == nil {
  2653. input = &CreateSecurityGroupInput{}
  2654. }
  2655. req = c.newRequest(op, input, output)
  2656. output = &CreateSecurityGroupOutput{}
  2657. req.Data = output
  2658. return
  2659. }
  2660. // CreateSecurityGroup API operation for Amazon Elastic Compute Cloud.
  2661. //
  2662. // Creates a security group.
  2663. //
  2664. // A security group is for use with instances either in the EC2-Classic platform
  2665. // or in a specific VPC. For more information, see Amazon EC2 Security Groups
  2666. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)
  2667. // in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your
  2668. // VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
  2669. // in the Amazon Virtual Private Cloud User Guide.
  2670. //
  2671. // EC2-Classic: You can have up to 500 security groups.
  2672. //
  2673. // EC2-VPC: You can create up to 500 security groups per VPC.
  2674. //
  2675. // When you create a security group, you specify a friendly name of your choice.
  2676. // You can have a security group for use in EC2-Classic with the same name as
  2677. // a security group for use in a VPC. However, you can't have two security groups
  2678. // for use in EC2-Classic with the same name or two security groups for use
  2679. // in a VPC with the same name.
  2680. //
  2681. // You have a default security group for use in EC2-Classic and a default security
  2682. // group for use in your VPC. If you don't specify a security group when you
  2683. // launch an instance, the instance is launched into the appropriate default
  2684. // security group. A default security group includes a default rule that grants
  2685. // instances unrestricted network access to each other.
  2686. //
  2687. // You can add or remove rules from your security groups using AuthorizeSecurityGroupIngress,
  2688. // AuthorizeSecurityGroupEgress, RevokeSecurityGroupIngress, and RevokeSecurityGroupEgress.
  2689. //
  2690. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2691. // with awserr.Error's Code and Message methods to get detailed information about
  2692. // the error.
  2693. //
  2694. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2695. // API operation CreateSecurityGroup for usage and error information.
  2696. func (c *EC2) CreateSecurityGroup(input *CreateSecurityGroupInput) (*CreateSecurityGroupOutput, error) {
  2697. req, out := c.CreateSecurityGroupRequest(input)
  2698. err := req.Send()
  2699. return out, err
  2700. }
  2701. const opCreateSnapshot = "CreateSnapshot"
  2702. // CreateSnapshotRequest generates a "aws/request.Request" representing the
  2703. // client's request for the CreateSnapshot operation. The "output" return
  2704. // value can be used to capture response data after the request's "Send" method
  2705. // is called.
  2706. //
  2707. // See CreateSnapshot for usage and error information.
  2708. //
  2709. // Creating a request object using this method should be used when you want to inject
  2710. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2711. // access properties on the request object before or after sending the request. If
  2712. // you just want the service response, call the CreateSnapshot method directly
  2713. // instead.
  2714. //
  2715. // Note: You must call the "Send" method on the returned request object in order
  2716. // to execute the request.
  2717. //
  2718. // // Example sending a request using the CreateSnapshotRequest method.
  2719. // req, resp := client.CreateSnapshotRequest(params)
  2720. //
  2721. // err := req.Send()
  2722. // if err == nil { // resp is now filled
  2723. // fmt.Println(resp)
  2724. // }
  2725. //
  2726. func (c *EC2) CreateSnapshotRequest(input *CreateSnapshotInput) (req *request.Request, output *Snapshot) {
  2727. op := &request.Operation{
  2728. Name: opCreateSnapshot,
  2729. HTTPMethod: "POST",
  2730. HTTPPath: "/",
  2731. }
  2732. if input == nil {
  2733. input = &CreateSnapshotInput{}
  2734. }
  2735. req = c.newRequest(op, input, output)
  2736. output = &Snapshot{}
  2737. req.Data = output
  2738. return
  2739. }
  2740. // CreateSnapshot API operation for Amazon Elastic Compute Cloud.
  2741. //
  2742. // Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use
  2743. // snapshots for backups, to make copies of EBS volumes, and to save data before
  2744. // shutting down an instance.
  2745. //
  2746. // When a snapshot is created, any AWS Marketplace product codes that are associated
  2747. // with the source volume are propagated to the snapshot.
  2748. //
  2749. // You can take a snapshot of an attached volume that is in use. However, snapshots
  2750. // only capture data that has been written to your EBS volume at the time the
  2751. // snapshot command is issued; this may exclude any data that has been cached
  2752. // by any applications or the operating system. If you can pause any file systems
  2753. // on the volume long enough to take a snapshot, your snapshot should be complete.
  2754. // However, if you cannot pause all file writes to the volume, you should unmount
  2755. // the volume from within the instance, issue the snapshot command, and then
  2756. // remount the volume to ensure a consistent and complete snapshot. You may
  2757. // remount and use your volume while the snapshot status is pending.
  2758. //
  2759. // To create a snapshot for EBS volumes that serve as root devices, you should
  2760. // stop the instance before taking the snapshot.
  2761. //
  2762. // Snapshots that are taken from encrypted volumes are automatically encrypted.
  2763. // Volumes that are created from encrypted snapshots are also automatically
  2764. // encrypted. Your encrypted volumes and any associated snapshots always remain
  2765. // protected.
  2766. //
  2767. // For more information, see Amazon Elastic Block Store (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html)
  2768. // and Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  2769. // in the Amazon Elastic Compute Cloud User Guide.
  2770. //
  2771. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2772. // with awserr.Error's Code and Message methods to get detailed information about
  2773. // the error.
  2774. //
  2775. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2776. // API operation CreateSnapshot for usage and error information.
  2777. func (c *EC2) CreateSnapshot(input *CreateSnapshotInput) (*Snapshot, error) {
  2778. req, out := c.CreateSnapshotRequest(input)
  2779. err := req.Send()
  2780. return out, err
  2781. }
  2782. const opCreateSpotDatafeedSubscription = "CreateSpotDatafeedSubscription"
  2783. // CreateSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
  2784. // client's request for the CreateSpotDatafeedSubscription operation. The "output" return
  2785. // value can be used to capture response data after the request's "Send" method
  2786. // is called.
  2787. //
  2788. // See CreateSpotDatafeedSubscription for usage and error information.
  2789. //
  2790. // Creating a request object using this method should be used when you want to inject
  2791. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2792. // access properties on the request object before or after sending the request. If
  2793. // you just want the service response, call the CreateSpotDatafeedSubscription method directly
  2794. // instead.
  2795. //
  2796. // Note: You must call the "Send" method on the returned request object in order
  2797. // to execute the request.
  2798. //
  2799. // // Example sending a request using the CreateSpotDatafeedSubscriptionRequest method.
  2800. // req, resp := client.CreateSpotDatafeedSubscriptionRequest(params)
  2801. //
  2802. // err := req.Send()
  2803. // if err == nil { // resp is now filled
  2804. // fmt.Println(resp)
  2805. // }
  2806. //
  2807. func (c *EC2) CreateSpotDatafeedSubscriptionRequest(input *CreateSpotDatafeedSubscriptionInput) (req *request.Request, output *CreateSpotDatafeedSubscriptionOutput) {
  2808. op := &request.Operation{
  2809. Name: opCreateSpotDatafeedSubscription,
  2810. HTTPMethod: "POST",
  2811. HTTPPath: "/",
  2812. }
  2813. if input == nil {
  2814. input = &CreateSpotDatafeedSubscriptionInput{}
  2815. }
  2816. req = c.newRequest(op, input, output)
  2817. output = &CreateSpotDatafeedSubscriptionOutput{}
  2818. req.Data = output
  2819. return
  2820. }
  2821. // CreateSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
  2822. //
  2823. // Creates a data feed for Spot instances, enabling you to view Spot instance
  2824. // usage logs. You can create one data feed per AWS account. For more information,
  2825. // see Spot Instance Data Feed (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html)
  2826. // in the Amazon Elastic Compute Cloud User Guide.
  2827. //
  2828. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2829. // with awserr.Error's Code and Message methods to get detailed information about
  2830. // the error.
  2831. //
  2832. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2833. // API operation CreateSpotDatafeedSubscription for usage and error information.
  2834. func (c *EC2) CreateSpotDatafeedSubscription(input *CreateSpotDatafeedSubscriptionInput) (*CreateSpotDatafeedSubscriptionOutput, error) {
  2835. req, out := c.CreateSpotDatafeedSubscriptionRequest(input)
  2836. err := req.Send()
  2837. return out, err
  2838. }
  2839. const opCreateSubnet = "CreateSubnet"
  2840. // CreateSubnetRequest generates a "aws/request.Request" representing the
  2841. // client's request for the CreateSubnet operation. The "output" return
  2842. // value can be used to capture response data after the request's "Send" method
  2843. // is called.
  2844. //
  2845. // See CreateSubnet for usage and error information.
  2846. //
  2847. // Creating a request object using this method should be used when you want to inject
  2848. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2849. // access properties on the request object before or after sending the request. If
  2850. // you just want the service response, call the CreateSubnet method directly
  2851. // instead.
  2852. //
  2853. // Note: You must call the "Send" method on the returned request object in order
  2854. // to execute the request.
  2855. //
  2856. // // Example sending a request using the CreateSubnetRequest method.
  2857. // req, resp := client.CreateSubnetRequest(params)
  2858. //
  2859. // err := req.Send()
  2860. // if err == nil { // resp is now filled
  2861. // fmt.Println(resp)
  2862. // }
  2863. //
  2864. func (c *EC2) CreateSubnetRequest(input *CreateSubnetInput) (req *request.Request, output *CreateSubnetOutput) {
  2865. op := &request.Operation{
  2866. Name: opCreateSubnet,
  2867. HTTPMethod: "POST",
  2868. HTTPPath: "/",
  2869. }
  2870. if input == nil {
  2871. input = &CreateSubnetInput{}
  2872. }
  2873. req = c.newRequest(op, input, output)
  2874. output = &CreateSubnetOutput{}
  2875. req.Data = output
  2876. return
  2877. }
  2878. // CreateSubnet API operation for Amazon Elastic Compute Cloud.
  2879. //
  2880. // Creates a subnet in an existing VPC.
  2881. //
  2882. // When you create each subnet, you provide the VPC ID and the CIDR block you
  2883. // want for the subnet. After you create a subnet, you can't change its CIDR
  2884. // block. The subnet's CIDR block can be the same as the VPC's CIDR block (assuming
  2885. // you want only a single subnet in the VPC), or a subset of the VPC's CIDR
  2886. // block. If you create more than one subnet in a VPC, the subnets' CIDR blocks
  2887. // must not overlap. The smallest subnet (and VPC) you can create uses a /28
  2888. // netmask (16 IP addresses), and the largest uses a /16 netmask (65,536 IP
  2889. // addresses).
  2890. //
  2891. // AWS reserves both the first four and the last IP address in each subnet's
  2892. // CIDR block. They're not available for use.
  2893. //
  2894. // If you add more than one subnet to a VPC, they're set up in a star topology
  2895. // with a logical router in the middle.
  2896. //
  2897. // If you launch an instance in a VPC using an Amazon EBS-backed AMI, the IP
  2898. // address doesn't change if you stop and restart the instance (unlike a similar
  2899. // instance launched outside a VPC, which gets a new IP address when restarted).
  2900. // It's therefore possible to have a subnet with no running instances (they're
  2901. // all stopped), but no remaining IP addresses available.
  2902. //
  2903. // For more information about subnets, see Your VPC and Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html)
  2904. // in the Amazon Virtual Private Cloud User Guide.
  2905. //
  2906. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2907. // with awserr.Error's Code and Message methods to get detailed information about
  2908. // the error.
  2909. //
  2910. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2911. // API operation CreateSubnet for usage and error information.
  2912. func (c *EC2) CreateSubnet(input *CreateSubnetInput) (*CreateSubnetOutput, error) {
  2913. req, out := c.CreateSubnetRequest(input)
  2914. err := req.Send()
  2915. return out, err
  2916. }
  2917. const opCreateTags = "CreateTags"
  2918. // CreateTagsRequest generates a "aws/request.Request" representing the
  2919. // client's request for the CreateTags operation. The "output" return
  2920. // value can be used to capture response data after the request's "Send" method
  2921. // is called.
  2922. //
  2923. // See CreateTags for usage and error information.
  2924. //
  2925. // Creating a request object using this method should be used when you want to inject
  2926. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2927. // access properties on the request object before or after sending the request. If
  2928. // you just want the service response, call the CreateTags method directly
  2929. // instead.
  2930. //
  2931. // Note: You must call the "Send" method on the returned request object in order
  2932. // to execute the request.
  2933. //
  2934. // // Example sending a request using the CreateTagsRequest method.
  2935. // req, resp := client.CreateTagsRequest(params)
  2936. //
  2937. // err := req.Send()
  2938. // if err == nil { // resp is now filled
  2939. // fmt.Println(resp)
  2940. // }
  2941. //
  2942. func (c *EC2) CreateTagsRequest(input *CreateTagsInput) (req *request.Request, output *CreateTagsOutput) {
  2943. op := &request.Operation{
  2944. Name: opCreateTags,
  2945. HTTPMethod: "POST",
  2946. HTTPPath: "/",
  2947. }
  2948. if input == nil {
  2949. input = &CreateTagsInput{}
  2950. }
  2951. req = c.newRequest(op, input, output)
  2952. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  2953. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  2954. output = &CreateTagsOutput{}
  2955. req.Data = output
  2956. return
  2957. }
  2958. // CreateTags API operation for Amazon Elastic Compute Cloud.
  2959. //
  2960. // Adds or overwrites one or more tags for the specified Amazon EC2 resource
  2961. // or resources. Each resource can have a maximum of 50 tags. Each tag consists
  2962. // of a key and optional value. Tag keys must be unique per resource.
  2963. //
  2964. // For more information about tags, see Tagging Your Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
  2965. // in the Amazon Elastic Compute Cloud User Guide. For more information about
  2966. // creating IAM policies that control users' access to resources based on tags,
  2967. // see Supported Resource-Level Permissions for Amazon EC2 API Actions (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-iam-actions-resources.html)
  2968. // in the Amazon Elastic Compute Cloud User Guide.
  2969. //
  2970. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2971. // with awserr.Error's Code and Message methods to get detailed information about
  2972. // the error.
  2973. //
  2974. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2975. // API operation CreateTags for usage and error information.
  2976. func (c *EC2) CreateTags(input *CreateTagsInput) (*CreateTagsOutput, error) {
  2977. req, out := c.CreateTagsRequest(input)
  2978. err := req.Send()
  2979. return out, err
  2980. }
  2981. const opCreateVolume = "CreateVolume"
  2982. // CreateVolumeRequest generates a "aws/request.Request" representing the
  2983. // client's request for the CreateVolume operation. The "output" return
  2984. // value can be used to capture response data after the request's "Send" method
  2985. // is called.
  2986. //
  2987. // See CreateVolume for usage and error information.
  2988. //
  2989. // Creating a request object using this method should be used when you want to inject
  2990. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2991. // access properties on the request object before or after sending the request. If
  2992. // you just want the service response, call the CreateVolume method directly
  2993. // instead.
  2994. //
  2995. // Note: You must call the "Send" method on the returned request object in order
  2996. // to execute the request.
  2997. //
  2998. // // Example sending a request using the CreateVolumeRequest method.
  2999. // req, resp := client.CreateVolumeRequest(params)
  3000. //
  3001. // err := req.Send()
  3002. // if err == nil { // resp is now filled
  3003. // fmt.Println(resp)
  3004. // }
  3005. //
  3006. func (c *EC2) CreateVolumeRequest(input *CreateVolumeInput) (req *request.Request, output *Volume) {
  3007. op := &request.Operation{
  3008. Name: opCreateVolume,
  3009. HTTPMethod: "POST",
  3010. HTTPPath: "/",
  3011. }
  3012. if input == nil {
  3013. input = &CreateVolumeInput{}
  3014. }
  3015. req = c.newRequest(op, input, output)
  3016. output = &Volume{}
  3017. req.Data = output
  3018. return
  3019. }
  3020. // CreateVolume API operation for Amazon Elastic Compute Cloud.
  3021. //
  3022. // Creates an EBS volume that can be attached to an instance in the same Availability
  3023. // Zone. The volume is created in the regional endpoint that you send the HTTP
  3024. // request to. For more information see Regions and Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html).
  3025. //
  3026. // You can create a new empty volume or restore a volume from an EBS snapshot.
  3027. // Any AWS Marketplace product codes from the snapshot are propagated to the
  3028. // volume.
  3029. //
  3030. // You can create encrypted volumes with the Encrypted parameter. Encrypted
  3031. // volumes may only be attached to instances that support Amazon EBS encryption.
  3032. // Volumes that are created from encrypted snapshots are also automatically
  3033. // encrypted. For more information, see Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  3034. // in the Amazon Elastic Compute Cloud User Guide.
  3035. //
  3036. // For more information, see Creating or Restoring an Amazon EBS Volume (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-volume.html)
  3037. // in the Amazon Elastic Compute Cloud User Guide.
  3038. //
  3039. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3040. // with awserr.Error's Code and Message methods to get detailed information about
  3041. // the error.
  3042. //
  3043. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3044. // API operation CreateVolume for usage and error information.
  3045. func (c *EC2) CreateVolume(input *CreateVolumeInput) (*Volume, error) {
  3046. req, out := c.CreateVolumeRequest(input)
  3047. err := req.Send()
  3048. return out, err
  3049. }
  3050. const opCreateVpc = "CreateVpc"
  3051. // CreateVpcRequest generates a "aws/request.Request" representing the
  3052. // client's request for the CreateVpc operation. The "output" return
  3053. // value can be used to capture response data after the request's "Send" method
  3054. // is called.
  3055. //
  3056. // See CreateVpc for usage and error information.
  3057. //
  3058. // Creating a request object using this method should be used when you want to inject
  3059. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3060. // access properties on the request object before or after sending the request. If
  3061. // you just want the service response, call the CreateVpc method directly
  3062. // instead.
  3063. //
  3064. // Note: You must call the "Send" method on the returned request object in order
  3065. // to execute the request.
  3066. //
  3067. // // Example sending a request using the CreateVpcRequest method.
  3068. // req, resp := client.CreateVpcRequest(params)
  3069. //
  3070. // err := req.Send()
  3071. // if err == nil { // resp is now filled
  3072. // fmt.Println(resp)
  3073. // }
  3074. //
  3075. func (c *EC2) CreateVpcRequest(input *CreateVpcInput) (req *request.Request, output *CreateVpcOutput) {
  3076. op := &request.Operation{
  3077. Name: opCreateVpc,
  3078. HTTPMethod: "POST",
  3079. HTTPPath: "/",
  3080. }
  3081. if input == nil {
  3082. input = &CreateVpcInput{}
  3083. }
  3084. req = c.newRequest(op, input, output)
  3085. output = &CreateVpcOutput{}
  3086. req.Data = output
  3087. return
  3088. }
  3089. // CreateVpc API operation for Amazon Elastic Compute Cloud.
  3090. //
  3091. // Creates a VPC with the specified CIDR block.
  3092. //
  3093. // The smallest VPC you can create uses a /28 netmask (16 IP addresses), and
  3094. // the largest uses a /16 netmask (65,536 IP addresses). To help you decide
  3095. // how big to make your VPC, see Your VPC and Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html)
  3096. // in the Amazon Virtual Private Cloud User Guide.
  3097. //
  3098. // By default, each instance you launch in the VPC has the default DHCP options,
  3099. // which includes only a default DNS server that we provide (AmazonProvidedDNS).
  3100. // For more information about DHCP options, see DHCP Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
  3101. // in the Amazon Virtual Private Cloud User Guide.
  3102. //
  3103. // You can specify the instance tenancy value for the VPC when you create it.
  3104. // You can't change this value for the VPC after you create it. For more information,
  3105. // see Dedicated Instances (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/dedicated-instance.html.html)
  3106. // in the Amazon Virtual Private Cloud User Guide.
  3107. //
  3108. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3109. // with awserr.Error's Code and Message methods to get detailed information about
  3110. // the error.
  3111. //
  3112. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3113. // API operation CreateVpc for usage and error information.
  3114. func (c *EC2) CreateVpc(input *CreateVpcInput) (*CreateVpcOutput, error) {
  3115. req, out := c.CreateVpcRequest(input)
  3116. err := req.Send()
  3117. return out, err
  3118. }
  3119. const opCreateVpcEndpoint = "CreateVpcEndpoint"
  3120. // CreateVpcEndpointRequest generates a "aws/request.Request" representing the
  3121. // client's request for the CreateVpcEndpoint operation. The "output" return
  3122. // value can be used to capture response data after the request's "Send" method
  3123. // is called.
  3124. //
  3125. // See CreateVpcEndpoint for usage and error information.
  3126. //
  3127. // Creating a request object using this method should be used when you want to inject
  3128. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3129. // access properties on the request object before or after sending the request. If
  3130. // you just want the service response, call the CreateVpcEndpoint method directly
  3131. // instead.
  3132. //
  3133. // Note: You must call the "Send" method on the returned request object in order
  3134. // to execute the request.
  3135. //
  3136. // // Example sending a request using the CreateVpcEndpointRequest method.
  3137. // req, resp := client.CreateVpcEndpointRequest(params)
  3138. //
  3139. // err := req.Send()
  3140. // if err == nil { // resp is now filled
  3141. // fmt.Println(resp)
  3142. // }
  3143. //
  3144. func (c *EC2) CreateVpcEndpointRequest(input *CreateVpcEndpointInput) (req *request.Request, output *CreateVpcEndpointOutput) {
  3145. op := &request.Operation{
  3146. Name: opCreateVpcEndpoint,
  3147. HTTPMethod: "POST",
  3148. HTTPPath: "/",
  3149. }
  3150. if input == nil {
  3151. input = &CreateVpcEndpointInput{}
  3152. }
  3153. req = c.newRequest(op, input, output)
  3154. output = &CreateVpcEndpointOutput{}
  3155. req.Data = output
  3156. return
  3157. }
  3158. // CreateVpcEndpoint API operation for Amazon Elastic Compute Cloud.
  3159. //
  3160. // Creates a VPC endpoint for a specified AWS service. An endpoint enables you
  3161. // to create a private connection between your VPC and another AWS service in
  3162. // your account. You can specify an endpoint policy to attach to the endpoint
  3163. // that will control access to the service from your VPC. You can also specify
  3164. // the VPC route tables that use the endpoint.
  3165. //
  3166. // Currently, only endpoints to Amazon S3 are supported.
  3167. //
  3168. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3169. // with awserr.Error's Code and Message methods to get detailed information about
  3170. // the error.
  3171. //
  3172. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3173. // API operation CreateVpcEndpoint for usage and error information.
  3174. func (c *EC2) CreateVpcEndpoint(input *CreateVpcEndpointInput) (*CreateVpcEndpointOutput, error) {
  3175. req, out := c.CreateVpcEndpointRequest(input)
  3176. err := req.Send()
  3177. return out, err
  3178. }
  3179. const opCreateVpcPeeringConnection = "CreateVpcPeeringConnection"
  3180. // CreateVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
  3181. // client's request for the CreateVpcPeeringConnection operation. The "output" return
  3182. // value can be used to capture response data after the request's "Send" method
  3183. // is called.
  3184. //
  3185. // See CreateVpcPeeringConnection for usage and error information.
  3186. //
  3187. // Creating a request object using this method should be used when you want to inject
  3188. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3189. // access properties on the request object before or after sending the request. If
  3190. // you just want the service response, call the CreateVpcPeeringConnection method directly
  3191. // instead.
  3192. //
  3193. // Note: You must call the "Send" method on the returned request object in order
  3194. // to execute the request.
  3195. //
  3196. // // Example sending a request using the CreateVpcPeeringConnectionRequest method.
  3197. // req, resp := client.CreateVpcPeeringConnectionRequest(params)
  3198. //
  3199. // err := req.Send()
  3200. // if err == nil { // resp is now filled
  3201. // fmt.Println(resp)
  3202. // }
  3203. //
  3204. func (c *EC2) CreateVpcPeeringConnectionRequest(input *CreateVpcPeeringConnectionInput) (req *request.Request, output *CreateVpcPeeringConnectionOutput) {
  3205. op := &request.Operation{
  3206. Name: opCreateVpcPeeringConnection,
  3207. HTTPMethod: "POST",
  3208. HTTPPath: "/",
  3209. }
  3210. if input == nil {
  3211. input = &CreateVpcPeeringConnectionInput{}
  3212. }
  3213. req = c.newRequest(op, input, output)
  3214. output = &CreateVpcPeeringConnectionOutput{}
  3215. req.Data = output
  3216. return
  3217. }
  3218. // CreateVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
  3219. //
  3220. // Requests a VPC peering connection between two VPCs: a requester VPC that
  3221. // you own and a peer VPC with which to create the connection. The peer VPC
  3222. // can belong to another AWS account. The requester VPC and peer VPC cannot
  3223. // have overlapping CIDR blocks.
  3224. //
  3225. // The owner of the peer VPC must accept the peering request to activate the
  3226. // peering connection. The VPC peering connection request expires after 7 days,
  3227. // after which it cannot be accepted or rejected.
  3228. //
  3229. // A CreateVpcPeeringConnection request between VPCs with overlapping CIDR blocks
  3230. // results in the VPC peering connection having a status of failed.
  3231. //
  3232. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3233. // with awserr.Error's Code and Message methods to get detailed information about
  3234. // the error.
  3235. //
  3236. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3237. // API operation CreateVpcPeeringConnection for usage and error information.
  3238. func (c *EC2) CreateVpcPeeringConnection(input *CreateVpcPeeringConnectionInput) (*CreateVpcPeeringConnectionOutput, error) {
  3239. req, out := c.CreateVpcPeeringConnectionRequest(input)
  3240. err := req.Send()
  3241. return out, err
  3242. }
  3243. const opCreateVpnConnection = "CreateVpnConnection"
  3244. // CreateVpnConnectionRequest generates a "aws/request.Request" representing the
  3245. // client's request for the CreateVpnConnection operation. The "output" return
  3246. // value can be used to capture response data after the request's "Send" method
  3247. // is called.
  3248. //
  3249. // See CreateVpnConnection for usage and error information.
  3250. //
  3251. // Creating a request object using this method should be used when you want to inject
  3252. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3253. // access properties on the request object before or after sending the request. If
  3254. // you just want the service response, call the CreateVpnConnection method directly
  3255. // instead.
  3256. //
  3257. // Note: You must call the "Send" method on the returned request object in order
  3258. // to execute the request.
  3259. //
  3260. // // Example sending a request using the CreateVpnConnectionRequest method.
  3261. // req, resp := client.CreateVpnConnectionRequest(params)
  3262. //
  3263. // err := req.Send()
  3264. // if err == nil { // resp is now filled
  3265. // fmt.Println(resp)
  3266. // }
  3267. //
  3268. func (c *EC2) CreateVpnConnectionRequest(input *CreateVpnConnectionInput) (req *request.Request, output *CreateVpnConnectionOutput) {
  3269. op := &request.Operation{
  3270. Name: opCreateVpnConnection,
  3271. HTTPMethod: "POST",
  3272. HTTPPath: "/",
  3273. }
  3274. if input == nil {
  3275. input = &CreateVpnConnectionInput{}
  3276. }
  3277. req = c.newRequest(op, input, output)
  3278. output = &CreateVpnConnectionOutput{}
  3279. req.Data = output
  3280. return
  3281. }
  3282. // CreateVpnConnection API operation for Amazon Elastic Compute Cloud.
  3283. //
  3284. // Creates a VPN connection between an existing virtual private gateway and
  3285. // a VPN customer gateway. The only supported connection type is ipsec.1.
  3286. //
  3287. // The response includes information that you need to give to your network administrator
  3288. // to configure your customer gateway.
  3289. //
  3290. // We strongly recommend that you use HTTPS when calling this operation because
  3291. // the response contains sensitive cryptographic information for configuring
  3292. // your customer gateway.
  3293. //
  3294. // If you decide to shut down your VPN connection for any reason and later create
  3295. // a new VPN connection, you must reconfigure your customer gateway with the
  3296. // new information returned from this call.
  3297. //
  3298. // This is an idempotent operation. If you perform the operation more than once,
  3299. // Amazon EC2 doesn't return an error.
  3300. //
  3301. // For more information about VPN connections, see Adding a Hardware Virtual
  3302. // Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  3303. // in the Amazon Virtual Private Cloud User Guide.
  3304. //
  3305. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3306. // with awserr.Error's Code and Message methods to get detailed information about
  3307. // the error.
  3308. //
  3309. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3310. // API operation CreateVpnConnection for usage and error information.
  3311. func (c *EC2) CreateVpnConnection(input *CreateVpnConnectionInput) (*CreateVpnConnectionOutput, error) {
  3312. req, out := c.CreateVpnConnectionRequest(input)
  3313. err := req.Send()
  3314. return out, err
  3315. }
  3316. const opCreateVpnConnectionRoute = "CreateVpnConnectionRoute"
  3317. // CreateVpnConnectionRouteRequest generates a "aws/request.Request" representing the
  3318. // client's request for the CreateVpnConnectionRoute operation. The "output" return
  3319. // value can be used to capture response data after the request's "Send" method
  3320. // is called.
  3321. //
  3322. // See CreateVpnConnectionRoute for usage and error information.
  3323. //
  3324. // Creating a request object using this method should be used when you want to inject
  3325. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3326. // access properties on the request object before or after sending the request. If
  3327. // you just want the service response, call the CreateVpnConnectionRoute method directly
  3328. // instead.
  3329. //
  3330. // Note: You must call the "Send" method on the returned request object in order
  3331. // to execute the request.
  3332. //
  3333. // // Example sending a request using the CreateVpnConnectionRouteRequest method.
  3334. // req, resp := client.CreateVpnConnectionRouteRequest(params)
  3335. //
  3336. // err := req.Send()
  3337. // if err == nil { // resp is now filled
  3338. // fmt.Println(resp)
  3339. // }
  3340. //
  3341. func (c *EC2) CreateVpnConnectionRouteRequest(input *CreateVpnConnectionRouteInput) (req *request.Request, output *CreateVpnConnectionRouteOutput) {
  3342. op := &request.Operation{
  3343. Name: opCreateVpnConnectionRoute,
  3344. HTTPMethod: "POST",
  3345. HTTPPath: "/",
  3346. }
  3347. if input == nil {
  3348. input = &CreateVpnConnectionRouteInput{}
  3349. }
  3350. req = c.newRequest(op, input, output)
  3351. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  3352. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  3353. output = &CreateVpnConnectionRouteOutput{}
  3354. req.Data = output
  3355. return
  3356. }
  3357. // CreateVpnConnectionRoute API operation for Amazon Elastic Compute Cloud.
  3358. //
  3359. // Creates a static route associated with a VPN connection between an existing
  3360. // virtual private gateway and a VPN customer gateway. The static route allows
  3361. // traffic to be routed from the virtual private gateway to the VPN customer
  3362. // gateway.
  3363. //
  3364. // For more information about VPN connections, see Adding a Hardware Virtual
  3365. // Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  3366. // in the Amazon Virtual Private Cloud User Guide.
  3367. //
  3368. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3369. // with awserr.Error's Code and Message methods to get detailed information about
  3370. // the error.
  3371. //
  3372. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3373. // API operation CreateVpnConnectionRoute for usage and error information.
  3374. func (c *EC2) CreateVpnConnectionRoute(input *CreateVpnConnectionRouteInput) (*CreateVpnConnectionRouteOutput, error) {
  3375. req, out := c.CreateVpnConnectionRouteRequest(input)
  3376. err := req.Send()
  3377. return out, err
  3378. }
  3379. const opCreateVpnGateway = "CreateVpnGateway"
  3380. // CreateVpnGatewayRequest generates a "aws/request.Request" representing the
  3381. // client's request for the CreateVpnGateway operation. The "output" return
  3382. // value can be used to capture response data after the request's "Send" method
  3383. // is called.
  3384. //
  3385. // See CreateVpnGateway for usage and error information.
  3386. //
  3387. // Creating a request object using this method should be used when you want to inject
  3388. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3389. // access properties on the request object before or after sending the request. If
  3390. // you just want the service response, call the CreateVpnGateway method directly
  3391. // instead.
  3392. //
  3393. // Note: You must call the "Send" method on the returned request object in order
  3394. // to execute the request.
  3395. //
  3396. // // Example sending a request using the CreateVpnGatewayRequest method.
  3397. // req, resp := client.CreateVpnGatewayRequest(params)
  3398. //
  3399. // err := req.Send()
  3400. // if err == nil { // resp is now filled
  3401. // fmt.Println(resp)
  3402. // }
  3403. //
  3404. func (c *EC2) CreateVpnGatewayRequest(input *CreateVpnGatewayInput) (req *request.Request, output *CreateVpnGatewayOutput) {
  3405. op := &request.Operation{
  3406. Name: opCreateVpnGateway,
  3407. HTTPMethod: "POST",
  3408. HTTPPath: "/",
  3409. }
  3410. if input == nil {
  3411. input = &CreateVpnGatewayInput{}
  3412. }
  3413. req = c.newRequest(op, input, output)
  3414. output = &CreateVpnGatewayOutput{}
  3415. req.Data = output
  3416. return
  3417. }
  3418. // CreateVpnGateway API operation for Amazon Elastic Compute Cloud.
  3419. //
  3420. // Creates a virtual private gateway. A virtual private gateway is the endpoint
  3421. // on the VPC side of your VPN connection. You can create a virtual private
  3422. // gateway before creating the VPC itself.
  3423. //
  3424. // For more information about virtual private gateways, see Adding a Hardware
  3425. // Virtual Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  3426. // in the Amazon Virtual Private Cloud User Guide.
  3427. //
  3428. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3429. // with awserr.Error's Code and Message methods to get detailed information about
  3430. // the error.
  3431. //
  3432. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3433. // API operation CreateVpnGateway for usage and error information.
  3434. func (c *EC2) CreateVpnGateway(input *CreateVpnGatewayInput) (*CreateVpnGatewayOutput, error) {
  3435. req, out := c.CreateVpnGatewayRequest(input)
  3436. err := req.Send()
  3437. return out, err
  3438. }
  3439. const opDeleteCustomerGateway = "DeleteCustomerGateway"
  3440. // DeleteCustomerGatewayRequest generates a "aws/request.Request" representing the
  3441. // client's request for the DeleteCustomerGateway operation. The "output" return
  3442. // value can be used to capture response data after the request's "Send" method
  3443. // is called.
  3444. //
  3445. // See DeleteCustomerGateway for usage and error information.
  3446. //
  3447. // Creating a request object using this method should be used when you want to inject
  3448. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3449. // access properties on the request object before or after sending the request. If
  3450. // you just want the service response, call the DeleteCustomerGateway method directly
  3451. // instead.
  3452. //
  3453. // Note: You must call the "Send" method on the returned request object in order
  3454. // to execute the request.
  3455. //
  3456. // // Example sending a request using the DeleteCustomerGatewayRequest method.
  3457. // req, resp := client.DeleteCustomerGatewayRequest(params)
  3458. //
  3459. // err := req.Send()
  3460. // if err == nil { // resp is now filled
  3461. // fmt.Println(resp)
  3462. // }
  3463. //
  3464. func (c *EC2) DeleteCustomerGatewayRequest(input *DeleteCustomerGatewayInput) (req *request.Request, output *DeleteCustomerGatewayOutput) {
  3465. op := &request.Operation{
  3466. Name: opDeleteCustomerGateway,
  3467. HTTPMethod: "POST",
  3468. HTTPPath: "/",
  3469. }
  3470. if input == nil {
  3471. input = &DeleteCustomerGatewayInput{}
  3472. }
  3473. req = c.newRequest(op, input, output)
  3474. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  3475. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  3476. output = &DeleteCustomerGatewayOutput{}
  3477. req.Data = output
  3478. return
  3479. }
  3480. // DeleteCustomerGateway API operation for Amazon Elastic Compute Cloud.
  3481. //
  3482. // Deletes the specified customer gateway. You must delete the VPN connection
  3483. // before you can delete the customer gateway.
  3484. //
  3485. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3486. // with awserr.Error's Code and Message methods to get detailed information about
  3487. // the error.
  3488. //
  3489. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3490. // API operation DeleteCustomerGateway for usage and error information.
  3491. func (c *EC2) DeleteCustomerGateway(input *DeleteCustomerGatewayInput) (*DeleteCustomerGatewayOutput, error) {
  3492. req, out := c.DeleteCustomerGatewayRequest(input)
  3493. err := req.Send()
  3494. return out, err
  3495. }
  3496. const opDeleteDhcpOptions = "DeleteDhcpOptions"
  3497. // DeleteDhcpOptionsRequest generates a "aws/request.Request" representing the
  3498. // client's request for the DeleteDhcpOptions operation. The "output" return
  3499. // value can be used to capture response data after the request's "Send" method
  3500. // is called.
  3501. //
  3502. // See DeleteDhcpOptions for usage and error information.
  3503. //
  3504. // Creating a request object using this method should be used when you want to inject
  3505. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3506. // access properties on the request object before or after sending the request. If
  3507. // you just want the service response, call the DeleteDhcpOptions method directly
  3508. // instead.
  3509. //
  3510. // Note: You must call the "Send" method on the returned request object in order
  3511. // to execute the request.
  3512. //
  3513. // // Example sending a request using the DeleteDhcpOptionsRequest method.
  3514. // req, resp := client.DeleteDhcpOptionsRequest(params)
  3515. //
  3516. // err := req.Send()
  3517. // if err == nil { // resp is now filled
  3518. // fmt.Println(resp)
  3519. // }
  3520. //
  3521. func (c *EC2) DeleteDhcpOptionsRequest(input *DeleteDhcpOptionsInput) (req *request.Request, output *DeleteDhcpOptionsOutput) {
  3522. op := &request.Operation{
  3523. Name: opDeleteDhcpOptions,
  3524. HTTPMethod: "POST",
  3525. HTTPPath: "/",
  3526. }
  3527. if input == nil {
  3528. input = &DeleteDhcpOptionsInput{}
  3529. }
  3530. req = c.newRequest(op, input, output)
  3531. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  3532. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  3533. output = &DeleteDhcpOptionsOutput{}
  3534. req.Data = output
  3535. return
  3536. }
  3537. // DeleteDhcpOptions API operation for Amazon Elastic Compute Cloud.
  3538. //
  3539. // Deletes the specified set of DHCP options. You must disassociate the set
  3540. // of DHCP options before you can delete it. You can disassociate the set of
  3541. // DHCP options by associating either a new set of options or the default set
  3542. // of options with the VPC.
  3543. //
  3544. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3545. // with awserr.Error's Code and Message methods to get detailed information about
  3546. // the error.
  3547. //
  3548. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3549. // API operation DeleteDhcpOptions for usage and error information.
  3550. func (c *EC2) DeleteDhcpOptions(input *DeleteDhcpOptionsInput) (*DeleteDhcpOptionsOutput, error) {
  3551. req, out := c.DeleteDhcpOptionsRequest(input)
  3552. err := req.Send()
  3553. return out, err
  3554. }
  3555. const opDeleteFlowLogs = "DeleteFlowLogs"
  3556. // DeleteFlowLogsRequest generates a "aws/request.Request" representing the
  3557. // client's request for the DeleteFlowLogs operation. The "output" return
  3558. // value can be used to capture response data after the request's "Send" method
  3559. // is called.
  3560. //
  3561. // See DeleteFlowLogs for usage and error information.
  3562. //
  3563. // Creating a request object using this method should be used when you want to inject
  3564. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3565. // access properties on the request object before or after sending the request. If
  3566. // you just want the service response, call the DeleteFlowLogs method directly
  3567. // instead.
  3568. //
  3569. // Note: You must call the "Send" method on the returned request object in order
  3570. // to execute the request.
  3571. //
  3572. // // Example sending a request using the DeleteFlowLogsRequest method.
  3573. // req, resp := client.DeleteFlowLogsRequest(params)
  3574. //
  3575. // err := req.Send()
  3576. // if err == nil { // resp is now filled
  3577. // fmt.Println(resp)
  3578. // }
  3579. //
  3580. func (c *EC2) DeleteFlowLogsRequest(input *DeleteFlowLogsInput) (req *request.Request, output *DeleteFlowLogsOutput) {
  3581. op := &request.Operation{
  3582. Name: opDeleteFlowLogs,
  3583. HTTPMethod: "POST",
  3584. HTTPPath: "/",
  3585. }
  3586. if input == nil {
  3587. input = &DeleteFlowLogsInput{}
  3588. }
  3589. req = c.newRequest(op, input, output)
  3590. output = &DeleteFlowLogsOutput{}
  3591. req.Data = output
  3592. return
  3593. }
  3594. // DeleteFlowLogs API operation for Amazon Elastic Compute Cloud.
  3595. //
  3596. // Deletes one or more flow logs.
  3597. //
  3598. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3599. // with awserr.Error's Code and Message methods to get detailed information about
  3600. // the error.
  3601. //
  3602. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3603. // API operation DeleteFlowLogs for usage and error information.
  3604. func (c *EC2) DeleteFlowLogs(input *DeleteFlowLogsInput) (*DeleteFlowLogsOutput, error) {
  3605. req, out := c.DeleteFlowLogsRequest(input)
  3606. err := req.Send()
  3607. return out, err
  3608. }
  3609. const opDeleteInternetGateway = "DeleteInternetGateway"
  3610. // DeleteInternetGatewayRequest generates a "aws/request.Request" representing the
  3611. // client's request for the DeleteInternetGateway operation. The "output" return
  3612. // value can be used to capture response data after the request's "Send" method
  3613. // is called.
  3614. //
  3615. // See DeleteInternetGateway for usage and error information.
  3616. //
  3617. // Creating a request object using this method should be used when you want to inject
  3618. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3619. // access properties on the request object before or after sending the request. If
  3620. // you just want the service response, call the DeleteInternetGateway method directly
  3621. // instead.
  3622. //
  3623. // Note: You must call the "Send" method on the returned request object in order
  3624. // to execute the request.
  3625. //
  3626. // // Example sending a request using the DeleteInternetGatewayRequest method.
  3627. // req, resp := client.DeleteInternetGatewayRequest(params)
  3628. //
  3629. // err := req.Send()
  3630. // if err == nil { // resp is now filled
  3631. // fmt.Println(resp)
  3632. // }
  3633. //
  3634. func (c *EC2) DeleteInternetGatewayRequest(input *DeleteInternetGatewayInput) (req *request.Request, output *DeleteInternetGatewayOutput) {
  3635. op := &request.Operation{
  3636. Name: opDeleteInternetGateway,
  3637. HTTPMethod: "POST",
  3638. HTTPPath: "/",
  3639. }
  3640. if input == nil {
  3641. input = &DeleteInternetGatewayInput{}
  3642. }
  3643. req = c.newRequest(op, input, output)
  3644. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  3645. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  3646. output = &DeleteInternetGatewayOutput{}
  3647. req.Data = output
  3648. return
  3649. }
  3650. // DeleteInternetGateway API operation for Amazon Elastic Compute Cloud.
  3651. //
  3652. // Deletes the specified Internet gateway. You must detach the Internet gateway
  3653. // from the VPC before you can delete it.
  3654. //
  3655. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3656. // with awserr.Error's Code and Message methods to get detailed information about
  3657. // the error.
  3658. //
  3659. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3660. // API operation DeleteInternetGateway for usage and error information.
  3661. func (c *EC2) DeleteInternetGateway(input *DeleteInternetGatewayInput) (*DeleteInternetGatewayOutput, error) {
  3662. req, out := c.DeleteInternetGatewayRequest(input)
  3663. err := req.Send()
  3664. return out, err
  3665. }
  3666. const opDeleteKeyPair = "DeleteKeyPair"
  3667. // DeleteKeyPairRequest generates a "aws/request.Request" representing the
  3668. // client's request for the DeleteKeyPair operation. The "output" return
  3669. // value can be used to capture response data after the request's "Send" method
  3670. // is called.
  3671. //
  3672. // See DeleteKeyPair for usage and error information.
  3673. //
  3674. // Creating a request object using this method should be used when you want to inject
  3675. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3676. // access properties on the request object before or after sending the request. If
  3677. // you just want the service response, call the DeleteKeyPair method directly
  3678. // instead.
  3679. //
  3680. // Note: You must call the "Send" method on the returned request object in order
  3681. // to execute the request.
  3682. //
  3683. // // Example sending a request using the DeleteKeyPairRequest method.
  3684. // req, resp := client.DeleteKeyPairRequest(params)
  3685. //
  3686. // err := req.Send()
  3687. // if err == nil { // resp is now filled
  3688. // fmt.Println(resp)
  3689. // }
  3690. //
  3691. func (c *EC2) DeleteKeyPairRequest(input *DeleteKeyPairInput) (req *request.Request, output *DeleteKeyPairOutput) {
  3692. op := &request.Operation{
  3693. Name: opDeleteKeyPair,
  3694. HTTPMethod: "POST",
  3695. HTTPPath: "/",
  3696. }
  3697. if input == nil {
  3698. input = &DeleteKeyPairInput{}
  3699. }
  3700. req = c.newRequest(op, input, output)
  3701. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  3702. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  3703. output = &DeleteKeyPairOutput{}
  3704. req.Data = output
  3705. return
  3706. }
  3707. // DeleteKeyPair API operation for Amazon Elastic Compute Cloud.
  3708. //
  3709. // Deletes the specified key pair, by removing the public key from Amazon EC2.
  3710. //
  3711. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3712. // with awserr.Error's Code and Message methods to get detailed information about
  3713. // the error.
  3714. //
  3715. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3716. // API operation DeleteKeyPair for usage and error information.
  3717. func (c *EC2) DeleteKeyPair(input *DeleteKeyPairInput) (*DeleteKeyPairOutput, error) {
  3718. req, out := c.DeleteKeyPairRequest(input)
  3719. err := req.Send()
  3720. return out, err
  3721. }
  3722. const opDeleteNatGateway = "DeleteNatGateway"
  3723. // DeleteNatGatewayRequest generates a "aws/request.Request" representing the
  3724. // client's request for the DeleteNatGateway operation. The "output" return
  3725. // value can be used to capture response data after the request's "Send" method
  3726. // is called.
  3727. //
  3728. // See DeleteNatGateway for usage and error information.
  3729. //
  3730. // Creating a request object using this method should be used when you want to inject
  3731. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3732. // access properties on the request object before or after sending the request. If
  3733. // you just want the service response, call the DeleteNatGateway method directly
  3734. // instead.
  3735. //
  3736. // Note: You must call the "Send" method on the returned request object in order
  3737. // to execute the request.
  3738. //
  3739. // // Example sending a request using the DeleteNatGatewayRequest method.
  3740. // req, resp := client.DeleteNatGatewayRequest(params)
  3741. //
  3742. // err := req.Send()
  3743. // if err == nil { // resp is now filled
  3744. // fmt.Println(resp)
  3745. // }
  3746. //
  3747. func (c *EC2) DeleteNatGatewayRequest(input *DeleteNatGatewayInput) (req *request.Request, output *DeleteNatGatewayOutput) {
  3748. op := &request.Operation{
  3749. Name: opDeleteNatGateway,
  3750. HTTPMethod: "POST",
  3751. HTTPPath: "/",
  3752. }
  3753. if input == nil {
  3754. input = &DeleteNatGatewayInput{}
  3755. }
  3756. req = c.newRequest(op, input, output)
  3757. output = &DeleteNatGatewayOutput{}
  3758. req.Data = output
  3759. return
  3760. }
  3761. // DeleteNatGateway API operation for Amazon Elastic Compute Cloud.
  3762. //
  3763. // Deletes the specified NAT gateway. Deleting a NAT gateway disassociates its
  3764. // Elastic IP address, but does not release the address from your account. Deleting
  3765. // a NAT gateway does not delete any NAT gateway routes in your route tables.
  3766. //
  3767. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3768. // with awserr.Error's Code and Message methods to get detailed information about
  3769. // the error.
  3770. //
  3771. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3772. // API operation DeleteNatGateway for usage and error information.
  3773. func (c *EC2) DeleteNatGateway(input *DeleteNatGatewayInput) (*DeleteNatGatewayOutput, error) {
  3774. req, out := c.DeleteNatGatewayRequest(input)
  3775. err := req.Send()
  3776. return out, err
  3777. }
  3778. const opDeleteNetworkAcl = "DeleteNetworkAcl"
  3779. // DeleteNetworkAclRequest generates a "aws/request.Request" representing the
  3780. // client's request for the DeleteNetworkAcl operation. The "output" return
  3781. // value can be used to capture response data after the request's "Send" method
  3782. // is called.
  3783. //
  3784. // See DeleteNetworkAcl for usage and error information.
  3785. //
  3786. // Creating a request object using this method should be used when you want to inject
  3787. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3788. // access properties on the request object before or after sending the request. If
  3789. // you just want the service response, call the DeleteNetworkAcl method directly
  3790. // instead.
  3791. //
  3792. // Note: You must call the "Send" method on the returned request object in order
  3793. // to execute the request.
  3794. //
  3795. // // Example sending a request using the DeleteNetworkAclRequest method.
  3796. // req, resp := client.DeleteNetworkAclRequest(params)
  3797. //
  3798. // err := req.Send()
  3799. // if err == nil { // resp is now filled
  3800. // fmt.Println(resp)
  3801. // }
  3802. //
  3803. func (c *EC2) DeleteNetworkAclRequest(input *DeleteNetworkAclInput) (req *request.Request, output *DeleteNetworkAclOutput) {
  3804. op := &request.Operation{
  3805. Name: opDeleteNetworkAcl,
  3806. HTTPMethod: "POST",
  3807. HTTPPath: "/",
  3808. }
  3809. if input == nil {
  3810. input = &DeleteNetworkAclInput{}
  3811. }
  3812. req = c.newRequest(op, input, output)
  3813. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  3814. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  3815. output = &DeleteNetworkAclOutput{}
  3816. req.Data = output
  3817. return
  3818. }
  3819. // DeleteNetworkAcl API operation for Amazon Elastic Compute Cloud.
  3820. //
  3821. // Deletes the specified network ACL. You can't delete the ACL if it's associated
  3822. // with any subnets. You can't delete the default network ACL.
  3823. //
  3824. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3825. // with awserr.Error's Code and Message methods to get detailed information about
  3826. // the error.
  3827. //
  3828. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3829. // API operation DeleteNetworkAcl for usage and error information.
  3830. func (c *EC2) DeleteNetworkAcl(input *DeleteNetworkAclInput) (*DeleteNetworkAclOutput, error) {
  3831. req, out := c.DeleteNetworkAclRequest(input)
  3832. err := req.Send()
  3833. return out, err
  3834. }
  3835. const opDeleteNetworkAclEntry = "DeleteNetworkAclEntry"
  3836. // DeleteNetworkAclEntryRequest generates a "aws/request.Request" representing the
  3837. // client's request for the DeleteNetworkAclEntry operation. The "output" return
  3838. // value can be used to capture response data after the request's "Send" method
  3839. // is called.
  3840. //
  3841. // See DeleteNetworkAclEntry for usage and error information.
  3842. //
  3843. // Creating a request object using this method should be used when you want to inject
  3844. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3845. // access properties on the request object before or after sending the request. If
  3846. // you just want the service response, call the DeleteNetworkAclEntry method directly
  3847. // instead.
  3848. //
  3849. // Note: You must call the "Send" method on the returned request object in order
  3850. // to execute the request.
  3851. //
  3852. // // Example sending a request using the DeleteNetworkAclEntryRequest method.
  3853. // req, resp := client.DeleteNetworkAclEntryRequest(params)
  3854. //
  3855. // err := req.Send()
  3856. // if err == nil { // resp is now filled
  3857. // fmt.Println(resp)
  3858. // }
  3859. //
  3860. func (c *EC2) DeleteNetworkAclEntryRequest(input *DeleteNetworkAclEntryInput) (req *request.Request, output *DeleteNetworkAclEntryOutput) {
  3861. op := &request.Operation{
  3862. Name: opDeleteNetworkAclEntry,
  3863. HTTPMethod: "POST",
  3864. HTTPPath: "/",
  3865. }
  3866. if input == nil {
  3867. input = &DeleteNetworkAclEntryInput{}
  3868. }
  3869. req = c.newRequest(op, input, output)
  3870. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  3871. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  3872. output = &DeleteNetworkAclEntryOutput{}
  3873. req.Data = output
  3874. return
  3875. }
  3876. // DeleteNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
  3877. //
  3878. // Deletes the specified ingress or egress entry (rule) from the specified network
  3879. // ACL.
  3880. //
  3881. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3882. // with awserr.Error's Code and Message methods to get detailed information about
  3883. // the error.
  3884. //
  3885. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3886. // API operation DeleteNetworkAclEntry for usage and error information.
  3887. func (c *EC2) DeleteNetworkAclEntry(input *DeleteNetworkAclEntryInput) (*DeleteNetworkAclEntryOutput, error) {
  3888. req, out := c.DeleteNetworkAclEntryRequest(input)
  3889. err := req.Send()
  3890. return out, err
  3891. }
  3892. const opDeleteNetworkInterface = "DeleteNetworkInterface"
  3893. // DeleteNetworkInterfaceRequest generates a "aws/request.Request" representing the
  3894. // client's request for the DeleteNetworkInterface operation. The "output" return
  3895. // value can be used to capture response data after the request's "Send" method
  3896. // is called.
  3897. //
  3898. // See DeleteNetworkInterface for usage and error information.
  3899. //
  3900. // Creating a request object using this method should be used when you want to inject
  3901. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3902. // access properties on the request object before or after sending the request. If
  3903. // you just want the service response, call the DeleteNetworkInterface method directly
  3904. // instead.
  3905. //
  3906. // Note: You must call the "Send" method on the returned request object in order
  3907. // to execute the request.
  3908. //
  3909. // // Example sending a request using the DeleteNetworkInterfaceRequest method.
  3910. // req, resp := client.DeleteNetworkInterfaceRequest(params)
  3911. //
  3912. // err := req.Send()
  3913. // if err == nil { // resp is now filled
  3914. // fmt.Println(resp)
  3915. // }
  3916. //
  3917. func (c *EC2) DeleteNetworkInterfaceRequest(input *DeleteNetworkInterfaceInput) (req *request.Request, output *DeleteNetworkInterfaceOutput) {
  3918. op := &request.Operation{
  3919. Name: opDeleteNetworkInterface,
  3920. HTTPMethod: "POST",
  3921. HTTPPath: "/",
  3922. }
  3923. if input == nil {
  3924. input = &DeleteNetworkInterfaceInput{}
  3925. }
  3926. req = c.newRequest(op, input, output)
  3927. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  3928. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  3929. output = &DeleteNetworkInterfaceOutput{}
  3930. req.Data = output
  3931. return
  3932. }
  3933. // DeleteNetworkInterface API operation for Amazon Elastic Compute Cloud.
  3934. //
  3935. // Deletes the specified network interface. You must detach the network interface
  3936. // before you can delete it.
  3937. //
  3938. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3939. // with awserr.Error's Code and Message methods to get detailed information about
  3940. // the error.
  3941. //
  3942. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3943. // API operation DeleteNetworkInterface for usage and error information.
  3944. func (c *EC2) DeleteNetworkInterface(input *DeleteNetworkInterfaceInput) (*DeleteNetworkInterfaceOutput, error) {
  3945. req, out := c.DeleteNetworkInterfaceRequest(input)
  3946. err := req.Send()
  3947. return out, err
  3948. }
  3949. const opDeletePlacementGroup = "DeletePlacementGroup"
  3950. // DeletePlacementGroupRequest generates a "aws/request.Request" representing the
  3951. // client's request for the DeletePlacementGroup operation. The "output" return
  3952. // value can be used to capture response data after the request's "Send" method
  3953. // is called.
  3954. //
  3955. // See DeletePlacementGroup for usage and error information.
  3956. //
  3957. // Creating a request object using this method should be used when you want to inject
  3958. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3959. // access properties on the request object before or after sending the request. If
  3960. // you just want the service response, call the DeletePlacementGroup method directly
  3961. // instead.
  3962. //
  3963. // Note: You must call the "Send" method on the returned request object in order
  3964. // to execute the request.
  3965. //
  3966. // // Example sending a request using the DeletePlacementGroupRequest method.
  3967. // req, resp := client.DeletePlacementGroupRequest(params)
  3968. //
  3969. // err := req.Send()
  3970. // if err == nil { // resp is now filled
  3971. // fmt.Println(resp)
  3972. // }
  3973. //
  3974. func (c *EC2) DeletePlacementGroupRequest(input *DeletePlacementGroupInput) (req *request.Request, output *DeletePlacementGroupOutput) {
  3975. op := &request.Operation{
  3976. Name: opDeletePlacementGroup,
  3977. HTTPMethod: "POST",
  3978. HTTPPath: "/",
  3979. }
  3980. if input == nil {
  3981. input = &DeletePlacementGroupInput{}
  3982. }
  3983. req = c.newRequest(op, input, output)
  3984. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  3985. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  3986. output = &DeletePlacementGroupOutput{}
  3987. req.Data = output
  3988. return
  3989. }
  3990. // DeletePlacementGroup API operation for Amazon Elastic Compute Cloud.
  3991. //
  3992. // Deletes the specified placement group. You must terminate all instances in
  3993. // the placement group before you can delete the placement group. For more information
  3994. // about placement groups and cluster instances, see Cluster Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using_cluster_computing.html)
  3995. // in the Amazon Elastic Compute Cloud User Guide.
  3996. //
  3997. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3998. // with awserr.Error's Code and Message methods to get detailed information about
  3999. // the error.
  4000. //
  4001. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4002. // API operation DeletePlacementGroup for usage and error information.
  4003. func (c *EC2) DeletePlacementGroup(input *DeletePlacementGroupInput) (*DeletePlacementGroupOutput, error) {
  4004. req, out := c.DeletePlacementGroupRequest(input)
  4005. err := req.Send()
  4006. return out, err
  4007. }
  4008. const opDeleteRoute = "DeleteRoute"
  4009. // DeleteRouteRequest generates a "aws/request.Request" representing the
  4010. // client's request for the DeleteRoute operation. The "output" return
  4011. // value can be used to capture response data after the request's "Send" method
  4012. // is called.
  4013. //
  4014. // See DeleteRoute for usage and error information.
  4015. //
  4016. // Creating a request object using this method should be used when you want to inject
  4017. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4018. // access properties on the request object before or after sending the request. If
  4019. // you just want the service response, call the DeleteRoute method directly
  4020. // instead.
  4021. //
  4022. // Note: You must call the "Send" method on the returned request object in order
  4023. // to execute the request.
  4024. //
  4025. // // Example sending a request using the DeleteRouteRequest method.
  4026. // req, resp := client.DeleteRouteRequest(params)
  4027. //
  4028. // err := req.Send()
  4029. // if err == nil { // resp is now filled
  4030. // fmt.Println(resp)
  4031. // }
  4032. //
  4033. func (c *EC2) DeleteRouteRequest(input *DeleteRouteInput) (req *request.Request, output *DeleteRouteOutput) {
  4034. op := &request.Operation{
  4035. Name: opDeleteRoute,
  4036. HTTPMethod: "POST",
  4037. HTTPPath: "/",
  4038. }
  4039. if input == nil {
  4040. input = &DeleteRouteInput{}
  4041. }
  4042. req = c.newRequest(op, input, output)
  4043. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  4044. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  4045. output = &DeleteRouteOutput{}
  4046. req.Data = output
  4047. return
  4048. }
  4049. // DeleteRoute API operation for Amazon Elastic Compute Cloud.
  4050. //
  4051. // Deletes the specified route from the specified route table.
  4052. //
  4053. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4054. // with awserr.Error's Code and Message methods to get detailed information about
  4055. // the error.
  4056. //
  4057. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4058. // API operation DeleteRoute for usage and error information.
  4059. func (c *EC2) DeleteRoute(input *DeleteRouteInput) (*DeleteRouteOutput, error) {
  4060. req, out := c.DeleteRouteRequest(input)
  4061. err := req.Send()
  4062. return out, err
  4063. }
  4064. const opDeleteRouteTable = "DeleteRouteTable"
  4065. // DeleteRouteTableRequest generates a "aws/request.Request" representing the
  4066. // client's request for the DeleteRouteTable operation. The "output" return
  4067. // value can be used to capture response data after the request's "Send" method
  4068. // is called.
  4069. //
  4070. // See DeleteRouteTable for usage and error information.
  4071. //
  4072. // Creating a request object using this method should be used when you want to inject
  4073. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4074. // access properties on the request object before or after sending the request. If
  4075. // you just want the service response, call the DeleteRouteTable method directly
  4076. // instead.
  4077. //
  4078. // Note: You must call the "Send" method on the returned request object in order
  4079. // to execute the request.
  4080. //
  4081. // // Example sending a request using the DeleteRouteTableRequest method.
  4082. // req, resp := client.DeleteRouteTableRequest(params)
  4083. //
  4084. // err := req.Send()
  4085. // if err == nil { // resp is now filled
  4086. // fmt.Println(resp)
  4087. // }
  4088. //
  4089. func (c *EC2) DeleteRouteTableRequest(input *DeleteRouteTableInput) (req *request.Request, output *DeleteRouteTableOutput) {
  4090. op := &request.Operation{
  4091. Name: opDeleteRouteTable,
  4092. HTTPMethod: "POST",
  4093. HTTPPath: "/",
  4094. }
  4095. if input == nil {
  4096. input = &DeleteRouteTableInput{}
  4097. }
  4098. req = c.newRequest(op, input, output)
  4099. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  4100. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  4101. output = &DeleteRouteTableOutput{}
  4102. req.Data = output
  4103. return
  4104. }
  4105. // DeleteRouteTable API operation for Amazon Elastic Compute Cloud.
  4106. //
  4107. // Deletes the specified route table. You must disassociate the route table
  4108. // from any subnets before you can delete it. You can't delete the main route
  4109. // table.
  4110. //
  4111. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4112. // with awserr.Error's Code and Message methods to get detailed information about
  4113. // the error.
  4114. //
  4115. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4116. // API operation DeleteRouteTable for usage and error information.
  4117. func (c *EC2) DeleteRouteTable(input *DeleteRouteTableInput) (*DeleteRouteTableOutput, error) {
  4118. req, out := c.DeleteRouteTableRequest(input)
  4119. err := req.Send()
  4120. return out, err
  4121. }
  4122. const opDeleteSecurityGroup = "DeleteSecurityGroup"
  4123. // DeleteSecurityGroupRequest generates a "aws/request.Request" representing the
  4124. // client's request for the DeleteSecurityGroup operation. The "output" return
  4125. // value can be used to capture response data after the request's "Send" method
  4126. // is called.
  4127. //
  4128. // See DeleteSecurityGroup for usage and error information.
  4129. //
  4130. // Creating a request object using this method should be used when you want to inject
  4131. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4132. // access properties on the request object before or after sending the request. If
  4133. // you just want the service response, call the DeleteSecurityGroup method directly
  4134. // instead.
  4135. //
  4136. // Note: You must call the "Send" method on the returned request object in order
  4137. // to execute the request.
  4138. //
  4139. // // Example sending a request using the DeleteSecurityGroupRequest method.
  4140. // req, resp := client.DeleteSecurityGroupRequest(params)
  4141. //
  4142. // err := req.Send()
  4143. // if err == nil { // resp is now filled
  4144. // fmt.Println(resp)
  4145. // }
  4146. //
  4147. func (c *EC2) DeleteSecurityGroupRequest(input *DeleteSecurityGroupInput) (req *request.Request, output *DeleteSecurityGroupOutput) {
  4148. op := &request.Operation{
  4149. Name: opDeleteSecurityGroup,
  4150. HTTPMethod: "POST",
  4151. HTTPPath: "/",
  4152. }
  4153. if input == nil {
  4154. input = &DeleteSecurityGroupInput{}
  4155. }
  4156. req = c.newRequest(op, input, output)
  4157. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  4158. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  4159. output = &DeleteSecurityGroupOutput{}
  4160. req.Data = output
  4161. return
  4162. }
  4163. // DeleteSecurityGroup API operation for Amazon Elastic Compute Cloud.
  4164. //
  4165. // Deletes a security group.
  4166. //
  4167. // If you attempt to delete a security group that is associated with an instance,
  4168. // or is referenced by another security group, the operation fails with InvalidGroup.InUse
  4169. // in EC2-Classic or DependencyViolation in EC2-VPC.
  4170. //
  4171. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4172. // with awserr.Error's Code and Message methods to get detailed information about
  4173. // the error.
  4174. //
  4175. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4176. // API operation DeleteSecurityGroup for usage and error information.
  4177. func (c *EC2) DeleteSecurityGroup(input *DeleteSecurityGroupInput) (*DeleteSecurityGroupOutput, error) {
  4178. req, out := c.DeleteSecurityGroupRequest(input)
  4179. err := req.Send()
  4180. return out, err
  4181. }
  4182. const opDeleteSnapshot = "DeleteSnapshot"
  4183. // DeleteSnapshotRequest generates a "aws/request.Request" representing the
  4184. // client's request for the DeleteSnapshot operation. The "output" return
  4185. // value can be used to capture response data after the request's "Send" method
  4186. // is called.
  4187. //
  4188. // See DeleteSnapshot for usage and error information.
  4189. //
  4190. // Creating a request object using this method should be used when you want to inject
  4191. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4192. // access properties on the request object before or after sending the request. If
  4193. // you just want the service response, call the DeleteSnapshot method directly
  4194. // instead.
  4195. //
  4196. // Note: You must call the "Send" method on the returned request object in order
  4197. // to execute the request.
  4198. //
  4199. // // Example sending a request using the DeleteSnapshotRequest method.
  4200. // req, resp := client.DeleteSnapshotRequest(params)
  4201. //
  4202. // err := req.Send()
  4203. // if err == nil { // resp is now filled
  4204. // fmt.Println(resp)
  4205. // }
  4206. //
  4207. func (c *EC2) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *request.Request, output *DeleteSnapshotOutput) {
  4208. op := &request.Operation{
  4209. Name: opDeleteSnapshot,
  4210. HTTPMethod: "POST",
  4211. HTTPPath: "/",
  4212. }
  4213. if input == nil {
  4214. input = &DeleteSnapshotInput{}
  4215. }
  4216. req = c.newRequest(op, input, output)
  4217. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  4218. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  4219. output = &DeleteSnapshotOutput{}
  4220. req.Data = output
  4221. return
  4222. }
  4223. // DeleteSnapshot API operation for Amazon Elastic Compute Cloud.
  4224. //
  4225. // Deletes the specified snapshot.
  4226. //
  4227. // When you make periodic snapshots of a volume, the snapshots are incremental,
  4228. // and only the blocks on the device that have changed since your last snapshot
  4229. // are saved in the new snapshot. When you delete a snapshot, only the data
  4230. // not needed for any other snapshot is removed. So regardless of which prior
  4231. // snapshots have been deleted, all active snapshots will have access to all
  4232. // the information needed to restore the volume.
  4233. //
  4234. // You cannot delete a snapshot of the root device of an EBS volume used by
  4235. // a registered AMI. You must first de-register the AMI before you can delete
  4236. // the snapshot.
  4237. //
  4238. // For more information, see Deleting an Amazon EBS Snapshot (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-snapshot.html)
  4239. // in the Amazon Elastic Compute Cloud User Guide.
  4240. //
  4241. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4242. // with awserr.Error's Code and Message methods to get detailed information about
  4243. // the error.
  4244. //
  4245. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4246. // API operation DeleteSnapshot for usage and error information.
  4247. func (c *EC2) DeleteSnapshot(input *DeleteSnapshotInput) (*DeleteSnapshotOutput, error) {
  4248. req, out := c.DeleteSnapshotRequest(input)
  4249. err := req.Send()
  4250. return out, err
  4251. }
  4252. const opDeleteSpotDatafeedSubscription = "DeleteSpotDatafeedSubscription"
  4253. // DeleteSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
  4254. // client's request for the DeleteSpotDatafeedSubscription operation. The "output" return
  4255. // value can be used to capture response data after the request's "Send" method
  4256. // is called.
  4257. //
  4258. // See DeleteSpotDatafeedSubscription for usage and error information.
  4259. //
  4260. // Creating a request object using this method should be used when you want to inject
  4261. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4262. // access properties on the request object before or after sending the request. If
  4263. // you just want the service response, call the DeleteSpotDatafeedSubscription method directly
  4264. // instead.
  4265. //
  4266. // Note: You must call the "Send" method on the returned request object in order
  4267. // to execute the request.
  4268. //
  4269. // // Example sending a request using the DeleteSpotDatafeedSubscriptionRequest method.
  4270. // req, resp := client.DeleteSpotDatafeedSubscriptionRequest(params)
  4271. //
  4272. // err := req.Send()
  4273. // if err == nil { // resp is now filled
  4274. // fmt.Println(resp)
  4275. // }
  4276. //
  4277. func (c *EC2) DeleteSpotDatafeedSubscriptionRequest(input *DeleteSpotDatafeedSubscriptionInput) (req *request.Request, output *DeleteSpotDatafeedSubscriptionOutput) {
  4278. op := &request.Operation{
  4279. Name: opDeleteSpotDatafeedSubscription,
  4280. HTTPMethod: "POST",
  4281. HTTPPath: "/",
  4282. }
  4283. if input == nil {
  4284. input = &DeleteSpotDatafeedSubscriptionInput{}
  4285. }
  4286. req = c.newRequest(op, input, output)
  4287. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  4288. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  4289. output = &DeleteSpotDatafeedSubscriptionOutput{}
  4290. req.Data = output
  4291. return
  4292. }
  4293. // DeleteSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
  4294. //
  4295. // Deletes the data feed for Spot instances.
  4296. //
  4297. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4298. // with awserr.Error's Code and Message methods to get detailed information about
  4299. // the error.
  4300. //
  4301. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4302. // API operation DeleteSpotDatafeedSubscription for usage and error information.
  4303. func (c *EC2) DeleteSpotDatafeedSubscription(input *DeleteSpotDatafeedSubscriptionInput) (*DeleteSpotDatafeedSubscriptionOutput, error) {
  4304. req, out := c.DeleteSpotDatafeedSubscriptionRequest(input)
  4305. err := req.Send()
  4306. return out, err
  4307. }
  4308. const opDeleteSubnet = "DeleteSubnet"
  4309. // DeleteSubnetRequest generates a "aws/request.Request" representing the
  4310. // client's request for the DeleteSubnet operation. The "output" return
  4311. // value can be used to capture response data after the request's "Send" method
  4312. // is called.
  4313. //
  4314. // See DeleteSubnet for usage and error information.
  4315. //
  4316. // Creating a request object using this method should be used when you want to inject
  4317. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4318. // access properties on the request object before or after sending the request. If
  4319. // you just want the service response, call the DeleteSubnet method directly
  4320. // instead.
  4321. //
  4322. // Note: You must call the "Send" method on the returned request object in order
  4323. // to execute the request.
  4324. //
  4325. // // Example sending a request using the DeleteSubnetRequest method.
  4326. // req, resp := client.DeleteSubnetRequest(params)
  4327. //
  4328. // err := req.Send()
  4329. // if err == nil { // resp is now filled
  4330. // fmt.Println(resp)
  4331. // }
  4332. //
  4333. func (c *EC2) DeleteSubnetRequest(input *DeleteSubnetInput) (req *request.Request, output *DeleteSubnetOutput) {
  4334. op := &request.Operation{
  4335. Name: opDeleteSubnet,
  4336. HTTPMethod: "POST",
  4337. HTTPPath: "/",
  4338. }
  4339. if input == nil {
  4340. input = &DeleteSubnetInput{}
  4341. }
  4342. req = c.newRequest(op, input, output)
  4343. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  4344. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  4345. output = &DeleteSubnetOutput{}
  4346. req.Data = output
  4347. return
  4348. }
  4349. // DeleteSubnet API operation for Amazon Elastic Compute Cloud.
  4350. //
  4351. // Deletes the specified subnet. You must terminate all running instances in
  4352. // the subnet before you can delete the subnet.
  4353. //
  4354. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4355. // with awserr.Error's Code and Message methods to get detailed information about
  4356. // the error.
  4357. //
  4358. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4359. // API operation DeleteSubnet for usage and error information.
  4360. func (c *EC2) DeleteSubnet(input *DeleteSubnetInput) (*DeleteSubnetOutput, error) {
  4361. req, out := c.DeleteSubnetRequest(input)
  4362. err := req.Send()
  4363. return out, err
  4364. }
  4365. const opDeleteTags = "DeleteTags"
  4366. // DeleteTagsRequest generates a "aws/request.Request" representing the
  4367. // client's request for the DeleteTags operation. The "output" return
  4368. // value can be used to capture response data after the request's "Send" method
  4369. // is called.
  4370. //
  4371. // See DeleteTags for usage and error information.
  4372. //
  4373. // Creating a request object using this method should be used when you want to inject
  4374. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4375. // access properties on the request object before or after sending the request. If
  4376. // you just want the service response, call the DeleteTags method directly
  4377. // instead.
  4378. //
  4379. // Note: You must call the "Send" method on the returned request object in order
  4380. // to execute the request.
  4381. //
  4382. // // Example sending a request using the DeleteTagsRequest method.
  4383. // req, resp := client.DeleteTagsRequest(params)
  4384. //
  4385. // err := req.Send()
  4386. // if err == nil { // resp is now filled
  4387. // fmt.Println(resp)
  4388. // }
  4389. //
  4390. func (c *EC2) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, output *DeleteTagsOutput) {
  4391. op := &request.Operation{
  4392. Name: opDeleteTags,
  4393. HTTPMethod: "POST",
  4394. HTTPPath: "/",
  4395. }
  4396. if input == nil {
  4397. input = &DeleteTagsInput{}
  4398. }
  4399. req = c.newRequest(op, input, output)
  4400. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  4401. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  4402. output = &DeleteTagsOutput{}
  4403. req.Data = output
  4404. return
  4405. }
  4406. // DeleteTags API operation for Amazon Elastic Compute Cloud.
  4407. //
  4408. // Deletes the specified set of tags from the specified set of resources. This
  4409. // call is designed to follow a DescribeTags request.
  4410. //
  4411. // For more information about tags, see Tagging Your Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
  4412. // in the Amazon Elastic Compute Cloud User Guide.
  4413. //
  4414. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4415. // with awserr.Error's Code and Message methods to get detailed information about
  4416. // the error.
  4417. //
  4418. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4419. // API operation DeleteTags for usage and error information.
  4420. func (c *EC2) DeleteTags(input *DeleteTagsInput) (*DeleteTagsOutput, error) {
  4421. req, out := c.DeleteTagsRequest(input)
  4422. err := req.Send()
  4423. return out, err
  4424. }
  4425. const opDeleteVolume = "DeleteVolume"
  4426. // DeleteVolumeRequest generates a "aws/request.Request" representing the
  4427. // client's request for the DeleteVolume operation. The "output" return
  4428. // value can be used to capture response data after the request's "Send" method
  4429. // is called.
  4430. //
  4431. // See DeleteVolume for usage and error information.
  4432. //
  4433. // Creating a request object using this method should be used when you want to inject
  4434. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4435. // access properties on the request object before or after sending the request. If
  4436. // you just want the service response, call the DeleteVolume method directly
  4437. // instead.
  4438. //
  4439. // Note: You must call the "Send" method on the returned request object in order
  4440. // to execute the request.
  4441. //
  4442. // // Example sending a request using the DeleteVolumeRequest method.
  4443. // req, resp := client.DeleteVolumeRequest(params)
  4444. //
  4445. // err := req.Send()
  4446. // if err == nil { // resp is now filled
  4447. // fmt.Println(resp)
  4448. // }
  4449. //
  4450. func (c *EC2) DeleteVolumeRequest(input *DeleteVolumeInput) (req *request.Request, output *DeleteVolumeOutput) {
  4451. op := &request.Operation{
  4452. Name: opDeleteVolume,
  4453. HTTPMethod: "POST",
  4454. HTTPPath: "/",
  4455. }
  4456. if input == nil {
  4457. input = &DeleteVolumeInput{}
  4458. }
  4459. req = c.newRequest(op, input, output)
  4460. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  4461. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  4462. output = &DeleteVolumeOutput{}
  4463. req.Data = output
  4464. return
  4465. }
  4466. // DeleteVolume API operation for Amazon Elastic Compute Cloud.
  4467. //
  4468. // Deletes the specified EBS volume. The volume must be in the available state
  4469. // (not attached to an instance).
  4470. //
  4471. // The volume may remain in the deleting state for several minutes.
  4472. //
  4473. // For more information, see Deleting an Amazon EBS Volume (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-volume.html)
  4474. // in the Amazon Elastic Compute Cloud User Guide.
  4475. //
  4476. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4477. // with awserr.Error's Code and Message methods to get detailed information about
  4478. // the error.
  4479. //
  4480. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4481. // API operation DeleteVolume for usage and error information.
  4482. func (c *EC2) DeleteVolume(input *DeleteVolumeInput) (*DeleteVolumeOutput, error) {
  4483. req, out := c.DeleteVolumeRequest(input)
  4484. err := req.Send()
  4485. return out, err
  4486. }
  4487. const opDeleteVpc = "DeleteVpc"
  4488. // DeleteVpcRequest generates a "aws/request.Request" representing the
  4489. // client's request for the DeleteVpc operation. The "output" return
  4490. // value can be used to capture response data after the request's "Send" method
  4491. // is called.
  4492. //
  4493. // See DeleteVpc for usage and error information.
  4494. //
  4495. // Creating a request object using this method should be used when you want to inject
  4496. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4497. // access properties on the request object before or after sending the request. If
  4498. // you just want the service response, call the DeleteVpc method directly
  4499. // instead.
  4500. //
  4501. // Note: You must call the "Send" method on the returned request object in order
  4502. // to execute the request.
  4503. //
  4504. // // Example sending a request using the DeleteVpcRequest method.
  4505. // req, resp := client.DeleteVpcRequest(params)
  4506. //
  4507. // err := req.Send()
  4508. // if err == nil { // resp is now filled
  4509. // fmt.Println(resp)
  4510. // }
  4511. //
  4512. func (c *EC2) DeleteVpcRequest(input *DeleteVpcInput) (req *request.Request, output *DeleteVpcOutput) {
  4513. op := &request.Operation{
  4514. Name: opDeleteVpc,
  4515. HTTPMethod: "POST",
  4516. HTTPPath: "/",
  4517. }
  4518. if input == nil {
  4519. input = &DeleteVpcInput{}
  4520. }
  4521. req = c.newRequest(op, input, output)
  4522. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  4523. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  4524. output = &DeleteVpcOutput{}
  4525. req.Data = output
  4526. return
  4527. }
  4528. // DeleteVpc API operation for Amazon Elastic Compute Cloud.
  4529. //
  4530. // Deletes the specified VPC. You must detach or delete all gateways and resources
  4531. // that are associated with the VPC before you can delete it. For example, you
  4532. // must terminate all instances running in the VPC, delete all security groups
  4533. // associated with the VPC (except the default one), delete all route tables
  4534. // associated with the VPC (except the default one), and so on.
  4535. //
  4536. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4537. // with awserr.Error's Code and Message methods to get detailed information about
  4538. // the error.
  4539. //
  4540. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4541. // API operation DeleteVpc for usage and error information.
  4542. func (c *EC2) DeleteVpc(input *DeleteVpcInput) (*DeleteVpcOutput, error) {
  4543. req, out := c.DeleteVpcRequest(input)
  4544. err := req.Send()
  4545. return out, err
  4546. }
  4547. const opDeleteVpcEndpoints = "DeleteVpcEndpoints"
  4548. // DeleteVpcEndpointsRequest generates a "aws/request.Request" representing the
  4549. // client's request for the DeleteVpcEndpoints operation. The "output" return
  4550. // value can be used to capture response data after the request's "Send" method
  4551. // is called.
  4552. //
  4553. // See DeleteVpcEndpoints for usage and error information.
  4554. //
  4555. // Creating a request object using this method should be used when you want to inject
  4556. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4557. // access properties on the request object before or after sending the request. If
  4558. // you just want the service response, call the DeleteVpcEndpoints method directly
  4559. // instead.
  4560. //
  4561. // Note: You must call the "Send" method on the returned request object in order
  4562. // to execute the request.
  4563. //
  4564. // // Example sending a request using the DeleteVpcEndpointsRequest method.
  4565. // req, resp := client.DeleteVpcEndpointsRequest(params)
  4566. //
  4567. // err := req.Send()
  4568. // if err == nil { // resp is now filled
  4569. // fmt.Println(resp)
  4570. // }
  4571. //
  4572. func (c *EC2) DeleteVpcEndpointsRequest(input *DeleteVpcEndpointsInput) (req *request.Request, output *DeleteVpcEndpointsOutput) {
  4573. op := &request.Operation{
  4574. Name: opDeleteVpcEndpoints,
  4575. HTTPMethod: "POST",
  4576. HTTPPath: "/",
  4577. }
  4578. if input == nil {
  4579. input = &DeleteVpcEndpointsInput{}
  4580. }
  4581. req = c.newRequest(op, input, output)
  4582. output = &DeleteVpcEndpointsOutput{}
  4583. req.Data = output
  4584. return
  4585. }
  4586. // DeleteVpcEndpoints API operation for Amazon Elastic Compute Cloud.
  4587. //
  4588. // Deletes one or more specified VPC endpoints. Deleting the endpoint also deletes
  4589. // the endpoint routes in the route tables that were associated with the endpoint.
  4590. //
  4591. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4592. // with awserr.Error's Code and Message methods to get detailed information about
  4593. // the error.
  4594. //
  4595. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4596. // API operation DeleteVpcEndpoints for usage and error information.
  4597. func (c *EC2) DeleteVpcEndpoints(input *DeleteVpcEndpointsInput) (*DeleteVpcEndpointsOutput, error) {
  4598. req, out := c.DeleteVpcEndpointsRequest(input)
  4599. err := req.Send()
  4600. return out, err
  4601. }
  4602. const opDeleteVpcPeeringConnection = "DeleteVpcPeeringConnection"
  4603. // DeleteVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
  4604. // client's request for the DeleteVpcPeeringConnection operation. The "output" return
  4605. // value can be used to capture response data after the request's "Send" method
  4606. // is called.
  4607. //
  4608. // See DeleteVpcPeeringConnection for usage and error information.
  4609. //
  4610. // Creating a request object using this method should be used when you want to inject
  4611. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4612. // access properties on the request object before or after sending the request. If
  4613. // you just want the service response, call the DeleteVpcPeeringConnection method directly
  4614. // instead.
  4615. //
  4616. // Note: You must call the "Send" method on the returned request object in order
  4617. // to execute the request.
  4618. //
  4619. // // Example sending a request using the DeleteVpcPeeringConnectionRequest method.
  4620. // req, resp := client.DeleteVpcPeeringConnectionRequest(params)
  4621. //
  4622. // err := req.Send()
  4623. // if err == nil { // resp is now filled
  4624. // fmt.Println(resp)
  4625. // }
  4626. //
  4627. func (c *EC2) DeleteVpcPeeringConnectionRequest(input *DeleteVpcPeeringConnectionInput) (req *request.Request, output *DeleteVpcPeeringConnectionOutput) {
  4628. op := &request.Operation{
  4629. Name: opDeleteVpcPeeringConnection,
  4630. HTTPMethod: "POST",
  4631. HTTPPath: "/",
  4632. }
  4633. if input == nil {
  4634. input = &DeleteVpcPeeringConnectionInput{}
  4635. }
  4636. req = c.newRequest(op, input, output)
  4637. output = &DeleteVpcPeeringConnectionOutput{}
  4638. req.Data = output
  4639. return
  4640. }
  4641. // DeleteVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
  4642. //
  4643. // Deletes a VPC peering connection. Either the owner of the requester VPC or
  4644. // the owner of the peer VPC can delete the VPC peering connection if it's in
  4645. // the active state. The owner of the requester VPC can delete a VPC peering
  4646. // connection in the pending-acceptance state.
  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 DeleteVpcPeeringConnection for usage and error information.
  4654. func (c *EC2) DeleteVpcPeeringConnection(input *DeleteVpcPeeringConnectionInput) (*DeleteVpcPeeringConnectionOutput, error) {
  4655. req, out := c.DeleteVpcPeeringConnectionRequest(input)
  4656. err := req.Send()
  4657. return out, err
  4658. }
  4659. const opDeleteVpnConnection = "DeleteVpnConnection"
  4660. // DeleteVpnConnectionRequest generates a "aws/request.Request" representing the
  4661. // client's request for the DeleteVpnConnection operation. The "output" return
  4662. // value can be used to capture response data after the request's "Send" method
  4663. // is called.
  4664. //
  4665. // See DeleteVpnConnection for usage and error information.
  4666. //
  4667. // Creating a request object using this method should be used when you want to inject
  4668. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4669. // access properties on the request object before or after sending the request. If
  4670. // you just want the service response, call the DeleteVpnConnection method directly
  4671. // instead.
  4672. //
  4673. // Note: You must call the "Send" method on the returned request object in order
  4674. // to execute the request.
  4675. //
  4676. // // Example sending a request using the DeleteVpnConnectionRequest method.
  4677. // req, resp := client.DeleteVpnConnectionRequest(params)
  4678. //
  4679. // err := req.Send()
  4680. // if err == nil { // resp is now filled
  4681. // fmt.Println(resp)
  4682. // }
  4683. //
  4684. func (c *EC2) DeleteVpnConnectionRequest(input *DeleteVpnConnectionInput) (req *request.Request, output *DeleteVpnConnectionOutput) {
  4685. op := &request.Operation{
  4686. Name: opDeleteVpnConnection,
  4687. HTTPMethod: "POST",
  4688. HTTPPath: "/",
  4689. }
  4690. if input == nil {
  4691. input = &DeleteVpnConnectionInput{}
  4692. }
  4693. req = c.newRequest(op, input, output)
  4694. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  4695. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  4696. output = &DeleteVpnConnectionOutput{}
  4697. req.Data = output
  4698. return
  4699. }
  4700. // DeleteVpnConnection API operation for Amazon Elastic Compute Cloud.
  4701. //
  4702. // Deletes the specified VPN connection.
  4703. //
  4704. // If you're deleting the VPC and its associated components, we recommend that
  4705. // you detach the virtual private gateway from the VPC and delete the VPC before
  4706. // deleting the VPN connection. If you believe that the tunnel credentials for
  4707. // your VPN connection have been compromised, you can delete the VPN connection
  4708. // and create a new one that has new keys, without needing to delete the VPC
  4709. // or virtual private gateway. If you create a new VPN connection, you must
  4710. // reconfigure the customer gateway using the new configuration information
  4711. // returned with the new VPN connection ID.
  4712. //
  4713. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4714. // with awserr.Error's Code and Message methods to get detailed information about
  4715. // the error.
  4716. //
  4717. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4718. // API operation DeleteVpnConnection for usage and error information.
  4719. func (c *EC2) DeleteVpnConnection(input *DeleteVpnConnectionInput) (*DeleteVpnConnectionOutput, error) {
  4720. req, out := c.DeleteVpnConnectionRequest(input)
  4721. err := req.Send()
  4722. return out, err
  4723. }
  4724. const opDeleteVpnConnectionRoute = "DeleteVpnConnectionRoute"
  4725. // DeleteVpnConnectionRouteRequest generates a "aws/request.Request" representing the
  4726. // client's request for the DeleteVpnConnectionRoute operation. The "output" return
  4727. // value can be used to capture response data after the request's "Send" method
  4728. // is called.
  4729. //
  4730. // See DeleteVpnConnectionRoute for usage and error information.
  4731. //
  4732. // Creating a request object using this method should be used when you want to inject
  4733. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4734. // access properties on the request object before or after sending the request. If
  4735. // you just want the service response, call the DeleteVpnConnectionRoute method directly
  4736. // instead.
  4737. //
  4738. // Note: You must call the "Send" method on the returned request object in order
  4739. // to execute the request.
  4740. //
  4741. // // Example sending a request using the DeleteVpnConnectionRouteRequest method.
  4742. // req, resp := client.DeleteVpnConnectionRouteRequest(params)
  4743. //
  4744. // err := req.Send()
  4745. // if err == nil { // resp is now filled
  4746. // fmt.Println(resp)
  4747. // }
  4748. //
  4749. func (c *EC2) DeleteVpnConnectionRouteRequest(input *DeleteVpnConnectionRouteInput) (req *request.Request, output *DeleteVpnConnectionRouteOutput) {
  4750. op := &request.Operation{
  4751. Name: opDeleteVpnConnectionRoute,
  4752. HTTPMethod: "POST",
  4753. HTTPPath: "/",
  4754. }
  4755. if input == nil {
  4756. input = &DeleteVpnConnectionRouteInput{}
  4757. }
  4758. req = c.newRequest(op, input, output)
  4759. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  4760. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  4761. output = &DeleteVpnConnectionRouteOutput{}
  4762. req.Data = output
  4763. return
  4764. }
  4765. // DeleteVpnConnectionRoute API operation for Amazon Elastic Compute Cloud.
  4766. //
  4767. // Deletes the specified static route associated with a VPN connection between
  4768. // an existing virtual private gateway and a VPN customer gateway. The static
  4769. // route allows traffic to be routed from the virtual private gateway to the
  4770. // VPN customer gateway.
  4771. //
  4772. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4773. // with awserr.Error's Code and Message methods to get detailed information about
  4774. // the error.
  4775. //
  4776. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4777. // API operation DeleteVpnConnectionRoute for usage and error information.
  4778. func (c *EC2) DeleteVpnConnectionRoute(input *DeleteVpnConnectionRouteInput) (*DeleteVpnConnectionRouteOutput, error) {
  4779. req, out := c.DeleteVpnConnectionRouteRequest(input)
  4780. err := req.Send()
  4781. return out, err
  4782. }
  4783. const opDeleteVpnGateway = "DeleteVpnGateway"
  4784. // DeleteVpnGatewayRequest generates a "aws/request.Request" representing the
  4785. // client's request for the DeleteVpnGateway operation. The "output" return
  4786. // value can be used to capture response data after the request's "Send" method
  4787. // is called.
  4788. //
  4789. // See DeleteVpnGateway for usage and error information.
  4790. //
  4791. // Creating a request object using this method should be used when you want to inject
  4792. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4793. // access properties on the request object before or after sending the request. If
  4794. // you just want the service response, call the DeleteVpnGateway method directly
  4795. // instead.
  4796. //
  4797. // Note: You must call the "Send" method on the returned request object in order
  4798. // to execute the request.
  4799. //
  4800. // // Example sending a request using the DeleteVpnGatewayRequest method.
  4801. // req, resp := client.DeleteVpnGatewayRequest(params)
  4802. //
  4803. // err := req.Send()
  4804. // if err == nil { // resp is now filled
  4805. // fmt.Println(resp)
  4806. // }
  4807. //
  4808. func (c *EC2) DeleteVpnGatewayRequest(input *DeleteVpnGatewayInput) (req *request.Request, output *DeleteVpnGatewayOutput) {
  4809. op := &request.Operation{
  4810. Name: opDeleteVpnGateway,
  4811. HTTPMethod: "POST",
  4812. HTTPPath: "/",
  4813. }
  4814. if input == nil {
  4815. input = &DeleteVpnGatewayInput{}
  4816. }
  4817. req = c.newRequest(op, input, output)
  4818. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  4819. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  4820. output = &DeleteVpnGatewayOutput{}
  4821. req.Data = output
  4822. return
  4823. }
  4824. // DeleteVpnGateway API operation for Amazon Elastic Compute Cloud.
  4825. //
  4826. // Deletes the specified virtual private gateway. We recommend that before you
  4827. // delete a virtual private gateway, you detach it from the VPC and delete the
  4828. // VPN connection. Note that you don't need to delete the virtual private gateway
  4829. // if you plan to delete and recreate the VPN connection between your VPC and
  4830. // your network.
  4831. //
  4832. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4833. // with awserr.Error's Code and Message methods to get detailed information about
  4834. // the error.
  4835. //
  4836. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4837. // API operation DeleteVpnGateway for usage and error information.
  4838. func (c *EC2) DeleteVpnGateway(input *DeleteVpnGatewayInput) (*DeleteVpnGatewayOutput, error) {
  4839. req, out := c.DeleteVpnGatewayRequest(input)
  4840. err := req.Send()
  4841. return out, err
  4842. }
  4843. const opDeregisterImage = "DeregisterImage"
  4844. // DeregisterImageRequest generates a "aws/request.Request" representing the
  4845. // client's request for the DeregisterImage operation. The "output" return
  4846. // value can be used to capture response data after the request's "Send" method
  4847. // is called.
  4848. //
  4849. // See DeregisterImage for usage and error information.
  4850. //
  4851. // Creating a request object using this method should be used when you want to inject
  4852. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4853. // access properties on the request object before or after sending the request. If
  4854. // you just want the service response, call the DeregisterImage method directly
  4855. // instead.
  4856. //
  4857. // Note: You must call the "Send" method on the returned request object in order
  4858. // to execute the request.
  4859. //
  4860. // // Example sending a request using the DeregisterImageRequest method.
  4861. // req, resp := client.DeregisterImageRequest(params)
  4862. //
  4863. // err := req.Send()
  4864. // if err == nil { // resp is now filled
  4865. // fmt.Println(resp)
  4866. // }
  4867. //
  4868. func (c *EC2) DeregisterImageRequest(input *DeregisterImageInput) (req *request.Request, output *DeregisterImageOutput) {
  4869. op := &request.Operation{
  4870. Name: opDeregisterImage,
  4871. HTTPMethod: "POST",
  4872. HTTPPath: "/",
  4873. }
  4874. if input == nil {
  4875. input = &DeregisterImageInput{}
  4876. }
  4877. req = c.newRequest(op, input, output)
  4878. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  4879. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  4880. output = &DeregisterImageOutput{}
  4881. req.Data = output
  4882. return
  4883. }
  4884. // DeregisterImage API operation for Amazon Elastic Compute Cloud.
  4885. //
  4886. // Deregisters the specified AMI. After you deregister an AMI, it can't be used
  4887. // to launch new instances.
  4888. //
  4889. // This command does not delete the AMI.
  4890. //
  4891. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4892. // with awserr.Error's Code and Message methods to get detailed information about
  4893. // the error.
  4894. //
  4895. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4896. // API operation DeregisterImage for usage and error information.
  4897. func (c *EC2) DeregisterImage(input *DeregisterImageInput) (*DeregisterImageOutput, error) {
  4898. req, out := c.DeregisterImageRequest(input)
  4899. err := req.Send()
  4900. return out, err
  4901. }
  4902. const opDescribeAccountAttributes = "DescribeAccountAttributes"
  4903. // DescribeAccountAttributesRequest generates a "aws/request.Request" representing the
  4904. // client's request for the DescribeAccountAttributes operation. The "output" return
  4905. // value can be used to capture response data after the request's "Send" method
  4906. // is called.
  4907. //
  4908. // See DescribeAccountAttributes for usage and error information.
  4909. //
  4910. // Creating a request object using this method should be used when you want to inject
  4911. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4912. // access properties on the request object before or after sending the request. If
  4913. // you just want the service response, call the DescribeAccountAttributes method directly
  4914. // instead.
  4915. //
  4916. // Note: You must call the "Send" method on the returned request object in order
  4917. // to execute the request.
  4918. //
  4919. // // Example sending a request using the DescribeAccountAttributesRequest method.
  4920. // req, resp := client.DescribeAccountAttributesRequest(params)
  4921. //
  4922. // err := req.Send()
  4923. // if err == nil { // resp is now filled
  4924. // fmt.Println(resp)
  4925. // }
  4926. //
  4927. func (c *EC2) DescribeAccountAttributesRequest(input *DescribeAccountAttributesInput) (req *request.Request, output *DescribeAccountAttributesOutput) {
  4928. op := &request.Operation{
  4929. Name: opDescribeAccountAttributes,
  4930. HTTPMethod: "POST",
  4931. HTTPPath: "/",
  4932. }
  4933. if input == nil {
  4934. input = &DescribeAccountAttributesInput{}
  4935. }
  4936. req = c.newRequest(op, input, output)
  4937. output = &DescribeAccountAttributesOutput{}
  4938. req.Data = output
  4939. return
  4940. }
  4941. // DescribeAccountAttributes API operation for Amazon Elastic Compute Cloud.
  4942. //
  4943. // Describes attributes of your AWS account. The following are the supported
  4944. // account attributes:
  4945. //
  4946. // * supported-platforms: Indicates whether your account can launch instances
  4947. // into EC2-Classic and EC2-VPC, or only into EC2-VPC.
  4948. //
  4949. // * default-vpc: The ID of the default VPC for your account, or none.
  4950. //
  4951. // * max-instances: The maximum number of On-Demand instances that you can
  4952. // run.
  4953. //
  4954. // * vpc-max-security-groups-per-interface: The maximum number of security
  4955. // groups that you can assign to a network interface.
  4956. //
  4957. // * max-elastic-ips: The maximum number of Elastic IP addresses that you
  4958. // can allocate for use with EC2-Classic.
  4959. //
  4960. // * vpc-max-elastic-ips: The maximum number of Elastic IP addresses that
  4961. // you can allocate for use with EC2-VPC.
  4962. //
  4963. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4964. // with awserr.Error's Code and Message methods to get detailed information about
  4965. // the error.
  4966. //
  4967. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4968. // API operation DescribeAccountAttributes for usage and error information.
  4969. func (c *EC2) DescribeAccountAttributes(input *DescribeAccountAttributesInput) (*DescribeAccountAttributesOutput, error) {
  4970. req, out := c.DescribeAccountAttributesRequest(input)
  4971. err := req.Send()
  4972. return out, err
  4973. }
  4974. const opDescribeAddresses = "DescribeAddresses"
  4975. // DescribeAddressesRequest generates a "aws/request.Request" representing the
  4976. // client's request for the DescribeAddresses operation. The "output" return
  4977. // value can be used to capture response data after the request's "Send" method
  4978. // is called.
  4979. //
  4980. // See DescribeAddresses for usage and error information.
  4981. //
  4982. // Creating a request object using this method should be used when you want to inject
  4983. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4984. // access properties on the request object before or after sending the request. If
  4985. // you just want the service response, call the DescribeAddresses method directly
  4986. // instead.
  4987. //
  4988. // Note: You must call the "Send" method on the returned request object in order
  4989. // to execute the request.
  4990. //
  4991. // // Example sending a request using the DescribeAddressesRequest method.
  4992. // req, resp := client.DescribeAddressesRequest(params)
  4993. //
  4994. // err := req.Send()
  4995. // if err == nil { // resp is now filled
  4996. // fmt.Println(resp)
  4997. // }
  4998. //
  4999. func (c *EC2) DescribeAddressesRequest(input *DescribeAddressesInput) (req *request.Request, output *DescribeAddressesOutput) {
  5000. op := &request.Operation{
  5001. Name: opDescribeAddresses,
  5002. HTTPMethod: "POST",
  5003. HTTPPath: "/",
  5004. }
  5005. if input == nil {
  5006. input = &DescribeAddressesInput{}
  5007. }
  5008. req = c.newRequest(op, input, output)
  5009. output = &DescribeAddressesOutput{}
  5010. req.Data = output
  5011. return
  5012. }
  5013. // DescribeAddresses API operation for Amazon Elastic Compute Cloud.
  5014. //
  5015. // Describes one or more of your Elastic IP addresses.
  5016. //
  5017. // An Elastic IP address is for use in either the EC2-Classic platform or in
  5018. // a VPC. For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  5019. // in the Amazon Elastic Compute Cloud User Guide.
  5020. //
  5021. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5022. // with awserr.Error's Code and Message methods to get detailed information about
  5023. // the error.
  5024. //
  5025. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5026. // API operation DescribeAddresses for usage and error information.
  5027. func (c *EC2) DescribeAddresses(input *DescribeAddressesInput) (*DescribeAddressesOutput, error) {
  5028. req, out := c.DescribeAddressesRequest(input)
  5029. err := req.Send()
  5030. return out, err
  5031. }
  5032. const opDescribeAvailabilityZones = "DescribeAvailabilityZones"
  5033. // DescribeAvailabilityZonesRequest generates a "aws/request.Request" representing the
  5034. // client's request for the DescribeAvailabilityZones operation. The "output" return
  5035. // value can be used to capture response data after the request's "Send" method
  5036. // is called.
  5037. //
  5038. // See DescribeAvailabilityZones for usage and error information.
  5039. //
  5040. // Creating a request object using this method should be used when you want to inject
  5041. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5042. // access properties on the request object before or after sending the request. If
  5043. // you just want the service response, call the DescribeAvailabilityZones method directly
  5044. // instead.
  5045. //
  5046. // Note: You must call the "Send" method on the returned request object in order
  5047. // to execute the request.
  5048. //
  5049. // // Example sending a request using the DescribeAvailabilityZonesRequest method.
  5050. // req, resp := client.DescribeAvailabilityZonesRequest(params)
  5051. //
  5052. // err := req.Send()
  5053. // if err == nil { // resp is now filled
  5054. // fmt.Println(resp)
  5055. // }
  5056. //
  5057. func (c *EC2) DescribeAvailabilityZonesRequest(input *DescribeAvailabilityZonesInput) (req *request.Request, output *DescribeAvailabilityZonesOutput) {
  5058. op := &request.Operation{
  5059. Name: opDescribeAvailabilityZones,
  5060. HTTPMethod: "POST",
  5061. HTTPPath: "/",
  5062. }
  5063. if input == nil {
  5064. input = &DescribeAvailabilityZonesInput{}
  5065. }
  5066. req = c.newRequest(op, input, output)
  5067. output = &DescribeAvailabilityZonesOutput{}
  5068. req.Data = output
  5069. return
  5070. }
  5071. // DescribeAvailabilityZones API operation for Amazon Elastic Compute Cloud.
  5072. //
  5073. // Describes one or more of the Availability Zones that are available to you.
  5074. // The results include zones only for the region you're currently using. If
  5075. // there is an event impacting an Availability Zone, you can use this request
  5076. // to view the state and any provided message for that Availability Zone.
  5077. //
  5078. // For more information, see Regions and Availability Zones (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html)
  5079. // in the Amazon Elastic Compute Cloud User Guide.
  5080. //
  5081. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5082. // with awserr.Error's Code and Message methods to get detailed information about
  5083. // the error.
  5084. //
  5085. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5086. // API operation DescribeAvailabilityZones for usage and error information.
  5087. func (c *EC2) DescribeAvailabilityZones(input *DescribeAvailabilityZonesInput) (*DescribeAvailabilityZonesOutput, error) {
  5088. req, out := c.DescribeAvailabilityZonesRequest(input)
  5089. err := req.Send()
  5090. return out, err
  5091. }
  5092. const opDescribeBundleTasks = "DescribeBundleTasks"
  5093. // DescribeBundleTasksRequest generates a "aws/request.Request" representing the
  5094. // client's request for the DescribeBundleTasks operation. The "output" return
  5095. // value can be used to capture response data after the request's "Send" method
  5096. // is called.
  5097. //
  5098. // See DescribeBundleTasks for usage and error information.
  5099. //
  5100. // Creating a request object using this method should be used when you want to inject
  5101. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5102. // access properties on the request object before or after sending the request. If
  5103. // you just want the service response, call the DescribeBundleTasks method directly
  5104. // instead.
  5105. //
  5106. // Note: You must call the "Send" method on the returned request object in order
  5107. // to execute the request.
  5108. //
  5109. // // Example sending a request using the DescribeBundleTasksRequest method.
  5110. // req, resp := client.DescribeBundleTasksRequest(params)
  5111. //
  5112. // err := req.Send()
  5113. // if err == nil { // resp is now filled
  5114. // fmt.Println(resp)
  5115. // }
  5116. //
  5117. func (c *EC2) DescribeBundleTasksRequest(input *DescribeBundleTasksInput) (req *request.Request, output *DescribeBundleTasksOutput) {
  5118. op := &request.Operation{
  5119. Name: opDescribeBundleTasks,
  5120. HTTPMethod: "POST",
  5121. HTTPPath: "/",
  5122. }
  5123. if input == nil {
  5124. input = &DescribeBundleTasksInput{}
  5125. }
  5126. req = c.newRequest(op, input, output)
  5127. output = &DescribeBundleTasksOutput{}
  5128. req.Data = output
  5129. return
  5130. }
  5131. // DescribeBundleTasks API operation for Amazon Elastic Compute Cloud.
  5132. //
  5133. // Describes one or more of your bundling tasks.
  5134. //
  5135. // Completed bundle tasks are listed for only a limited time. If your bundle
  5136. // task is no longer in the list, you can still register an AMI from it. Just
  5137. // use RegisterImage with the Amazon S3 bucket name and image manifest name
  5138. // you provided to the bundle task.
  5139. //
  5140. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5141. // with awserr.Error's Code and Message methods to get detailed information about
  5142. // the error.
  5143. //
  5144. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5145. // API operation DescribeBundleTasks for usage and error information.
  5146. func (c *EC2) DescribeBundleTasks(input *DescribeBundleTasksInput) (*DescribeBundleTasksOutput, error) {
  5147. req, out := c.DescribeBundleTasksRequest(input)
  5148. err := req.Send()
  5149. return out, err
  5150. }
  5151. const opDescribeClassicLinkInstances = "DescribeClassicLinkInstances"
  5152. // DescribeClassicLinkInstancesRequest generates a "aws/request.Request" representing the
  5153. // client's request for the DescribeClassicLinkInstances operation. The "output" return
  5154. // value can be used to capture response data after the request's "Send" method
  5155. // is called.
  5156. //
  5157. // See DescribeClassicLinkInstances for usage and error information.
  5158. //
  5159. // Creating a request object using this method should be used when you want to inject
  5160. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5161. // access properties on the request object before or after sending the request. If
  5162. // you just want the service response, call the DescribeClassicLinkInstances method directly
  5163. // instead.
  5164. //
  5165. // Note: You must call the "Send" method on the returned request object in order
  5166. // to execute the request.
  5167. //
  5168. // // Example sending a request using the DescribeClassicLinkInstancesRequest method.
  5169. // req, resp := client.DescribeClassicLinkInstancesRequest(params)
  5170. //
  5171. // err := req.Send()
  5172. // if err == nil { // resp is now filled
  5173. // fmt.Println(resp)
  5174. // }
  5175. //
  5176. func (c *EC2) DescribeClassicLinkInstancesRequest(input *DescribeClassicLinkInstancesInput) (req *request.Request, output *DescribeClassicLinkInstancesOutput) {
  5177. op := &request.Operation{
  5178. Name: opDescribeClassicLinkInstances,
  5179. HTTPMethod: "POST",
  5180. HTTPPath: "/",
  5181. }
  5182. if input == nil {
  5183. input = &DescribeClassicLinkInstancesInput{}
  5184. }
  5185. req = c.newRequest(op, input, output)
  5186. output = &DescribeClassicLinkInstancesOutput{}
  5187. req.Data = output
  5188. return
  5189. }
  5190. // DescribeClassicLinkInstances API operation for Amazon Elastic Compute Cloud.
  5191. //
  5192. // Describes one or more of your linked EC2-Classic instances. This request
  5193. // only returns information about EC2-Classic instances linked to a VPC through
  5194. // ClassicLink; you cannot use this request to return information about other
  5195. // instances.
  5196. //
  5197. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5198. // with awserr.Error's Code and Message methods to get detailed information about
  5199. // the error.
  5200. //
  5201. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5202. // API operation DescribeClassicLinkInstances for usage and error information.
  5203. func (c *EC2) DescribeClassicLinkInstances(input *DescribeClassicLinkInstancesInput) (*DescribeClassicLinkInstancesOutput, error) {
  5204. req, out := c.DescribeClassicLinkInstancesRequest(input)
  5205. err := req.Send()
  5206. return out, err
  5207. }
  5208. const opDescribeConversionTasks = "DescribeConversionTasks"
  5209. // DescribeConversionTasksRequest generates a "aws/request.Request" representing the
  5210. // client's request for the DescribeConversionTasks operation. The "output" return
  5211. // value can be used to capture response data after the request's "Send" method
  5212. // is called.
  5213. //
  5214. // See DescribeConversionTasks for usage and error information.
  5215. //
  5216. // Creating a request object using this method should be used when you want to inject
  5217. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5218. // access properties on the request object before or after sending the request. If
  5219. // you just want the service response, call the DescribeConversionTasks method directly
  5220. // instead.
  5221. //
  5222. // Note: You must call the "Send" method on the returned request object in order
  5223. // to execute the request.
  5224. //
  5225. // // Example sending a request using the DescribeConversionTasksRequest method.
  5226. // req, resp := client.DescribeConversionTasksRequest(params)
  5227. //
  5228. // err := req.Send()
  5229. // if err == nil { // resp is now filled
  5230. // fmt.Println(resp)
  5231. // }
  5232. //
  5233. func (c *EC2) DescribeConversionTasksRequest(input *DescribeConversionTasksInput) (req *request.Request, output *DescribeConversionTasksOutput) {
  5234. op := &request.Operation{
  5235. Name: opDescribeConversionTasks,
  5236. HTTPMethod: "POST",
  5237. HTTPPath: "/",
  5238. }
  5239. if input == nil {
  5240. input = &DescribeConversionTasksInput{}
  5241. }
  5242. req = c.newRequest(op, input, output)
  5243. output = &DescribeConversionTasksOutput{}
  5244. req.Data = output
  5245. return
  5246. }
  5247. // DescribeConversionTasks API operation for Amazon Elastic Compute Cloud.
  5248. //
  5249. // Describes one or more of your conversion tasks. For more information, see
  5250. // the VM Import/Export User Guide (http://docs.aws.amazon.com/vm-import/latest/userguide/).
  5251. //
  5252. // For information about the import manifest referenced by this API action,
  5253. // see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  5254. //
  5255. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5256. // with awserr.Error's Code and Message methods to get detailed information about
  5257. // the error.
  5258. //
  5259. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5260. // API operation DescribeConversionTasks for usage and error information.
  5261. func (c *EC2) DescribeConversionTasks(input *DescribeConversionTasksInput) (*DescribeConversionTasksOutput, error) {
  5262. req, out := c.DescribeConversionTasksRequest(input)
  5263. err := req.Send()
  5264. return out, err
  5265. }
  5266. const opDescribeCustomerGateways = "DescribeCustomerGateways"
  5267. // DescribeCustomerGatewaysRequest generates a "aws/request.Request" representing the
  5268. // client's request for the DescribeCustomerGateways operation. The "output" return
  5269. // value can be used to capture response data after the request's "Send" method
  5270. // is called.
  5271. //
  5272. // See DescribeCustomerGateways for usage and error information.
  5273. //
  5274. // Creating a request object using this method should be used when you want to inject
  5275. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5276. // access properties on the request object before or after sending the request. If
  5277. // you just want the service response, call the DescribeCustomerGateways method directly
  5278. // instead.
  5279. //
  5280. // Note: You must call the "Send" method on the returned request object in order
  5281. // to execute the request.
  5282. //
  5283. // // Example sending a request using the DescribeCustomerGatewaysRequest method.
  5284. // req, resp := client.DescribeCustomerGatewaysRequest(params)
  5285. //
  5286. // err := req.Send()
  5287. // if err == nil { // resp is now filled
  5288. // fmt.Println(resp)
  5289. // }
  5290. //
  5291. func (c *EC2) DescribeCustomerGatewaysRequest(input *DescribeCustomerGatewaysInput) (req *request.Request, output *DescribeCustomerGatewaysOutput) {
  5292. op := &request.Operation{
  5293. Name: opDescribeCustomerGateways,
  5294. HTTPMethod: "POST",
  5295. HTTPPath: "/",
  5296. }
  5297. if input == nil {
  5298. input = &DescribeCustomerGatewaysInput{}
  5299. }
  5300. req = c.newRequest(op, input, output)
  5301. output = &DescribeCustomerGatewaysOutput{}
  5302. req.Data = output
  5303. return
  5304. }
  5305. // DescribeCustomerGateways API operation for Amazon Elastic Compute Cloud.
  5306. //
  5307. // Describes one or more of your VPN customer gateways.
  5308. //
  5309. // For more information about VPN customer gateways, see Adding a Hardware Virtual
  5310. // Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  5311. // in the Amazon Virtual Private Cloud User Guide.
  5312. //
  5313. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5314. // with awserr.Error's Code and Message methods to get detailed information about
  5315. // the error.
  5316. //
  5317. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5318. // API operation DescribeCustomerGateways for usage and error information.
  5319. func (c *EC2) DescribeCustomerGateways(input *DescribeCustomerGatewaysInput) (*DescribeCustomerGatewaysOutput, error) {
  5320. req, out := c.DescribeCustomerGatewaysRequest(input)
  5321. err := req.Send()
  5322. return out, err
  5323. }
  5324. const opDescribeDhcpOptions = "DescribeDhcpOptions"
  5325. // DescribeDhcpOptionsRequest generates a "aws/request.Request" representing the
  5326. // client's request for the DescribeDhcpOptions operation. The "output" return
  5327. // value can be used to capture response data after the request's "Send" method
  5328. // is called.
  5329. //
  5330. // See DescribeDhcpOptions for usage and error information.
  5331. //
  5332. // Creating a request object using this method should be used when you want to inject
  5333. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5334. // access properties on the request object before or after sending the request. If
  5335. // you just want the service response, call the DescribeDhcpOptions method directly
  5336. // instead.
  5337. //
  5338. // Note: You must call the "Send" method on the returned request object in order
  5339. // to execute the request.
  5340. //
  5341. // // Example sending a request using the DescribeDhcpOptionsRequest method.
  5342. // req, resp := client.DescribeDhcpOptionsRequest(params)
  5343. //
  5344. // err := req.Send()
  5345. // if err == nil { // resp is now filled
  5346. // fmt.Println(resp)
  5347. // }
  5348. //
  5349. func (c *EC2) DescribeDhcpOptionsRequest(input *DescribeDhcpOptionsInput) (req *request.Request, output *DescribeDhcpOptionsOutput) {
  5350. op := &request.Operation{
  5351. Name: opDescribeDhcpOptions,
  5352. HTTPMethod: "POST",
  5353. HTTPPath: "/",
  5354. }
  5355. if input == nil {
  5356. input = &DescribeDhcpOptionsInput{}
  5357. }
  5358. req = c.newRequest(op, input, output)
  5359. output = &DescribeDhcpOptionsOutput{}
  5360. req.Data = output
  5361. return
  5362. }
  5363. // DescribeDhcpOptions API operation for Amazon Elastic Compute Cloud.
  5364. //
  5365. // Describes one or more of your DHCP options sets.
  5366. //
  5367. // For more information about DHCP options sets, see DHCP Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
  5368. // in the Amazon Virtual Private Cloud User Guide.
  5369. //
  5370. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5371. // with awserr.Error's Code and Message methods to get detailed information about
  5372. // the error.
  5373. //
  5374. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5375. // API operation DescribeDhcpOptions for usage and error information.
  5376. func (c *EC2) DescribeDhcpOptions(input *DescribeDhcpOptionsInput) (*DescribeDhcpOptionsOutput, error) {
  5377. req, out := c.DescribeDhcpOptionsRequest(input)
  5378. err := req.Send()
  5379. return out, err
  5380. }
  5381. const opDescribeExportTasks = "DescribeExportTasks"
  5382. // DescribeExportTasksRequest generates a "aws/request.Request" representing the
  5383. // client's request for the DescribeExportTasks operation. The "output" return
  5384. // value can be used to capture response data after the request's "Send" method
  5385. // is called.
  5386. //
  5387. // See DescribeExportTasks for usage and error information.
  5388. //
  5389. // Creating a request object using this method should be used when you want to inject
  5390. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5391. // access properties on the request object before or after sending the request. If
  5392. // you just want the service response, call the DescribeExportTasks method directly
  5393. // instead.
  5394. //
  5395. // Note: You must call the "Send" method on the returned request object in order
  5396. // to execute the request.
  5397. //
  5398. // // Example sending a request using the DescribeExportTasksRequest method.
  5399. // req, resp := client.DescribeExportTasksRequest(params)
  5400. //
  5401. // err := req.Send()
  5402. // if err == nil { // resp is now filled
  5403. // fmt.Println(resp)
  5404. // }
  5405. //
  5406. func (c *EC2) DescribeExportTasksRequest(input *DescribeExportTasksInput) (req *request.Request, output *DescribeExportTasksOutput) {
  5407. op := &request.Operation{
  5408. Name: opDescribeExportTasks,
  5409. HTTPMethod: "POST",
  5410. HTTPPath: "/",
  5411. }
  5412. if input == nil {
  5413. input = &DescribeExportTasksInput{}
  5414. }
  5415. req = c.newRequest(op, input, output)
  5416. output = &DescribeExportTasksOutput{}
  5417. req.Data = output
  5418. return
  5419. }
  5420. // DescribeExportTasks API operation for Amazon Elastic Compute Cloud.
  5421. //
  5422. // Describes one or more of your export tasks.
  5423. //
  5424. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5425. // with awserr.Error's Code and Message methods to get detailed information about
  5426. // the error.
  5427. //
  5428. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5429. // API operation DescribeExportTasks for usage and error information.
  5430. func (c *EC2) DescribeExportTasks(input *DescribeExportTasksInput) (*DescribeExportTasksOutput, error) {
  5431. req, out := c.DescribeExportTasksRequest(input)
  5432. err := req.Send()
  5433. return out, err
  5434. }
  5435. const opDescribeFlowLogs = "DescribeFlowLogs"
  5436. // DescribeFlowLogsRequest generates a "aws/request.Request" representing the
  5437. // client's request for the DescribeFlowLogs operation. The "output" return
  5438. // value can be used to capture response data after the request's "Send" method
  5439. // is called.
  5440. //
  5441. // See DescribeFlowLogs for usage and error information.
  5442. //
  5443. // Creating a request object using this method should be used when you want to inject
  5444. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5445. // access properties on the request object before or after sending the request. If
  5446. // you just want the service response, call the DescribeFlowLogs method directly
  5447. // instead.
  5448. //
  5449. // Note: You must call the "Send" method on the returned request object in order
  5450. // to execute the request.
  5451. //
  5452. // // Example sending a request using the DescribeFlowLogsRequest method.
  5453. // req, resp := client.DescribeFlowLogsRequest(params)
  5454. //
  5455. // err := req.Send()
  5456. // if err == nil { // resp is now filled
  5457. // fmt.Println(resp)
  5458. // }
  5459. //
  5460. func (c *EC2) DescribeFlowLogsRequest(input *DescribeFlowLogsInput) (req *request.Request, output *DescribeFlowLogsOutput) {
  5461. op := &request.Operation{
  5462. Name: opDescribeFlowLogs,
  5463. HTTPMethod: "POST",
  5464. HTTPPath: "/",
  5465. }
  5466. if input == nil {
  5467. input = &DescribeFlowLogsInput{}
  5468. }
  5469. req = c.newRequest(op, input, output)
  5470. output = &DescribeFlowLogsOutput{}
  5471. req.Data = output
  5472. return
  5473. }
  5474. // DescribeFlowLogs API operation for Amazon Elastic Compute Cloud.
  5475. //
  5476. // Describes one or more flow logs. To view the information in your flow logs
  5477. // (the log streams for the network interfaces), you must use the CloudWatch
  5478. // Logs console or the CloudWatch Logs API.
  5479. //
  5480. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5481. // with awserr.Error's Code and Message methods to get detailed information about
  5482. // the error.
  5483. //
  5484. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5485. // API operation DescribeFlowLogs for usage and error information.
  5486. func (c *EC2) DescribeFlowLogs(input *DescribeFlowLogsInput) (*DescribeFlowLogsOutput, error) {
  5487. req, out := c.DescribeFlowLogsRequest(input)
  5488. err := req.Send()
  5489. return out, err
  5490. }
  5491. const opDescribeHostReservationOfferings = "DescribeHostReservationOfferings"
  5492. // DescribeHostReservationOfferingsRequest generates a "aws/request.Request" representing the
  5493. // client's request for the DescribeHostReservationOfferings operation. The "output" return
  5494. // value can be used to capture response data after the request's "Send" method
  5495. // is called.
  5496. //
  5497. // See DescribeHostReservationOfferings for usage and error information.
  5498. //
  5499. // Creating a request object using this method should be used when you want to inject
  5500. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5501. // access properties on the request object before or after sending the request. If
  5502. // you just want the service response, call the DescribeHostReservationOfferings method directly
  5503. // instead.
  5504. //
  5505. // Note: You must call the "Send" method on the returned request object in order
  5506. // to execute the request.
  5507. //
  5508. // // Example sending a request using the DescribeHostReservationOfferingsRequest method.
  5509. // req, resp := client.DescribeHostReservationOfferingsRequest(params)
  5510. //
  5511. // err := req.Send()
  5512. // if err == nil { // resp is now filled
  5513. // fmt.Println(resp)
  5514. // }
  5515. //
  5516. func (c *EC2) DescribeHostReservationOfferingsRequest(input *DescribeHostReservationOfferingsInput) (req *request.Request, output *DescribeHostReservationOfferingsOutput) {
  5517. op := &request.Operation{
  5518. Name: opDescribeHostReservationOfferings,
  5519. HTTPMethod: "POST",
  5520. HTTPPath: "/",
  5521. }
  5522. if input == nil {
  5523. input = &DescribeHostReservationOfferingsInput{}
  5524. }
  5525. req = c.newRequest(op, input, output)
  5526. output = &DescribeHostReservationOfferingsOutput{}
  5527. req.Data = output
  5528. return
  5529. }
  5530. // DescribeHostReservationOfferings API operation for Amazon Elastic Compute Cloud.
  5531. //
  5532. // Describes the Dedicated Host Reservations that are available to purchase.
  5533. //
  5534. // The results describe all the Dedicated Host Reservation offerings, including
  5535. // offerings that may not match the instance family and region of your Dedicated
  5536. // Hosts. When purchasing an offering, ensure that the the instance family and
  5537. // region of the offering matches that of the Dedicated Host/s it will be associated
  5538. // with. For an overview of supported instance types, see Dedicated Hosts Overview
  5539. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-overview.html)
  5540. // in the Amazon Elastic Compute Cloud User Guide.
  5541. //
  5542. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5543. // with awserr.Error's Code and Message methods to get detailed information about
  5544. // the error.
  5545. //
  5546. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5547. // API operation DescribeHostReservationOfferings for usage and error information.
  5548. func (c *EC2) DescribeHostReservationOfferings(input *DescribeHostReservationOfferingsInput) (*DescribeHostReservationOfferingsOutput, error) {
  5549. req, out := c.DescribeHostReservationOfferingsRequest(input)
  5550. err := req.Send()
  5551. return out, err
  5552. }
  5553. const opDescribeHostReservations = "DescribeHostReservations"
  5554. // DescribeHostReservationsRequest generates a "aws/request.Request" representing the
  5555. // client's request for the DescribeHostReservations operation. The "output" return
  5556. // value can be used to capture response data after the request's "Send" method
  5557. // is called.
  5558. //
  5559. // See DescribeHostReservations for usage and error information.
  5560. //
  5561. // Creating a request object using this method should be used when you want to inject
  5562. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5563. // access properties on the request object before or after sending the request. If
  5564. // you just want the service response, call the DescribeHostReservations method directly
  5565. // instead.
  5566. //
  5567. // Note: You must call the "Send" method on the returned request object in order
  5568. // to execute the request.
  5569. //
  5570. // // Example sending a request using the DescribeHostReservationsRequest method.
  5571. // req, resp := client.DescribeHostReservationsRequest(params)
  5572. //
  5573. // err := req.Send()
  5574. // if err == nil { // resp is now filled
  5575. // fmt.Println(resp)
  5576. // }
  5577. //
  5578. func (c *EC2) DescribeHostReservationsRequest(input *DescribeHostReservationsInput) (req *request.Request, output *DescribeHostReservationsOutput) {
  5579. op := &request.Operation{
  5580. Name: opDescribeHostReservations,
  5581. HTTPMethod: "POST",
  5582. HTTPPath: "/",
  5583. }
  5584. if input == nil {
  5585. input = &DescribeHostReservationsInput{}
  5586. }
  5587. req = c.newRequest(op, input, output)
  5588. output = &DescribeHostReservationsOutput{}
  5589. req.Data = output
  5590. return
  5591. }
  5592. // DescribeHostReservations API operation for Amazon Elastic Compute Cloud.
  5593. //
  5594. // Describes Dedicated Host Reservations which are associated with Dedicated
  5595. // Hosts in your account.
  5596. //
  5597. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5598. // with awserr.Error's Code and Message methods to get detailed information about
  5599. // the error.
  5600. //
  5601. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5602. // API operation DescribeHostReservations for usage and error information.
  5603. func (c *EC2) DescribeHostReservations(input *DescribeHostReservationsInput) (*DescribeHostReservationsOutput, error) {
  5604. req, out := c.DescribeHostReservationsRequest(input)
  5605. err := req.Send()
  5606. return out, err
  5607. }
  5608. const opDescribeHosts = "DescribeHosts"
  5609. // DescribeHostsRequest generates a "aws/request.Request" representing the
  5610. // client's request for the DescribeHosts operation. The "output" return
  5611. // value can be used to capture response data after the request's "Send" method
  5612. // is called.
  5613. //
  5614. // See DescribeHosts for usage and error information.
  5615. //
  5616. // Creating a request object using this method should be used when you want to inject
  5617. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5618. // access properties on the request object before or after sending the request. If
  5619. // you just want the service response, call the DescribeHosts method directly
  5620. // instead.
  5621. //
  5622. // Note: You must call the "Send" method on the returned request object in order
  5623. // to execute the request.
  5624. //
  5625. // // Example sending a request using the DescribeHostsRequest method.
  5626. // req, resp := client.DescribeHostsRequest(params)
  5627. //
  5628. // err := req.Send()
  5629. // if err == nil { // resp is now filled
  5630. // fmt.Println(resp)
  5631. // }
  5632. //
  5633. func (c *EC2) DescribeHostsRequest(input *DescribeHostsInput) (req *request.Request, output *DescribeHostsOutput) {
  5634. op := &request.Operation{
  5635. Name: opDescribeHosts,
  5636. HTTPMethod: "POST",
  5637. HTTPPath: "/",
  5638. }
  5639. if input == nil {
  5640. input = &DescribeHostsInput{}
  5641. }
  5642. req = c.newRequest(op, input, output)
  5643. output = &DescribeHostsOutput{}
  5644. req.Data = output
  5645. return
  5646. }
  5647. // DescribeHosts API operation for Amazon Elastic Compute Cloud.
  5648. //
  5649. // Describes one or more of your Dedicated Hosts.
  5650. //
  5651. // The results describe only the Dedicated Hosts in the region you're currently
  5652. // using. All listed instances consume capacity on your Dedicated Host. Dedicated
  5653. // Hosts that have recently been released will be listed with the state released.
  5654. //
  5655. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5656. // with awserr.Error's Code and Message methods to get detailed information about
  5657. // the error.
  5658. //
  5659. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5660. // API operation DescribeHosts for usage and error information.
  5661. func (c *EC2) DescribeHosts(input *DescribeHostsInput) (*DescribeHostsOutput, error) {
  5662. req, out := c.DescribeHostsRequest(input)
  5663. err := req.Send()
  5664. return out, err
  5665. }
  5666. const opDescribeIdFormat = "DescribeIdFormat"
  5667. // DescribeIdFormatRequest generates a "aws/request.Request" representing the
  5668. // client's request for the DescribeIdFormat operation. The "output" return
  5669. // value can be used to capture response data after the request's "Send" method
  5670. // is called.
  5671. //
  5672. // See DescribeIdFormat for usage and error information.
  5673. //
  5674. // Creating a request object using this method should be used when you want to inject
  5675. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5676. // access properties on the request object before or after sending the request. If
  5677. // you just want the service response, call the DescribeIdFormat method directly
  5678. // instead.
  5679. //
  5680. // Note: You must call the "Send" method on the returned request object in order
  5681. // to execute the request.
  5682. //
  5683. // // Example sending a request using the DescribeIdFormatRequest method.
  5684. // req, resp := client.DescribeIdFormatRequest(params)
  5685. //
  5686. // err := req.Send()
  5687. // if err == nil { // resp is now filled
  5688. // fmt.Println(resp)
  5689. // }
  5690. //
  5691. func (c *EC2) DescribeIdFormatRequest(input *DescribeIdFormatInput) (req *request.Request, output *DescribeIdFormatOutput) {
  5692. op := &request.Operation{
  5693. Name: opDescribeIdFormat,
  5694. HTTPMethod: "POST",
  5695. HTTPPath: "/",
  5696. }
  5697. if input == nil {
  5698. input = &DescribeIdFormatInput{}
  5699. }
  5700. req = c.newRequest(op, input, output)
  5701. output = &DescribeIdFormatOutput{}
  5702. req.Data = output
  5703. return
  5704. }
  5705. // DescribeIdFormat API operation for Amazon Elastic Compute Cloud.
  5706. //
  5707. // Describes the ID format settings for your resources on a per-region basis,
  5708. // for example, to view which resource types are enabled for longer IDs. This
  5709. // request only returns information about resource types whose ID formats can
  5710. // be modified; it does not return information about other resource types.
  5711. //
  5712. // The following resource types support longer IDs: instance | reservation |
  5713. // snapshot | volume.
  5714. //
  5715. // These settings apply to the IAM user who makes the request; they do not apply
  5716. // to the entire AWS account. By default, an IAM user defaults to the same settings
  5717. // as the root user, unless they explicitly override the settings by running
  5718. // the ModifyIdFormat command. Resources created with longer IDs are visible
  5719. // to all IAM users, regardless of these settings and provided that they have
  5720. // permission to use the relevant Describe command for the resource type.
  5721. //
  5722. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5723. // with awserr.Error's Code and Message methods to get detailed information about
  5724. // the error.
  5725. //
  5726. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5727. // API operation DescribeIdFormat for usage and error information.
  5728. func (c *EC2) DescribeIdFormat(input *DescribeIdFormatInput) (*DescribeIdFormatOutput, error) {
  5729. req, out := c.DescribeIdFormatRequest(input)
  5730. err := req.Send()
  5731. return out, err
  5732. }
  5733. const opDescribeIdentityIdFormat = "DescribeIdentityIdFormat"
  5734. // DescribeIdentityIdFormatRequest generates a "aws/request.Request" representing the
  5735. // client's request for the DescribeIdentityIdFormat operation. The "output" return
  5736. // value can be used to capture response data after the request's "Send" method
  5737. // is called.
  5738. //
  5739. // See DescribeIdentityIdFormat for usage and error information.
  5740. //
  5741. // Creating a request object using this method should be used when you want to inject
  5742. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5743. // access properties on the request object before or after sending the request. If
  5744. // you just want the service response, call the DescribeIdentityIdFormat method directly
  5745. // instead.
  5746. //
  5747. // Note: You must call the "Send" method on the returned request object in order
  5748. // to execute the request.
  5749. //
  5750. // // Example sending a request using the DescribeIdentityIdFormatRequest method.
  5751. // req, resp := client.DescribeIdentityIdFormatRequest(params)
  5752. //
  5753. // err := req.Send()
  5754. // if err == nil { // resp is now filled
  5755. // fmt.Println(resp)
  5756. // }
  5757. //
  5758. func (c *EC2) DescribeIdentityIdFormatRequest(input *DescribeIdentityIdFormatInput) (req *request.Request, output *DescribeIdentityIdFormatOutput) {
  5759. op := &request.Operation{
  5760. Name: opDescribeIdentityIdFormat,
  5761. HTTPMethod: "POST",
  5762. HTTPPath: "/",
  5763. }
  5764. if input == nil {
  5765. input = &DescribeIdentityIdFormatInput{}
  5766. }
  5767. req = c.newRequest(op, input, output)
  5768. output = &DescribeIdentityIdFormatOutput{}
  5769. req.Data = output
  5770. return
  5771. }
  5772. // DescribeIdentityIdFormat API operation for Amazon Elastic Compute Cloud.
  5773. //
  5774. // Describes the ID format settings for resources for the specified IAM user,
  5775. // IAM role, or root user. For example, you can view the resource types that
  5776. // are enabled for longer IDs. This request only returns information about resource
  5777. // types whose ID formats can be modified; it does not return information about
  5778. // other resource types. For more information, see Resource IDs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html)
  5779. // in the Amazon Elastic Compute Cloud User Guide.
  5780. //
  5781. // The following resource types support longer IDs: instance | reservation |
  5782. // snapshot | volume.
  5783. //
  5784. // These settings apply to the principal specified in the request. They do not
  5785. // apply to the principal that makes the request.
  5786. //
  5787. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5788. // with awserr.Error's Code and Message methods to get detailed information about
  5789. // the error.
  5790. //
  5791. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5792. // API operation DescribeIdentityIdFormat for usage and error information.
  5793. func (c *EC2) DescribeIdentityIdFormat(input *DescribeIdentityIdFormatInput) (*DescribeIdentityIdFormatOutput, error) {
  5794. req, out := c.DescribeIdentityIdFormatRequest(input)
  5795. err := req.Send()
  5796. return out, err
  5797. }
  5798. const opDescribeImageAttribute = "DescribeImageAttribute"
  5799. // DescribeImageAttributeRequest generates a "aws/request.Request" representing the
  5800. // client's request for the DescribeImageAttribute operation. The "output" return
  5801. // value can be used to capture response data after the request's "Send" method
  5802. // is called.
  5803. //
  5804. // See DescribeImageAttribute for usage and error information.
  5805. //
  5806. // Creating a request object using this method should be used when you want to inject
  5807. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5808. // access properties on the request object before or after sending the request. If
  5809. // you just want the service response, call the DescribeImageAttribute method directly
  5810. // instead.
  5811. //
  5812. // Note: You must call the "Send" method on the returned request object in order
  5813. // to execute the request.
  5814. //
  5815. // // Example sending a request using the DescribeImageAttributeRequest method.
  5816. // req, resp := client.DescribeImageAttributeRequest(params)
  5817. //
  5818. // err := req.Send()
  5819. // if err == nil { // resp is now filled
  5820. // fmt.Println(resp)
  5821. // }
  5822. //
  5823. func (c *EC2) DescribeImageAttributeRequest(input *DescribeImageAttributeInput) (req *request.Request, output *DescribeImageAttributeOutput) {
  5824. op := &request.Operation{
  5825. Name: opDescribeImageAttribute,
  5826. HTTPMethod: "POST",
  5827. HTTPPath: "/",
  5828. }
  5829. if input == nil {
  5830. input = &DescribeImageAttributeInput{}
  5831. }
  5832. req = c.newRequest(op, input, output)
  5833. output = &DescribeImageAttributeOutput{}
  5834. req.Data = output
  5835. return
  5836. }
  5837. // DescribeImageAttribute API operation for Amazon Elastic Compute Cloud.
  5838. //
  5839. // Describes the specified attribute of the specified AMI. You can specify only
  5840. // one attribute at a time.
  5841. //
  5842. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5843. // with awserr.Error's Code and Message methods to get detailed information about
  5844. // the error.
  5845. //
  5846. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5847. // API operation DescribeImageAttribute for usage and error information.
  5848. func (c *EC2) DescribeImageAttribute(input *DescribeImageAttributeInput) (*DescribeImageAttributeOutput, error) {
  5849. req, out := c.DescribeImageAttributeRequest(input)
  5850. err := req.Send()
  5851. return out, err
  5852. }
  5853. const opDescribeImages = "DescribeImages"
  5854. // DescribeImagesRequest generates a "aws/request.Request" representing the
  5855. // client's request for the DescribeImages operation. The "output" return
  5856. // value can be used to capture response data after the request's "Send" method
  5857. // is called.
  5858. //
  5859. // See DescribeImages for usage and error information.
  5860. //
  5861. // Creating a request object using this method should be used when you want to inject
  5862. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5863. // access properties on the request object before or after sending the request. If
  5864. // you just want the service response, call the DescribeImages method directly
  5865. // instead.
  5866. //
  5867. // Note: You must call the "Send" method on the returned request object in order
  5868. // to execute the request.
  5869. //
  5870. // // Example sending a request using the DescribeImagesRequest method.
  5871. // req, resp := client.DescribeImagesRequest(params)
  5872. //
  5873. // err := req.Send()
  5874. // if err == nil { // resp is now filled
  5875. // fmt.Println(resp)
  5876. // }
  5877. //
  5878. func (c *EC2) DescribeImagesRequest(input *DescribeImagesInput) (req *request.Request, output *DescribeImagesOutput) {
  5879. op := &request.Operation{
  5880. Name: opDescribeImages,
  5881. HTTPMethod: "POST",
  5882. HTTPPath: "/",
  5883. }
  5884. if input == nil {
  5885. input = &DescribeImagesInput{}
  5886. }
  5887. req = c.newRequest(op, input, output)
  5888. output = &DescribeImagesOutput{}
  5889. req.Data = output
  5890. return
  5891. }
  5892. // DescribeImages API operation for Amazon Elastic Compute Cloud.
  5893. //
  5894. // Describes one or more of the images (AMIs, AKIs, and ARIs) available to you.
  5895. // Images available to you include public images, private images that you own,
  5896. // and private images owned by other AWS accounts but for which you have explicit
  5897. // launch permissions.
  5898. //
  5899. // Deregistered images are included in the returned results for an unspecified
  5900. // interval after deregistration.
  5901. //
  5902. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5903. // with awserr.Error's Code and Message methods to get detailed information about
  5904. // the error.
  5905. //
  5906. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5907. // API operation DescribeImages for usage and error information.
  5908. func (c *EC2) DescribeImages(input *DescribeImagesInput) (*DescribeImagesOutput, error) {
  5909. req, out := c.DescribeImagesRequest(input)
  5910. err := req.Send()
  5911. return out, err
  5912. }
  5913. const opDescribeImportImageTasks = "DescribeImportImageTasks"
  5914. // DescribeImportImageTasksRequest generates a "aws/request.Request" representing the
  5915. // client's request for the DescribeImportImageTasks operation. The "output" return
  5916. // value can be used to capture response data after the request's "Send" method
  5917. // is called.
  5918. //
  5919. // See DescribeImportImageTasks for usage and error information.
  5920. //
  5921. // Creating a request object using this method should be used when you want to inject
  5922. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5923. // access properties on the request object before or after sending the request. If
  5924. // you just want the service response, call the DescribeImportImageTasks method directly
  5925. // instead.
  5926. //
  5927. // Note: You must call the "Send" method on the returned request object in order
  5928. // to execute the request.
  5929. //
  5930. // // Example sending a request using the DescribeImportImageTasksRequest method.
  5931. // req, resp := client.DescribeImportImageTasksRequest(params)
  5932. //
  5933. // err := req.Send()
  5934. // if err == nil { // resp is now filled
  5935. // fmt.Println(resp)
  5936. // }
  5937. //
  5938. func (c *EC2) DescribeImportImageTasksRequest(input *DescribeImportImageTasksInput) (req *request.Request, output *DescribeImportImageTasksOutput) {
  5939. op := &request.Operation{
  5940. Name: opDescribeImportImageTasks,
  5941. HTTPMethod: "POST",
  5942. HTTPPath: "/",
  5943. }
  5944. if input == nil {
  5945. input = &DescribeImportImageTasksInput{}
  5946. }
  5947. req = c.newRequest(op, input, output)
  5948. output = &DescribeImportImageTasksOutput{}
  5949. req.Data = output
  5950. return
  5951. }
  5952. // DescribeImportImageTasks API operation for Amazon Elastic Compute Cloud.
  5953. //
  5954. // Displays details about an import virtual machine or import snapshot tasks
  5955. // that are already created.
  5956. //
  5957. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5958. // with awserr.Error's Code and Message methods to get detailed information about
  5959. // the error.
  5960. //
  5961. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5962. // API operation DescribeImportImageTasks for usage and error information.
  5963. func (c *EC2) DescribeImportImageTasks(input *DescribeImportImageTasksInput) (*DescribeImportImageTasksOutput, error) {
  5964. req, out := c.DescribeImportImageTasksRequest(input)
  5965. err := req.Send()
  5966. return out, err
  5967. }
  5968. const opDescribeImportSnapshotTasks = "DescribeImportSnapshotTasks"
  5969. // DescribeImportSnapshotTasksRequest generates a "aws/request.Request" representing the
  5970. // client's request for the DescribeImportSnapshotTasks operation. The "output" return
  5971. // value can be used to capture response data after the request's "Send" method
  5972. // is called.
  5973. //
  5974. // See DescribeImportSnapshotTasks for usage and error information.
  5975. //
  5976. // Creating a request object using this method should be used when you want to inject
  5977. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5978. // access properties on the request object before or after sending the request. If
  5979. // you just want the service response, call the DescribeImportSnapshotTasks method directly
  5980. // instead.
  5981. //
  5982. // Note: You must call the "Send" method on the returned request object in order
  5983. // to execute the request.
  5984. //
  5985. // // Example sending a request using the DescribeImportSnapshotTasksRequest method.
  5986. // req, resp := client.DescribeImportSnapshotTasksRequest(params)
  5987. //
  5988. // err := req.Send()
  5989. // if err == nil { // resp is now filled
  5990. // fmt.Println(resp)
  5991. // }
  5992. //
  5993. func (c *EC2) DescribeImportSnapshotTasksRequest(input *DescribeImportSnapshotTasksInput) (req *request.Request, output *DescribeImportSnapshotTasksOutput) {
  5994. op := &request.Operation{
  5995. Name: opDescribeImportSnapshotTasks,
  5996. HTTPMethod: "POST",
  5997. HTTPPath: "/",
  5998. }
  5999. if input == nil {
  6000. input = &DescribeImportSnapshotTasksInput{}
  6001. }
  6002. req = c.newRequest(op, input, output)
  6003. output = &DescribeImportSnapshotTasksOutput{}
  6004. req.Data = output
  6005. return
  6006. }
  6007. // DescribeImportSnapshotTasks API operation for Amazon Elastic Compute Cloud.
  6008. //
  6009. // Describes your import snapshot tasks.
  6010. //
  6011. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6012. // with awserr.Error's Code and Message methods to get detailed information about
  6013. // the error.
  6014. //
  6015. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6016. // API operation DescribeImportSnapshotTasks for usage and error information.
  6017. func (c *EC2) DescribeImportSnapshotTasks(input *DescribeImportSnapshotTasksInput) (*DescribeImportSnapshotTasksOutput, error) {
  6018. req, out := c.DescribeImportSnapshotTasksRequest(input)
  6019. err := req.Send()
  6020. return out, err
  6021. }
  6022. const opDescribeInstanceAttribute = "DescribeInstanceAttribute"
  6023. // DescribeInstanceAttributeRequest generates a "aws/request.Request" representing the
  6024. // client's request for the DescribeInstanceAttribute operation. The "output" return
  6025. // value can be used to capture response data after the request's "Send" method
  6026. // is called.
  6027. //
  6028. // See DescribeInstanceAttribute for usage and error information.
  6029. //
  6030. // Creating a request object using this method should be used when you want to inject
  6031. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6032. // access properties on the request object before or after sending the request. If
  6033. // you just want the service response, call the DescribeInstanceAttribute method directly
  6034. // instead.
  6035. //
  6036. // Note: You must call the "Send" method on the returned request object in order
  6037. // to execute the request.
  6038. //
  6039. // // Example sending a request using the DescribeInstanceAttributeRequest method.
  6040. // req, resp := client.DescribeInstanceAttributeRequest(params)
  6041. //
  6042. // err := req.Send()
  6043. // if err == nil { // resp is now filled
  6044. // fmt.Println(resp)
  6045. // }
  6046. //
  6047. func (c *EC2) DescribeInstanceAttributeRequest(input *DescribeInstanceAttributeInput) (req *request.Request, output *DescribeInstanceAttributeOutput) {
  6048. op := &request.Operation{
  6049. Name: opDescribeInstanceAttribute,
  6050. HTTPMethod: "POST",
  6051. HTTPPath: "/",
  6052. }
  6053. if input == nil {
  6054. input = &DescribeInstanceAttributeInput{}
  6055. }
  6056. req = c.newRequest(op, input, output)
  6057. output = &DescribeInstanceAttributeOutput{}
  6058. req.Data = output
  6059. return
  6060. }
  6061. // DescribeInstanceAttribute API operation for Amazon Elastic Compute Cloud.
  6062. //
  6063. // Describes the specified attribute of the specified instance. You can specify
  6064. // only one attribute at a time. Valid attribute values are: instanceType |
  6065. // kernel | ramdisk | userData | disableApiTermination | instanceInitiatedShutdownBehavior
  6066. // | rootDeviceName | blockDeviceMapping | productCodes | sourceDestCheck |
  6067. // groupSet | ebsOptimized | sriovNetSupport
  6068. //
  6069. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6070. // with awserr.Error's Code and Message methods to get detailed information about
  6071. // the error.
  6072. //
  6073. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6074. // API operation DescribeInstanceAttribute for usage and error information.
  6075. func (c *EC2) DescribeInstanceAttribute(input *DescribeInstanceAttributeInput) (*DescribeInstanceAttributeOutput, error) {
  6076. req, out := c.DescribeInstanceAttributeRequest(input)
  6077. err := req.Send()
  6078. return out, err
  6079. }
  6080. const opDescribeInstanceStatus = "DescribeInstanceStatus"
  6081. // DescribeInstanceStatusRequest generates a "aws/request.Request" representing the
  6082. // client's request for the DescribeInstanceStatus operation. The "output" return
  6083. // value can be used to capture response data after the request's "Send" method
  6084. // is called.
  6085. //
  6086. // See DescribeInstanceStatus for usage and error information.
  6087. //
  6088. // Creating a request object using this method should be used when you want to inject
  6089. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6090. // access properties on the request object before or after sending the request. If
  6091. // you just want the service response, call the DescribeInstanceStatus method directly
  6092. // instead.
  6093. //
  6094. // Note: You must call the "Send" method on the returned request object in order
  6095. // to execute the request.
  6096. //
  6097. // // Example sending a request using the DescribeInstanceStatusRequest method.
  6098. // req, resp := client.DescribeInstanceStatusRequest(params)
  6099. //
  6100. // err := req.Send()
  6101. // if err == nil { // resp is now filled
  6102. // fmt.Println(resp)
  6103. // }
  6104. //
  6105. func (c *EC2) DescribeInstanceStatusRequest(input *DescribeInstanceStatusInput) (req *request.Request, output *DescribeInstanceStatusOutput) {
  6106. op := &request.Operation{
  6107. Name: opDescribeInstanceStatus,
  6108. HTTPMethod: "POST",
  6109. HTTPPath: "/",
  6110. Paginator: &request.Paginator{
  6111. InputTokens: []string{"NextToken"},
  6112. OutputTokens: []string{"NextToken"},
  6113. LimitToken: "MaxResults",
  6114. TruncationToken: "",
  6115. },
  6116. }
  6117. if input == nil {
  6118. input = &DescribeInstanceStatusInput{}
  6119. }
  6120. req = c.newRequest(op, input, output)
  6121. output = &DescribeInstanceStatusOutput{}
  6122. req.Data = output
  6123. return
  6124. }
  6125. // DescribeInstanceStatus API operation for Amazon Elastic Compute Cloud.
  6126. //
  6127. // Describes the status of one or more instances. By default, only running instances
  6128. // are described, unless specified otherwise.
  6129. //
  6130. // Instance status includes the following components:
  6131. //
  6132. // * Status checks - Amazon EC2 performs status checks on running EC2 instances
  6133. // to identify hardware and software issues. For more information, see Status
  6134. // Checks for Your Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-system-instance-status-check.html)
  6135. // and Troubleshooting Instances with Failed Status Checks (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstances.html)
  6136. // in the Amazon Elastic Compute Cloud User Guide.
  6137. //
  6138. // * Scheduled events - Amazon EC2 can schedule events (such as reboot, stop,
  6139. // or terminate) for your instances related to hardware issues, software
  6140. // updates, or system maintenance. For more information, see Scheduled Events
  6141. // for Your Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-instances-status-check_sched.html)
  6142. // in the Amazon Elastic Compute Cloud User Guide.
  6143. //
  6144. // * Instance state - You can manage your instances from the moment you launch
  6145. // them through their termination. For more information, see Instance Lifecycle
  6146. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
  6147. // in the Amazon Elastic Compute Cloud User Guide.
  6148. //
  6149. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6150. // with awserr.Error's Code and Message methods to get detailed information about
  6151. // the error.
  6152. //
  6153. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6154. // API operation DescribeInstanceStatus for usage and error information.
  6155. func (c *EC2) DescribeInstanceStatus(input *DescribeInstanceStatusInput) (*DescribeInstanceStatusOutput, error) {
  6156. req, out := c.DescribeInstanceStatusRequest(input)
  6157. err := req.Send()
  6158. return out, err
  6159. }
  6160. // DescribeInstanceStatusPages iterates over the pages of a DescribeInstanceStatus operation,
  6161. // calling the "fn" function with the response data for each page. To stop
  6162. // iterating, return false from the fn function.
  6163. //
  6164. // See DescribeInstanceStatus method for more information on how to use this operation.
  6165. //
  6166. // Note: This operation can generate multiple requests to a service.
  6167. //
  6168. // // Example iterating over at most 3 pages of a DescribeInstanceStatus operation.
  6169. // pageNum := 0
  6170. // err := client.DescribeInstanceStatusPages(params,
  6171. // func(page *DescribeInstanceStatusOutput, lastPage bool) bool {
  6172. // pageNum++
  6173. // fmt.Println(page)
  6174. // return pageNum <= 3
  6175. // })
  6176. //
  6177. func (c *EC2) DescribeInstanceStatusPages(input *DescribeInstanceStatusInput, fn func(p *DescribeInstanceStatusOutput, lastPage bool) (shouldContinue bool)) error {
  6178. page, _ := c.DescribeInstanceStatusRequest(input)
  6179. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  6180. return page.EachPage(func(p interface{}, lastPage bool) bool {
  6181. return fn(p.(*DescribeInstanceStatusOutput), lastPage)
  6182. })
  6183. }
  6184. const opDescribeInstances = "DescribeInstances"
  6185. // DescribeInstancesRequest generates a "aws/request.Request" representing the
  6186. // client's request for the DescribeInstances operation. The "output" return
  6187. // value can be used to capture response data after the request's "Send" method
  6188. // is called.
  6189. //
  6190. // See DescribeInstances for usage and error information.
  6191. //
  6192. // Creating a request object using this method should be used when you want to inject
  6193. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6194. // access properties on the request object before or after sending the request. If
  6195. // you just want the service response, call the DescribeInstances method directly
  6196. // instead.
  6197. //
  6198. // Note: You must call the "Send" method on the returned request object in order
  6199. // to execute the request.
  6200. //
  6201. // // Example sending a request using the DescribeInstancesRequest method.
  6202. // req, resp := client.DescribeInstancesRequest(params)
  6203. //
  6204. // err := req.Send()
  6205. // if err == nil { // resp is now filled
  6206. // fmt.Println(resp)
  6207. // }
  6208. //
  6209. func (c *EC2) DescribeInstancesRequest(input *DescribeInstancesInput) (req *request.Request, output *DescribeInstancesOutput) {
  6210. op := &request.Operation{
  6211. Name: opDescribeInstances,
  6212. HTTPMethod: "POST",
  6213. HTTPPath: "/",
  6214. Paginator: &request.Paginator{
  6215. InputTokens: []string{"NextToken"},
  6216. OutputTokens: []string{"NextToken"},
  6217. LimitToken: "MaxResults",
  6218. TruncationToken: "",
  6219. },
  6220. }
  6221. if input == nil {
  6222. input = &DescribeInstancesInput{}
  6223. }
  6224. req = c.newRequest(op, input, output)
  6225. output = &DescribeInstancesOutput{}
  6226. req.Data = output
  6227. return
  6228. }
  6229. // DescribeInstances API operation for Amazon Elastic Compute Cloud.
  6230. //
  6231. // Describes one or more of your instances.
  6232. //
  6233. // If you specify one or more instance IDs, Amazon EC2 returns information for
  6234. // those instances. If you do not specify instance IDs, Amazon EC2 returns information
  6235. // for all relevant instances. If you specify an instance ID that is not valid,
  6236. // an error is returned. If you specify an instance that you do not own, it
  6237. // is not included in the returned results.
  6238. //
  6239. // Recently terminated instances might appear in the returned results. This
  6240. // interval is usually less than one hour.
  6241. //
  6242. // If you describe instances in the rare case where an Availability Zone is
  6243. // experiencing a service disruption and you specify instance IDs that are in
  6244. // the affected zone, or do not specify any instance IDs at all, the call fails.
  6245. // If you describe instances and specify only instance IDs that are in an unaffected
  6246. // zone, the call works normally.
  6247. //
  6248. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6249. // with awserr.Error's Code and Message methods to get detailed information about
  6250. // the error.
  6251. //
  6252. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6253. // API operation DescribeInstances for usage and error information.
  6254. func (c *EC2) DescribeInstances(input *DescribeInstancesInput) (*DescribeInstancesOutput, error) {
  6255. req, out := c.DescribeInstancesRequest(input)
  6256. err := req.Send()
  6257. return out, err
  6258. }
  6259. // DescribeInstancesPages iterates over the pages of a DescribeInstances operation,
  6260. // calling the "fn" function with the response data for each page. To stop
  6261. // iterating, return false from the fn function.
  6262. //
  6263. // See DescribeInstances method for more information on how to use this operation.
  6264. //
  6265. // Note: This operation can generate multiple requests to a service.
  6266. //
  6267. // // Example iterating over at most 3 pages of a DescribeInstances operation.
  6268. // pageNum := 0
  6269. // err := client.DescribeInstancesPages(params,
  6270. // func(page *DescribeInstancesOutput, lastPage bool) bool {
  6271. // pageNum++
  6272. // fmt.Println(page)
  6273. // return pageNum <= 3
  6274. // })
  6275. //
  6276. func (c *EC2) DescribeInstancesPages(input *DescribeInstancesInput, fn func(p *DescribeInstancesOutput, lastPage bool) (shouldContinue bool)) error {
  6277. page, _ := c.DescribeInstancesRequest(input)
  6278. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  6279. return page.EachPage(func(p interface{}, lastPage bool) bool {
  6280. return fn(p.(*DescribeInstancesOutput), lastPage)
  6281. })
  6282. }
  6283. const opDescribeInternetGateways = "DescribeInternetGateways"
  6284. // DescribeInternetGatewaysRequest generates a "aws/request.Request" representing the
  6285. // client's request for the DescribeInternetGateways operation. The "output" return
  6286. // value can be used to capture response data after the request's "Send" method
  6287. // is called.
  6288. //
  6289. // See DescribeInternetGateways for usage and error information.
  6290. //
  6291. // Creating a request object using this method should be used when you want to inject
  6292. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6293. // access properties on the request object before or after sending the request. If
  6294. // you just want the service response, call the DescribeInternetGateways method directly
  6295. // instead.
  6296. //
  6297. // Note: You must call the "Send" method on the returned request object in order
  6298. // to execute the request.
  6299. //
  6300. // // Example sending a request using the DescribeInternetGatewaysRequest method.
  6301. // req, resp := client.DescribeInternetGatewaysRequest(params)
  6302. //
  6303. // err := req.Send()
  6304. // if err == nil { // resp is now filled
  6305. // fmt.Println(resp)
  6306. // }
  6307. //
  6308. func (c *EC2) DescribeInternetGatewaysRequest(input *DescribeInternetGatewaysInput) (req *request.Request, output *DescribeInternetGatewaysOutput) {
  6309. op := &request.Operation{
  6310. Name: opDescribeInternetGateways,
  6311. HTTPMethod: "POST",
  6312. HTTPPath: "/",
  6313. }
  6314. if input == nil {
  6315. input = &DescribeInternetGatewaysInput{}
  6316. }
  6317. req = c.newRequest(op, input, output)
  6318. output = &DescribeInternetGatewaysOutput{}
  6319. req.Data = output
  6320. return
  6321. }
  6322. // DescribeInternetGateways API operation for Amazon Elastic Compute Cloud.
  6323. //
  6324. // Describes one or more of your Internet gateways.
  6325. //
  6326. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6327. // with awserr.Error's Code and Message methods to get detailed information about
  6328. // the error.
  6329. //
  6330. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6331. // API operation DescribeInternetGateways for usage and error information.
  6332. func (c *EC2) DescribeInternetGateways(input *DescribeInternetGatewaysInput) (*DescribeInternetGatewaysOutput, error) {
  6333. req, out := c.DescribeInternetGatewaysRequest(input)
  6334. err := req.Send()
  6335. return out, err
  6336. }
  6337. const opDescribeKeyPairs = "DescribeKeyPairs"
  6338. // DescribeKeyPairsRequest generates a "aws/request.Request" representing the
  6339. // client's request for the DescribeKeyPairs operation. The "output" return
  6340. // value can be used to capture response data after the request's "Send" method
  6341. // is called.
  6342. //
  6343. // See DescribeKeyPairs for usage and error information.
  6344. //
  6345. // Creating a request object using this method should be used when you want to inject
  6346. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6347. // access properties on the request object before or after sending the request. If
  6348. // you just want the service response, call the DescribeKeyPairs method directly
  6349. // instead.
  6350. //
  6351. // Note: You must call the "Send" method on the returned request object in order
  6352. // to execute the request.
  6353. //
  6354. // // Example sending a request using the DescribeKeyPairsRequest method.
  6355. // req, resp := client.DescribeKeyPairsRequest(params)
  6356. //
  6357. // err := req.Send()
  6358. // if err == nil { // resp is now filled
  6359. // fmt.Println(resp)
  6360. // }
  6361. //
  6362. func (c *EC2) DescribeKeyPairsRequest(input *DescribeKeyPairsInput) (req *request.Request, output *DescribeKeyPairsOutput) {
  6363. op := &request.Operation{
  6364. Name: opDescribeKeyPairs,
  6365. HTTPMethod: "POST",
  6366. HTTPPath: "/",
  6367. }
  6368. if input == nil {
  6369. input = &DescribeKeyPairsInput{}
  6370. }
  6371. req = c.newRequest(op, input, output)
  6372. output = &DescribeKeyPairsOutput{}
  6373. req.Data = output
  6374. return
  6375. }
  6376. // DescribeKeyPairs API operation for Amazon Elastic Compute Cloud.
  6377. //
  6378. // Describes one or more of your key pairs.
  6379. //
  6380. // For more information about key pairs, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
  6381. // in the Amazon Elastic Compute Cloud User Guide.
  6382. //
  6383. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6384. // with awserr.Error's Code and Message methods to get detailed information about
  6385. // the error.
  6386. //
  6387. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6388. // API operation DescribeKeyPairs for usage and error information.
  6389. func (c *EC2) DescribeKeyPairs(input *DescribeKeyPairsInput) (*DescribeKeyPairsOutput, error) {
  6390. req, out := c.DescribeKeyPairsRequest(input)
  6391. err := req.Send()
  6392. return out, err
  6393. }
  6394. const opDescribeMovingAddresses = "DescribeMovingAddresses"
  6395. // DescribeMovingAddressesRequest generates a "aws/request.Request" representing the
  6396. // client's request for the DescribeMovingAddresses operation. The "output" return
  6397. // value can be used to capture response data after the request's "Send" method
  6398. // is called.
  6399. //
  6400. // See DescribeMovingAddresses for usage and error information.
  6401. //
  6402. // Creating a request object using this method should be used when you want to inject
  6403. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6404. // access properties on the request object before or after sending the request. If
  6405. // you just want the service response, call the DescribeMovingAddresses method directly
  6406. // instead.
  6407. //
  6408. // Note: You must call the "Send" method on the returned request object in order
  6409. // to execute the request.
  6410. //
  6411. // // Example sending a request using the DescribeMovingAddressesRequest method.
  6412. // req, resp := client.DescribeMovingAddressesRequest(params)
  6413. //
  6414. // err := req.Send()
  6415. // if err == nil { // resp is now filled
  6416. // fmt.Println(resp)
  6417. // }
  6418. //
  6419. func (c *EC2) DescribeMovingAddressesRequest(input *DescribeMovingAddressesInput) (req *request.Request, output *DescribeMovingAddressesOutput) {
  6420. op := &request.Operation{
  6421. Name: opDescribeMovingAddresses,
  6422. HTTPMethod: "POST",
  6423. HTTPPath: "/",
  6424. }
  6425. if input == nil {
  6426. input = &DescribeMovingAddressesInput{}
  6427. }
  6428. req = c.newRequest(op, input, output)
  6429. output = &DescribeMovingAddressesOutput{}
  6430. req.Data = output
  6431. return
  6432. }
  6433. // DescribeMovingAddresses API operation for Amazon Elastic Compute Cloud.
  6434. //
  6435. // Describes your Elastic IP addresses that are being moved to the EC2-VPC platform,
  6436. // or that are being restored to the EC2-Classic platform. This request does
  6437. // not return information about any other Elastic IP addresses in your account.
  6438. //
  6439. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6440. // with awserr.Error's Code and Message methods to get detailed information about
  6441. // the error.
  6442. //
  6443. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6444. // API operation DescribeMovingAddresses for usage and error information.
  6445. func (c *EC2) DescribeMovingAddresses(input *DescribeMovingAddressesInput) (*DescribeMovingAddressesOutput, error) {
  6446. req, out := c.DescribeMovingAddressesRequest(input)
  6447. err := req.Send()
  6448. return out, err
  6449. }
  6450. const opDescribeNatGateways = "DescribeNatGateways"
  6451. // DescribeNatGatewaysRequest generates a "aws/request.Request" representing the
  6452. // client's request for the DescribeNatGateways operation. The "output" return
  6453. // value can be used to capture response data after the request's "Send" method
  6454. // is called.
  6455. //
  6456. // See DescribeNatGateways for usage and error information.
  6457. //
  6458. // Creating a request object using this method should be used when you want to inject
  6459. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6460. // access properties on the request object before or after sending the request. If
  6461. // you just want the service response, call the DescribeNatGateways method directly
  6462. // instead.
  6463. //
  6464. // Note: You must call the "Send" method on the returned request object in order
  6465. // to execute the request.
  6466. //
  6467. // // Example sending a request using the DescribeNatGatewaysRequest method.
  6468. // req, resp := client.DescribeNatGatewaysRequest(params)
  6469. //
  6470. // err := req.Send()
  6471. // if err == nil { // resp is now filled
  6472. // fmt.Println(resp)
  6473. // }
  6474. //
  6475. func (c *EC2) DescribeNatGatewaysRequest(input *DescribeNatGatewaysInput) (req *request.Request, output *DescribeNatGatewaysOutput) {
  6476. op := &request.Operation{
  6477. Name: opDescribeNatGateways,
  6478. HTTPMethod: "POST",
  6479. HTTPPath: "/",
  6480. }
  6481. if input == nil {
  6482. input = &DescribeNatGatewaysInput{}
  6483. }
  6484. req = c.newRequest(op, input, output)
  6485. output = &DescribeNatGatewaysOutput{}
  6486. req.Data = output
  6487. return
  6488. }
  6489. // DescribeNatGateways API operation for Amazon Elastic Compute Cloud.
  6490. //
  6491. // Describes one or more of the your NAT gateways.
  6492. //
  6493. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6494. // with awserr.Error's Code and Message methods to get detailed information about
  6495. // the error.
  6496. //
  6497. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6498. // API operation DescribeNatGateways for usage and error information.
  6499. func (c *EC2) DescribeNatGateways(input *DescribeNatGatewaysInput) (*DescribeNatGatewaysOutput, error) {
  6500. req, out := c.DescribeNatGatewaysRequest(input)
  6501. err := req.Send()
  6502. return out, err
  6503. }
  6504. const opDescribeNetworkAcls = "DescribeNetworkAcls"
  6505. // DescribeNetworkAclsRequest generates a "aws/request.Request" representing the
  6506. // client's request for the DescribeNetworkAcls operation. The "output" return
  6507. // value can be used to capture response data after the request's "Send" method
  6508. // is called.
  6509. //
  6510. // See DescribeNetworkAcls for usage and error information.
  6511. //
  6512. // Creating a request object using this method should be used when you want to inject
  6513. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6514. // access properties on the request object before or after sending the request. If
  6515. // you just want the service response, call the DescribeNetworkAcls method directly
  6516. // instead.
  6517. //
  6518. // Note: You must call the "Send" method on the returned request object in order
  6519. // to execute the request.
  6520. //
  6521. // // Example sending a request using the DescribeNetworkAclsRequest method.
  6522. // req, resp := client.DescribeNetworkAclsRequest(params)
  6523. //
  6524. // err := req.Send()
  6525. // if err == nil { // resp is now filled
  6526. // fmt.Println(resp)
  6527. // }
  6528. //
  6529. func (c *EC2) DescribeNetworkAclsRequest(input *DescribeNetworkAclsInput) (req *request.Request, output *DescribeNetworkAclsOutput) {
  6530. op := &request.Operation{
  6531. Name: opDescribeNetworkAcls,
  6532. HTTPMethod: "POST",
  6533. HTTPPath: "/",
  6534. }
  6535. if input == nil {
  6536. input = &DescribeNetworkAclsInput{}
  6537. }
  6538. req = c.newRequest(op, input, output)
  6539. output = &DescribeNetworkAclsOutput{}
  6540. req.Data = output
  6541. return
  6542. }
  6543. // DescribeNetworkAcls API operation for Amazon Elastic Compute Cloud.
  6544. //
  6545. // Describes one or more of your network ACLs.
  6546. //
  6547. // For more information about network ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  6548. // in the Amazon Virtual Private Cloud User Guide.
  6549. //
  6550. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6551. // with awserr.Error's Code and Message methods to get detailed information about
  6552. // the error.
  6553. //
  6554. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6555. // API operation DescribeNetworkAcls for usage and error information.
  6556. func (c *EC2) DescribeNetworkAcls(input *DescribeNetworkAclsInput) (*DescribeNetworkAclsOutput, error) {
  6557. req, out := c.DescribeNetworkAclsRequest(input)
  6558. err := req.Send()
  6559. return out, err
  6560. }
  6561. const opDescribeNetworkInterfaceAttribute = "DescribeNetworkInterfaceAttribute"
  6562. // DescribeNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
  6563. // client's request for the DescribeNetworkInterfaceAttribute operation. The "output" return
  6564. // value can be used to capture response data after the request's "Send" method
  6565. // is called.
  6566. //
  6567. // See DescribeNetworkInterfaceAttribute for usage and error information.
  6568. //
  6569. // Creating a request object using this method should be used when you want to inject
  6570. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6571. // access properties on the request object before or after sending the request. If
  6572. // you just want the service response, call the DescribeNetworkInterfaceAttribute method directly
  6573. // instead.
  6574. //
  6575. // Note: You must call the "Send" method on the returned request object in order
  6576. // to execute the request.
  6577. //
  6578. // // Example sending a request using the DescribeNetworkInterfaceAttributeRequest method.
  6579. // req, resp := client.DescribeNetworkInterfaceAttributeRequest(params)
  6580. //
  6581. // err := req.Send()
  6582. // if err == nil { // resp is now filled
  6583. // fmt.Println(resp)
  6584. // }
  6585. //
  6586. func (c *EC2) DescribeNetworkInterfaceAttributeRequest(input *DescribeNetworkInterfaceAttributeInput) (req *request.Request, output *DescribeNetworkInterfaceAttributeOutput) {
  6587. op := &request.Operation{
  6588. Name: opDescribeNetworkInterfaceAttribute,
  6589. HTTPMethod: "POST",
  6590. HTTPPath: "/",
  6591. }
  6592. if input == nil {
  6593. input = &DescribeNetworkInterfaceAttributeInput{}
  6594. }
  6595. req = c.newRequest(op, input, output)
  6596. output = &DescribeNetworkInterfaceAttributeOutput{}
  6597. req.Data = output
  6598. return
  6599. }
  6600. // DescribeNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
  6601. //
  6602. // Describes a network interface attribute. You can specify only one attribute
  6603. // at a time.
  6604. //
  6605. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6606. // with awserr.Error's Code and Message methods to get detailed information about
  6607. // the error.
  6608. //
  6609. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6610. // API operation DescribeNetworkInterfaceAttribute for usage and error information.
  6611. func (c *EC2) DescribeNetworkInterfaceAttribute(input *DescribeNetworkInterfaceAttributeInput) (*DescribeNetworkInterfaceAttributeOutput, error) {
  6612. req, out := c.DescribeNetworkInterfaceAttributeRequest(input)
  6613. err := req.Send()
  6614. return out, err
  6615. }
  6616. const opDescribeNetworkInterfaces = "DescribeNetworkInterfaces"
  6617. // DescribeNetworkInterfacesRequest generates a "aws/request.Request" representing the
  6618. // client's request for the DescribeNetworkInterfaces operation. The "output" return
  6619. // value can be used to capture response data after the request's "Send" method
  6620. // is called.
  6621. //
  6622. // See DescribeNetworkInterfaces for usage and error information.
  6623. //
  6624. // Creating a request object using this method should be used when you want to inject
  6625. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6626. // access properties on the request object before or after sending the request. If
  6627. // you just want the service response, call the DescribeNetworkInterfaces method directly
  6628. // instead.
  6629. //
  6630. // Note: You must call the "Send" method on the returned request object in order
  6631. // to execute the request.
  6632. //
  6633. // // Example sending a request using the DescribeNetworkInterfacesRequest method.
  6634. // req, resp := client.DescribeNetworkInterfacesRequest(params)
  6635. //
  6636. // err := req.Send()
  6637. // if err == nil { // resp is now filled
  6638. // fmt.Println(resp)
  6639. // }
  6640. //
  6641. func (c *EC2) DescribeNetworkInterfacesRequest(input *DescribeNetworkInterfacesInput) (req *request.Request, output *DescribeNetworkInterfacesOutput) {
  6642. op := &request.Operation{
  6643. Name: opDescribeNetworkInterfaces,
  6644. HTTPMethod: "POST",
  6645. HTTPPath: "/",
  6646. }
  6647. if input == nil {
  6648. input = &DescribeNetworkInterfacesInput{}
  6649. }
  6650. req = c.newRequest(op, input, output)
  6651. output = &DescribeNetworkInterfacesOutput{}
  6652. req.Data = output
  6653. return
  6654. }
  6655. // DescribeNetworkInterfaces API operation for Amazon Elastic Compute Cloud.
  6656. //
  6657. // Describes one or more of your network interfaces.
  6658. //
  6659. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6660. // with awserr.Error's Code and Message methods to get detailed information about
  6661. // the error.
  6662. //
  6663. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6664. // API operation DescribeNetworkInterfaces for usage and error information.
  6665. func (c *EC2) DescribeNetworkInterfaces(input *DescribeNetworkInterfacesInput) (*DescribeNetworkInterfacesOutput, error) {
  6666. req, out := c.DescribeNetworkInterfacesRequest(input)
  6667. err := req.Send()
  6668. return out, err
  6669. }
  6670. const opDescribePlacementGroups = "DescribePlacementGroups"
  6671. // DescribePlacementGroupsRequest generates a "aws/request.Request" representing the
  6672. // client's request for the DescribePlacementGroups operation. The "output" return
  6673. // value can be used to capture response data after the request's "Send" method
  6674. // is called.
  6675. //
  6676. // See DescribePlacementGroups for usage and error information.
  6677. //
  6678. // Creating a request object using this method should be used when you want to inject
  6679. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6680. // access properties on the request object before or after sending the request. If
  6681. // you just want the service response, call the DescribePlacementGroups method directly
  6682. // instead.
  6683. //
  6684. // Note: You must call the "Send" method on the returned request object in order
  6685. // to execute the request.
  6686. //
  6687. // // Example sending a request using the DescribePlacementGroupsRequest method.
  6688. // req, resp := client.DescribePlacementGroupsRequest(params)
  6689. //
  6690. // err := req.Send()
  6691. // if err == nil { // resp is now filled
  6692. // fmt.Println(resp)
  6693. // }
  6694. //
  6695. func (c *EC2) DescribePlacementGroupsRequest(input *DescribePlacementGroupsInput) (req *request.Request, output *DescribePlacementGroupsOutput) {
  6696. op := &request.Operation{
  6697. Name: opDescribePlacementGroups,
  6698. HTTPMethod: "POST",
  6699. HTTPPath: "/",
  6700. }
  6701. if input == nil {
  6702. input = &DescribePlacementGroupsInput{}
  6703. }
  6704. req = c.newRequest(op, input, output)
  6705. output = &DescribePlacementGroupsOutput{}
  6706. req.Data = output
  6707. return
  6708. }
  6709. // DescribePlacementGroups API operation for Amazon Elastic Compute Cloud.
  6710. //
  6711. // Describes one or more of your placement groups. For more information about
  6712. // placement groups and cluster instances, see Cluster Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using_cluster_computing.html)
  6713. // in the Amazon Elastic Compute Cloud User Guide.
  6714. //
  6715. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6716. // with awserr.Error's Code and Message methods to get detailed information about
  6717. // the error.
  6718. //
  6719. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6720. // API operation DescribePlacementGroups for usage and error information.
  6721. func (c *EC2) DescribePlacementGroups(input *DescribePlacementGroupsInput) (*DescribePlacementGroupsOutput, error) {
  6722. req, out := c.DescribePlacementGroupsRequest(input)
  6723. err := req.Send()
  6724. return out, err
  6725. }
  6726. const opDescribePrefixLists = "DescribePrefixLists"
  6727. // DescribePrefixListsRequest generates a "aws/request.Request" representing the
  6728. // client's request for the DescribePrefixLists operation. The "output" return
  6729. // value can be used to capture response data after the request's "Send" method
  6730. // is called.
  6731. //
  6732. // See DescribePrefixLists for usage and error information.
  6733. //
  6734. // Creating a request object using this method should be used when you want to inject
  6735. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6736. // access properties on the request object before or after sending the request. If
  6737. // you just want the service response, call the DescribePrefixLists method directly
  6738. // instead.
  6739. //
  6740. // Note: You must call the "Send" method on the returned request object in order
  6741. // to execute the request.
  6742. //
  6743. // // Example sending a request using the DescribePrefixListsRequest method.
  6744. // req, resp := client.DescribePrefixListsRequest(params)
  6745. //
  6746. // err := req.Send()
  6747. // if err == nil { // resp is now filled
  6748. // fmt.Println(resp)
  6749. // }
  6750. //
  6751. func (c *EC2) DescribePrefixListsRequest(input *DescribePrefixListsInput) (req *request.Request, output *DescribePrefixListsOutput) {
  6752. op := &request.Operation{
  6753. Name: opDescribePrefixLists,
  6754. HTTPMethod: "POST",
  6755. HTTPPath: "/",
  6756. }
  6757. if input == nil {
  6758. input = &DescribePrefixListsInput{}
  6759. }
  6760. req = c.newRequest(op, input, output)
  6761. output = &DescribePrefixListsOutput{}
  6762. req.Data = output
  6763. return
  6764. }
  6765. // DescribePrefixLists API operation for Amazon Elastic Compute Cloud.
  6766. //
  6767. // Describes available AWS services in a prefix list format, which includes
  6768. // the prefix list name and prefix list ID of the service and the IP address
  6769. // range for the service. A prefix list ID is required for creating an outbound
  6770. // security group rule that allows traffic from a VPC to access an AWS service
  6771. // through a VPC endpoint.
  6772. //
  6773. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6774. // with awserr.Error's Code and Message methods to get detailed information about
  6775. // the error.
  6776. //
  6777. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6778. // API operation DescribePrefixLists for usage and error information.
  6779. func (c *EC2) DescribePrefixLists(input *DescribePrefixListsInput) (*DescribePrefixListsOutput, error) {
  6780. req, out := c.DescribePrefixListsRequest(input)
  6781. err := req.Send()
  6782. return out, err
  6783. }
  6784. const opDescribeRegions = "DescribeRegions"
  6785. // DescribeRegionsRequest generates a "aws/request.Request" representing the
  6786. // client's request for the DescribeRegions operation. The "output" return
  6787. // value can be used to capture response data after the request's "Send" method
  6788. // is called.
  6789. //
  6790. // See DescribeRegions for usage and error information.
  6791. //
  6792. // Creating a request object using this method should be used when you want to inject
  6793. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6794. // access properties on the request object before or after sending the request. If
  6795. // you just want the service response, call the DescribeRegions method directly
  6796. // instead.
  6797. //
  6798. // Note: You must call the "Send" method on the returned request object in order
  6799. // to execute the request.
  6800. //
  6801. // // Example sending a request using the DescribeRegionsRequest method.
  6802. // req, resp := client.DescribeRegionsRequest(params)
  6803. //
  6804. // err := req.Send()
  6805. // if err == nil { // resp is now filled
  6806. // fmt.Println(resp)
  6807. // }
  6808. //
  6809. func (c *EC2) DescribeRegionsRequest(input *DescribeRegionsInput) (req *request.Request, output *DescribeRegionsOutput) {
  6810. op := &request.Operation{
  6811. Name: opDescribeRegions,
  6812. HTTPMethod: "POST",
  6813. HTTPPath: "/",
  6814. }
  6815. if input == nil {
  6816. input = &DescribeRegionsInput{}
  6817. }
  6818. req = c.newRequest(op, input, output)
  6819. output = &DescribeRegionsOutput{}
  6820. req.Data = output
  6821. return
  6822. }
  6823. // DescribeRegions API operation for Amazon Elastic Compute Cloud.
  6824. //
  6825. // Describes one or more regions that are currently available to you.
  6826. //
  6827. // For a list of the regions supported by Amazon EC2, see Regions and Endpoints
  6828. // (http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region).
  6829. //
  6830. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6831. // with awserr.Error's Code and Message methods to get detailed information about
  6832. // the error.
  6833. //
  6834. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6835. // API operation DescribeRegions for usage and error information.
  6836. func (c *EC2) DescribeRegions(input *DescribeRegionsInput) (*DescribeRegionsOutput, error) {
  6837. req, out := c.DescribeRegionsRequest(input)
  6838. err := req.Send()
  6839. return out, err
  6840. }
  6841. const opDescribeReservedInstances = "DescribeReservedInstances"
  6842. // DescribeReservedInstancesRequest generates a "aws/request.Request" representing the
  6843. // client's request for the DescribeReservedInstances operation. The "output" return
  6844. // value can be used to capture response data after the request's "Send" method
  6845. // is called.
  6846. //
  6847. // See DescribeReservedInstances for usage and error information.
  6848. //
  6849. // Creating a request object using this method should be used when you want to inject
  6850. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6851. // access properties on the request object before or after sending the request. If
  6852. // you just want the service response, call the DescribeReservedInstances method directly
  6853. // instead.
  6854. //
  6855. // Note: You must call the "Send" method on the returned request object in order
  6856. // to execute the request.
  6857. //
  6858. // // Example sending a request using the DescribeReservedInstancesRequest method.
  6859. // req, resp := client.DescribeReservedInstancesRequest(params)
  6860. //
  6861. // err := req.Send()
  6862. // if err == nil { // resp is now filled
  6863. // fmt.Println(resp)
  6864. // }
  6865. //
  6866. func (c *EC2) DescribeReservedInstancesRequest(input *DescribeReservedInstancesInput) (req *request.Request, output *DescribeReservedInstancesOutput) {
  6867. op := &request.Operation{
  6868. Name: opDescribeReservedInstances,
  6869. HTTPMethod: "POST",
  6870. HTTPPath: "/",
  6871. }
  6872. if input == nil {
  6873. input = &DescribeReservedInstancesInput{}
  6874. }
  6875. req = c.newRequest(op, input, output)
  6876. output = &DescribeReservedInstancesOutput{}
  6877. req.Data = output
  6878. return
  6879. }
  6880. // DescribeReservedInstances API operation for Amazon Elastic Compute Cloud.
  6881. //
  6882. // Describes one or more of the Reserved Instances that you purchased.
  6883. //
  6884. // For more information about Reserved Instances, see Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html)
  6885. // in the Amazon Elastic Compute Cloud User Guide.
  6886. //
  6887. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6888. // with awserr.Error's Code and Message methods to get detailed information about
  6889. // the error.
  6890. //
  6891. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6892. // API operation DescribeReservedInstances for usage and error information.
  6893. func (c *EC2) DescribeReservedInstances(input *DescribeReservedInstancesInput) (*DescribeReservedInstancesOutput, error) {
  6894. req, out := c.DescribeReservedInstancesRequest(input)
  6895. err := req.Send()
  6896. return out, err
  6897. }
  6898. const opDescribeReservedInstancesListings = "DescribeReservedInstancesListings"
  6899. // DescribeReservedInstancesListingsRequest generates a "aws/request.Request" representing the
  6900. // client's request for the DescribeReservedInstancesListings operation. The "output" return
  6901. // value can be used to capture response data after the request's "Send" method
  6902. // is called.
  6903. //
  6904. // See DescribeReservedInstancesListings for usage and error information.
  6905. //
  6906. // Creating a request object using this method should be used when you want to inject
  6907. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6908. // access properties on the request object before or after sending the request. If
  6909. // you just want the service response, call the DescribeReservedInstancesListings method directly
  6910. // instead.
  6911. //
  6912. // Note: You must call the "Send" method on the returned request object in order
  6913. // to execute the request.
  6914. //
  6915. // // Example sending a request using the DescribeReservedInstancesListingsRequest method.
  6916. // req, resp := client.DescribeReservedInstancesListingsRequest(params)
  6917. //
  6918. // err := req.Send()
  6919. // if err == nil { // resp is now filled
  6920. // fmt.Println(resp)
  6921. // }
  6922. //
  6923. func (c *EC2) DescribeReservedInstancesListingsRequest(input *DescribeReservedInstancesListingsInput) (req *request.Request, output *DescribeReservedInstancesListingsOutput) {
  6924. op := &request.Operation{
  6925. Name: opDescribeReservedInstancesListings,
  6926. HTTPMethod: "POST",
  6927. HTTPPath: "/",
  6928. }
  6929. if input == nil {
  6930. input = &DescribeReservedInstancesListingsInput{}
  6931. }
  6932. req = c.newRequest(op, input, output)
  6933. output = &DescribeReservedInstancesListingsOutput{}
  6934. req.Data = output
  6935. return
  6936. }
  6937. // DescribeReservedInstancesListings API operation for Amazon Elastic Compute Cloud.
  6938. //
  6939. // Describes your account's Reserved Instance listings in the Reserved Instance
  6940. // Marketplace.
  6941. //
  6942. // The Reserved Instance Marketplace matches sellers who want to resell Reserved
  6943. // Instance capacity that they no longer need with buyers who want to purchase
  6944. // additional capacity. Reserved Instances bought and sold through the Reserved
  6945. // Instance Marketplace work like any other Reserved Instances.
  6946. //
  6947. // As a seller, you choose to list some or all of your Reserved Instances, and
  6948. // you specify the upfront price to receive for them. Your Reserved Instances
  6949. // are then listed in the Reserved Instance Marketplace and are available for
  6950. // purchase.
  6951. //
  6952. // As a buyer, you specify the configuration of the Reserved Instance to purchase,
  6953. // and the Marketplace matches what you're searching for with what's available.
  6954. // The Marketplace first sells the lowest priced Reserved Instances to you,
  6955. // and continues to sell available Reserved Instance listings to you until your
  6956. // demand is met. You are charged based on the total price of all of the listings
  6957. // that you purchase.
  6958. //
  6959. // For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  6960. // in the Amazon Elastic Compute Cloud User Guide.
  6961. //
  6962. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6963. // with awserr.Error's Code and Message methods to get detailed information about
  6964. // the error.
  6965. //
  6966. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6967. // API operation DescribeReservedInstancesListings for usage and error information.
  6968. func (c *EC2) DescribeReservedInstancesListings(input *DescribeReservedInstancesListingsInput) (*DescribeReservedInstancesListingsOutput, error) {
  6969. req, out := c.DescribeReservedInstancesListingsRequest(input)
  6970. err := req.Send()
  6971. return out, err
  6972. }
  6973. const opDescribeReservedInstancesModifications = "DescribeReservedInstancesModifications"
  6974. // DescribeReservedInstancesModificationsRequest generates a "aws/request.Request" representing the
  6975. // client's request for the DescribeReservedInstancesModifications operation. The "output" return
  6976. // value can be used to capture response data after the request's "Send" method
  6977. // is called.
  6978. //
  6979. // See DescribeReservedInstancesModifications for usage and error information.
  6980. //
  6981. // Creating a request object using this method should be used when you want to inject
  6982. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6983. // access properties on the request object before or after sending the request. If
  6984. // you just want the service response, call the DescribeReservedInstancesModifications method directly
  6985. // instead.
  6986. //
  6987. // Note: You must call the "Send" method on the returned request object in order
  6988. // to execute the request.
  6989. //
  6990. // // Example sending a request using the DescribeReservedInstancesModificationsRequest method.
  6991. // req, resp := client.DescribeReservedInstancesModificationsRequest(params)
  6992. //
  6993. // err := req.Send()
  6994. // if err == nil { // resp is now filled
  6995. // fmt.Println(resp)
  6996. // }
  6997. //
  6998. func (c *EC2) DescribeReservedInstancesModificationsRequest(input *DescribeReservedInstancesModificationsInput) (req *request.Request, output *DescribeReservedInstancesModificationsOutput) {
  6999. op := &request.Operation{
  7000. Name: opDescribeReservedInstancesModifications,
  7001. HTTPMethod: "POST",
  7002. HTTPPath: "/",
  7003. Paginator: &request.Paginator{
  7004. InputTokens: []string{"NextToken"},
  7005. OutputTokens: []string{"NextToken"},
  7006. LimitToken: "",
  7007. TruncationToken: "",
  7008. },
  7009. }
  7010. if input == nil {
  7011. input = &DescribeReservedInstancesModificationsInput{}
  7012. }
  7013. req = c.newRequest(op, input, output)
  7014. output = &DescribeReservedInstancesModificationsOutput{}
  7015. req.Data = output
  7016. return
  7017. }
  7018. // DescribeReservedInstancesModifications API operation for Amazon Elastic Compute Cloud.
  7019. //
  7020. // Describes the modifications made to your Reserved Instances. If no parameter
  7021. // is specified, information about all your Reserved Instances modification
  7022. // requests is returned. If a modification ID is specified, only information
  7023. // about the specific modification is returned.
  7024. //
  7025. // For more information, see Modifying Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html)
  7026. // in the Amazon Elastic Compute Cloud User Guide.
  7027. //
  7028. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7029. // with awserr.Error's Code and Message methods to get detailed information about
  7030. // the error.
  7031. //
  7032. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7033. // API operation DescribeReservedInstancesModifications for usage and error information.
  7034. func (c *EC2) DescribeReservedInstancesModifications(input *DescribeReservedInstancesModificationsInput) (*DescribeReservedInstancesModificationsOutput, error) {
  7035. req, out := c.DescribeReservedInstancesModificationsRequest(input)
  7036. err := req.Send()
  7037. return out, err
  7038. }
  7039. // DescribeReservedInstancesModificationsPages iterates over the pages of a DescribeReservedInstancesModifications operation,
  7040. // calling the "fn" function with the response data for each page. To stop
  7041. // iterating, return false from the fn function.
  7042. //
  7043. // See DescribeReservedInstancesModifications method for more information on how to use this operation.
  7044. //
  7045. // Note: This operation can generate multiple requests to a service.
  7046. //
  7047. // // Example iterating over at most 3 pages of a DescribeReservedInstancesModifications operation.
  7048. // pageNum := 0
  7049. // err := client.DescribeReservedInstancesModificationsPages(params,
  7050. // func(page *DescribeReservedInstancesModificationsOutput, lastPage bool) bool {
  7051. // pageNum++
  7052. // fmt.Println(page)
  7053. // return pageNum <= 3
  7054. // })
  7055. //
  7056. func (c *EC2) DescribeReservedInstancesModificationsPages(input *DescribeReservedInstancesModificationsInput, fn func(p *DescribeReservedInstancesModificationsOutput, lastPage bool) (shouldContinue bool)) error {
  7057. page, _ := c.DescribeReservedInstancesModificationsRequest(input)
  7058. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  7059. return page.EachPage(func(p interface{}, lastPage bool) bool {
  7060. return fn(p.(*DescribeReservedInstancesModificationsOutput), lastPage)
  7061. })
  7062. }
  7063. const opDescribeReservedInstancesOfferings = "DescribeReservedInstancesOfferings"
  7064. // DescribeReservedInstancesOfferingsRequest generates a "aws/request.Request" representing the
  7065. // client's request for the DescribeReservedInstancesOfferings operation. The "output" return
  7066. // value can be used to capture response data after the request's "Send" method
  7067. // is called.
  7068. //
  7069. // See DescribeReservedInstancesOfferings for usage and error information.
  7070. //
  7071. // Creating a request object using this method should be used when you want to inject
  7072. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7073. // access properties on the request object before or after sending the request. If
  7074. // you just want the service response, call the DescribeReservedInstancesOfferings method directly
  7075. // instead.
  7076. //
  7077. // Note: You must call the "Send" method on the returned request object in order
  7078. // to execute the request.
  7079. //
  7080. // // Example sending a request using the DescribeReservedInstancesOfferingsRequest method.
  7081. // req, resp := client.DescribeReservedInstancesOfferingsRequest(params)
  7082. //
  7083. // err := req.Send()
  7084. // if err == nil { // resp is now filled
  7085. // fmt.Println(resp)
  7086. // }
  7087. //
  7088. func (c *EC2) DescribeReservedInstancesOfferingsRequest(input *DescribeReservedInstancesOfferingsInput) (req *request.Request, output *DescribeReservedInstancesOfferingsOutput) {
  7089. op := &request.Operation{
  7090. Name: opDescribeReservedInstancesOfferings,
  7091. HTTPMethod: "POST",
  7092. HTTPPath: "/",
  7093. Paginator: &request.Paginator{
  7094. InputTokens: []string{"NextToken"},
  7095. OutputTokens: []string{"NextToken"},
  7096. LimitToken: "MaxResults",
  7097. TruncationToken: "",
  7098. },
  7099. }
  7100. if input == nil {
  7101. input = &DescribeReservedInstancesOfferingsInput{}
  7102. }
  7103. req = c.newRequest(op, input, output)
  7104. output = &DescribeReservedInstancesOfferingsOutput{}
  7105. req.Data = output
  7106. return
  7107. }
  7108. // DescribeReservedInstancesOfferings API operation for Amazon Elastic Compute Cloud.
  7109. //
  7110. // Describes Reserved Instance offerings that are available for purchase. With
  7111. // Reserved Instances, you purchase the right to launch instances for a period
  7112. // of time. During that time period, you do not receive insufficient capacity
  7113. // errors, and you pay a lower usage rate than the rate charged for On-Demand
  7114. // instances for the actual time used.
  7115. //
  7116. // If you have listed your own Reserved Instances for sale in the Reserved Instance
  7117. // Marketplace, they will be excluded from these results. This is to ensure
  7118. // that you do not purchase your own Reserved Instances.
  7119. //
  7120. // For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  7121. // in the Amazon Elastic Compute Cloud User Guide.
  7122. //
  7123. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7124. // with awserr.Error's Code and Message methods to get detailed information about
  7125. // the error.
  7126. //
  7127. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7128. // API operation DescribeReservedInstancesOfferings for usage and error information.
  7129. func (c *EC2) DescribeReservedInstancesOfferings(input *DescribeReservedInstancesOfferingsInput) (*DescribeReservedInstancesOfferingsOutput, error) {
  7130. req, out := c.DescribeReservedInstancesOfferingsRequest(input)
  7131. err := req.Send()
  7132. return out, err
  7133. }
  7134. // DescribeReservedInstancesOfferingsPages iterates over the pages of a DescribeReservedInstancesOfferings operation,
  7135. // calling the "fn" function with the response data for each page. To stop
  7136. // iterating, return false from the fn function.
  7137. //
  7138. // See DescribeReservedInstancesOfferings method for more information on how to use this operation.
  7139. //
  7140. // Note: This operation can generate multiple requests to a service.
  7141. //
  7142. // // Example iterating over at most 3 pages of a DescribeReservedInstancesOfferings operation.
  7143. // pageNum := 0
  7144. // err := client.DescribeReservedInstancesOfferingsPages(params,
  7145. // func(page *DescribeReservedInstancesOfferingsOutput, lastPage bool) bool {
  7146. // pageNum++
  7147. // fmt.Println(page)
  7148. // return pageNum <= 3
  7149. // })
  7150. //
  7151. func (c *EC2) DescribeReservedInstancesOfferingsPages(input *DescribeReservedInstancesOfferingsInput, fn func(p *DescribeReservedInstancesOfferingsOutput, lastPage bool) (shouldContinue bool)) error {
  7152. page, _ := c.DescribeReservedInstancesOfferingsRequest(input)
  7153. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  7154. return page.EachPage(func(p interface{}, lastPage bool) bool {
  7155. return fn(p.(*DescribeReservedInstancesOfferingsOutput), lastPage)
  7156. })
  7157. }
  7158. const opDescribeRouteTables = "DescribeRouteTables"
  7159. // DescribeRouteTablesRequest generates a "aws/request.Request" representing the
  7160. // client's request for the DescribeRouteTables operation. The "output" return
  7161. // value can be used to capture response data after the request's "Send" method
  7162. // is called.
  7163. //
  7164. // See DescribeRouteTables for usage and error information.
  7165. //
  7166. // Creating a request object using this method should be used when you want to inject
  7167. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7168. // access properties on the request object before or after sending the request. If
  7169. // you just want the service response, call the DescribeRouteTables method directly
  7170. // instead.
  7171. //
  7172. // Note: You must call the "Send" method on the returned request object in order
  7173. // to execute the request.
  7174. //
  7175. // // Example sending a request using the DescribeRouteTablesRequest method.
  7176. // req, resp := client.DescribeRouteTablesRequest(params)
  7177. //
  7178. // err := req.Send()
  7179. // if err == nil { // resp is now filled
  7180. // fmt.Println(resp)
  7181. // }
  7182. //
  7183. func (c *EC2) DescribeRouteTablesRequest(input *DescribeRouteTablesInput) (req *request.Request, output *DescribeRouteTablesOutput) {
  7184. op := &request.Operation{
  7185. Name: opDescribeRouteTables,
  7186. HTTPMethod: "POST",
  7187. HTTPPath: "/",
  7188. }
  7189. if input == nil {
  7190. input = &DescribeRouteTablesInput{}
  7191. }
  7192. req = c.newRequest(op, input, output)
  7193. output = &DescribeRouteTablesOutput{}
  7194. req.Data = output
  7195. return
  7196. }
  7197. // DescribeRouteTables API operation for Amazon Elastic Compute Cloud.
  7198. //
  7199. // Describes one or more of your route tables.
  7200. //
  7201. // Each subnet in your VPC must be associated with a route table. If a subnet
  7202. // is not explicitly associated with any route table, it is implicitly associated
  7203. // with the main route table. This command does not return the subnet ID for
  7204. // implicit associations.
  7205. //
  7206. // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  7207. // in the Amazon Virtual Private Cloud User Guide.
  7208. //
  7209. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7210. // with awserr.Error's Code and Message methods to get detailed information about
  7211. // the error.
  7212. //
  7213. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7214. // API operation DescribeRouteTables for usage and error information.
  7215. func (c *EC2) DescribeRouteTables(input *DescribeRouteTablesInput) (*DescribeRouteTablesOutput, error) {
  7216. req, out := c.DescribeRouteTablesRequest(input)
  7217. err := req.Send()
  7218. return out, err
  7219. }
  7220. const opDescribeScheduledInstanceAvailability = "DescribeScheduledInstanceAvailability"
  7221. // DescribeScheduledInstanceAvailabilityRequest generates a "aws/request.Request" representing the
  7222. // client's request for the DescribeScheduledInstanceAvailability operation. The "output" return
  7223. // value can be used to capture response data after the request's "Send" method
  7224. // is called.
  7225. //
  7226. // See DescribeScheduledInstanceAvailability for usage and error information.
  7227. //
  7228. // Creating a request object using this method should be used when you want to inject
  7229. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7230. // access properties on the request object before or after sending the request. If
  7231. // you just want the service response, call the DescribeScheduledInstanceAvailability method directly
  7232. // instead.
  7233. //
  7234. // Note: You must call the "Send" method on the returned request object in order
  7235. // to execute the request.
  7236. //
  7237. // // Example sending a request using the DescribeScheduledInstanceAvailabilityRequest method.
  7238. // req, resp := client.DescribeScheduledInstanceAvailabilityRequest(params)
  7239. //
  7240. // err := req.Send()
  7241. // if err == nil { // resp is now filled
  7242. // fmt.Println(resp)
  7243. // }
  7244. //
  7245. func (c *EC2) DescribeScheduledInstanceAvailabilityRequest(input *DescribeScheduledInstanceAvailabilityInput) (req *request.Request, output *DescribeScheduledInstanceAvailabilityOutput) {
  7246. op := &request.Operation{
  7247. Name: opDescribeScheduledInstanceAvailability,
  7248. HTTPMethod: "POST",
  7249. HTTPPath: "/",
  7250. }
  7251. if input == nil {
  7252. input = &DescribeScheduledInstanceAvailabilityInput{}
  7253. }
  7254. req = c.newRequest(op, input, output)
  7255. output = &DescribeScheduledInstanceAvailabilityOutput{}
  7256. req.Data = output
  7257. return
  7258. }
  7259. // DescribeScheduledInstanceAvailability API operation for Amazon Elastic Compute Cloud.
  7260. //
  7261. // Finds available schedules that meet the specified criteria.
  7262. //
  7263. // You can search for an available schedule no more than 3 months in advance.
  7264. // You must meet the minimum required duration of 1,200 hours per year. For
  7265. // example, the minimum daily schedule is 4 hours, the minimum weekly schedule
  7266. // is 24 hours, and the minimum monthly schedule is 100 hours.
  7267. //
  7268. // After you find a schedule that meets your needs, call PurchaseScheduledInstances
  7269. // to purchase Scheduled Instances with that schedule.
  7270. //
  7271. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7272. // with awserr.Error's Code and Message methods to get detailed information about
  7273. // the error.
  7274. //
  7275. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7276. // API operation DescribeScheduledInstanceAvailability for usage and error information.
  7277. func (c *EC2) DescribeScheduledInstanceAvailability(input *DescribeScheduledInstanceAvailabilityInput) (*DescribeScheduledInstanceAvailabilityOutput, error) {
  7278. req, out := c.DescribeScheduledInstanceAvailabilityRequest(input)
  7279. err := req.Send()
  7280. return out, err
  7281. }
  7282. const opDescribeScheduledInstances = "DescribeScheduledInstances"
  7283. // DescribeScheduledInstancesRequest generates a "aws/request.Request" representing the
  7284. // client's request for the DescribeScheduledInstances operation. The "output" return
  7285. // value can be used to capture response data after the request's "Send" method
  7286. // is called.
  7287. //
  7288. // See DescribeScheduledInstances for usage and error information.
  7289. //
  7290. // Creating a request object using this method should be used when you want to inject
  7291. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7292. // access properties on the request object before or after sending the request. If
  7293. // you just want the service response, call the DescribeScheduledInstances method directly
  7294. // instead.
  7295. //
  7296. // Note: You must call the "Send" method on the returned request object in order
  7297. // to execute the request.
  7298. //
  7299. // // Example sending a request using the DescribeScheduledInstancesRequest method.
  7300. // req, resp := client.DescribeScheduledInstancesRequest(params)
  7301. //
  7302. // err := req.Send()
  7303. // if err == nil { // resp is now filled
  7304. // fmt.Println(resp)
  7305. // }
  7306. //
  7307. func (c *EC2) DescribeScheduledInstancesRequest(input *DescribeScheduledInstancesInput) (req *request.Request, output *DescribeScheduledInstancesOutput) {
  7308. op := &request.Operation{
  7309. Name: opDescribeScheduledInstances,
  7310. HTTPMethod: "POST",
  7311. HTTPPath: "/",
  7312. }
  7313. if input == nil {
  7314. input = &DescribeScheduledInstancesInput{}
  7315. }
  7316. req = c.newRequest(op, input, output)
  7317. output = &DescribeScheduledInstancesOutput{}
  7318. req.Data = output
  7319. return
  7320. }
  7321. // DescribeScheduledInstances API operation for Amazon Elastic Compute Cloud.
  7322. //
  7323. // Describes one or more of your Scheduled Instances.
  7324. //
  7325. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7326. // with awserr.Error's Code and Message methods to get detailed information about
  7327. // the error.
  7328. //
  7329. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7330. // API operation DescribeScheduledInstances for usage and error information.
  7331. func (c *EC2) DescribeScheduledInstances(input *DescribeScheduledInstancesInput) (*DescribeScheduledInstancesOutput, error) {
  7332. req, out := c.DescribeScheduledInstancesRequest(input)
  7333. err := req.Send()
  7334. return out, err
  7335. }
  7336. const opDescribeSecurityGroupReferences = "DescribeSecurityGroupReferences"
  7337. // DescribeSecurityGroupReferencesRequest generates a "aws/request.Request" representing the
  7338. // client's request for the DescribeSecurityGroupReferences operation. The "output" return
  7339. // value can be used to capture response data after the request's "Send" method
  7340. // is called.
  7341. //
  7342. // See DescribeSecurityGroupReferences for usage and error information.
  7343. //
  7344. // Creating a request object using this method should be used when you want to inject
  7345. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7346. // access properties on the request object before or after sending the request. If
  7347. // you just want the service response, call the DescribeSecurityGroupReferences method directly
  7348. // instead.
  7349. //
  7350. // Note: You must call the "Send" method on the returned request object in order
  7351. // to execute the request.
  7352. //
  7353. // // Example sending a request using the DescribeSecurityGroupReferencesRequest method.
  7354. // req, resp := client.DescribeSecurityGroupReferencesRequest(params)
  7355. //
  7356. // err := req.Send()
  7357. // if err == nil { // resp is now filled
  7358. // fmt.Println(resp)
  7359. // }
  7360. //
  7361. func (c *EC2) DescribeSecurityGroupReferencesRequest(input *DescribeSecurityGroupReferencesInput) (req *request.Request, output *DescribeSecurityGroupReferencesOutput) {
  7362. op := &request.Operation{
  7363. Name: opDescribeSecurityGroupReferences,
  7364. HTTPMethod: "POST",
  7365. HTTPPath: "/",
  7366. }
  7367. if input == nil {
  7368. input = &DescribeSecurityGroupReferencesInput{}
  7369. }
  7370. req = c.newRequest(op, input, output)
  7371. output = &DescribeSecurityGroupReferencesOutput{}
  7372. req.Data = output
  7373. return
  7374. }
  7375. // DescribeSecurityGroupReferences API operation for Amazon Elastic Compute Cloud.
  7376. //
  7377. // [EC2-VPC only] Describes the VPCs on the other side of a VPC peering connection
  7378. // that are referencing the security groups you've specified in this request.
  7379. //
  7380. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7381. // with awserr.Error's Code and Message methods to get detailed information about
  7382. // the error.
  7383. //
  7384. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7385. // API operation DescribeSecurityGroupReferences for usage and error information.
  7386. func (c *EC2) DescribeSecurityGroupReferences(input *DescribeSecurityGroupReferencesInput) (*DescribeSecurityGroupReferencesOutput, error) {
  7387. req, out := c.DescribeSecurityGroupReferencesRequest(input)
  7388. err := req.Send()
  7389. return out, err
  7390. }
  7391. const opDescribeSecurityGroups = "DescribeSecurityGroups"
  7392. // DescribeSecurityGroupsRequest generates a "aws/request.Request" representing the
  7393. // client's request for the DescribeSecurityGroups operation. The "output" return
  7394. // value can be used to capture response data after the request's "Send" method
  7395. // is called.
  7396. //
  7397. // See DescribeSecurityGroups for usage and error information.
  7398. //
  7399. // Creating a request object using this method should be used when you want to inject
  7400. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7401. // access properties on the request object before or after sending the request. If
  7402. // you just want the service response, call the DescribeSecurityGroups method directly
  7403. // instead.
  7404. //
  7405. // Note: You must call the "Send" method on the returned request object in order
  7406. // to execute the request.
  7407. //
  7408. // // Example sending a request using the DescribeSecurityGroupsRequest method.
  7409. // req, resp := client.DescribeSecurityGroupsRequest(params)
  7410. //
  7411. // err := req.Send()
  7412. // if err == nil { // resp is now filled
  7413. // fmt.Println(resp)
  7414. // }
  7415. //
  7416. func (c *EC2) DescribeSecurityGroupsRequest(input *DescribeSecurityGroupsInput) (req *request.Request, output *DescribeSecurityGroupsOutput) {
  7417. op := &request.Operation{
  7418. Name: opDescribeSecurityGroups,
  7419. HTTPMethod: "POST",
  7420. HTTPPath: "/",
  7421. }
  7422. if input == nil {
  7423. input = &DescribeSecurityGroupsInput{}
  7424. }
  7425. req = c.newRequest(op, input, output)
  7426. output = &DescribeSecurityGroupsOutput{}
  7427. req.Data = output
  7428. return
  7429. }
  7430. // DescribeSecurityGroups API operation for Amazon Elastic Compute Cloud.
  7431. //
  7432. // Describes one or more of your security groups.
  7433. //
  7434. // A security group is for use with instances either in the EC2-Classic platform
  7435. // or in a specific VPC. For more information, see Amazon EC2 Security Groups
  7436. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)
  7437. // in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your
  7438. // VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
  7439. // in the Amazon Virtual Private Cloud User Guide.
  7440. //
  7441. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7442. // with awserr.Error's Code and Message methods to get detailed information about
  7443. // the error.
  7444. //
  7445. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7446. // API operation DescribeSecurityGroups for usage and error information.
  7447. func (c *EC2) DescribeSecurityGroups(input *DescribeSecurityGroupsInput) (*DescribeSecurityGroupsOutput, error) {
  7448. req, out := c.DescribeSecurityGroupsRequest(input)
  7449. err := req.Send()
  7450. return out, err
  7451. }
  7452. const opDescribeSnapshotAttribute = "DescribeSnapshotAttribute"
  7453. // DescribeSnapshotAttributeRequest generates a "aws/request.Request" representing the
  7454. // client's request for the DescribeSnapshotAttribute operation. The "output" return
  7455. // value can be used to capture response data after the request's "Send" method
  7456. // is called.
  7457. //
  7458. // See DescribeSnapshotAttribute for usage and error information.
  7459. //
  7460. // Creating a request object using this method should be used when you want to inject
  7461. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7462. // access properties on the request object before or after sending the request. If
  7463. // you just want the service response, call the DescribeSnapshotAttribute method directly
  7464. // instead.
  7465. //
  7466. // Note: You must call the "Send" method on the returned request object in order
  7467. // to execute the request.
  7468. //
  7469. // // Example sending a request using the DescribeSnapshotAttributeRequest method.
  7470. // req, resp := client.DescribeSnapshotAttributeRequest(params)
  7471. //
  7472. // err := req.Send()
  7473. // if err == nil { // resp is now filled
  7474. // fmt.Println(resp)
  7475. // }
  7476. //
  7477. func (c *EC2) DescribeSnapshotAttributeRequest(input *DescribeSnapshotAttributeInput) (req *request.Request, output *DescribeSnapshotAttributeOutput) {
  7478. op := &request.Operation{
  7479. Name: opDescribeSnapshotAttribute,
  7480. HTTPMethod: "POST",
  7481. HTTPPath: "/",
  7482. }
  7483. if input == nil {
  7484. input = &DescribeSnapshotAttributeInput{}
  7485. }
  7486. req = c.newRequest(op, input, output)
  7487. output = &DescribeSnapshotAttributeOutput{}
  7488. req.Data = output
  7489. return
  7490. }
  7491. // DescribeSnapshotAttribute API operation for Amazon Elastic Compute Cloud.
  7492. //
  7493. // Describes the specified attribute of the specified snapshot. You can specify
  7494. // only one attribute at a time.
  7495. //
  7496. // For more information about EBS snapshots, see Amazon EBS Snapshots (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html)
  7497. // in the Amazon Elastic Compute Cloud User Guide.
  7498. //
  7499. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7500. // with awserr.Error's Code and Message methods to get detailed information about
  7501. // the error.
  7502. //
  7503. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7504. // API operation DescribeSnapshotAttribute for usage and error information.
  7505. func (c *EC2) DescribeSnapshotAttribute(input *DescribeSnapshotAttributeInput) (*DescribeSnapshotAttributeOutput, error) {
  7506. req, out := c.DescribeSnapshotAttributeRequest(input)
  7507. err := req.Send()
  7508. return out, err
  7509. }
  7510. const opDescribeSnapshots = "DescribeSnapshots"
  7511. // DescribeSnapshotsRequest generates a "aws/request.Request" representing the
  7512. // client's request for the DescribeSnapshots operation. The "output" return
  7513. // value can be used to capture response data after the request's "Send" method
  7514. // is called.
  7515. //
  7516. // See DescribeSnapshots for usage and error information.
  7517. //
  7518. // Creating a request object using this method should be used when you want to inject
  7519. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7520. // access properties on the request object before or after sending the request. If
  7521. // you just want the service response, call the DescribeSnapshots method directly
  7522. // instead.
  7523. //
  7524. // Note: You must call the "Send" method on the returned request object in order
  7525. // to execute the request.
  7526. //
  7527. // // Example sending a request using the DescribeSnapshotsRequest method.
  7528. // req, resp := client.DescribeSnapshotsRequest(params)
  7529. //
  7530. // err := req.Send()
  7531. // if err == nil { // resp is now filled
  7532. // fmt.Println(resp)
  7533. // }
  7534. //
  7535. func (c *EC2) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *request.Request, output *DescribeSnapshotsOutput) {
  7536. op := &request.Operation{
  7537. Name: opDescribeSnapshots,
  7538. HTTPMethod: "POST",
  7539. HTTPPath: "/",
  7540. Paginator: &request.Paginator{
  7541. InputTokens: []string{"NextToken"},
  7542. OutputTokens: []string{"NextToken"},
  7543. LimitToken: "MaxResults",
  7544. TruncationToken: "",
  7545. },
  7546. }
  7547. if input == nil {
  7548. input = &DescribeSnapshotsInput{}
  7549. }
  7550. req = c.newRequest(op, input, output)
  7551. output = &DescribeSnapshotsOutput{}
  7552. req.Data = output
  7553. return
  7554. }
  7555. // DescribeSnapshots API operation for Amazon Elastic Compute Cloud.
  7556. //
  7557. // Describes one or more of the EBS snapshots available to you. Available snapshots
  7558. // include public snapshots available for any AWS account to launch, private
  7559. // snapshots that you own, and private snapshots owned by another AWS account
  7560. // but for which you've been given explicit create volume permissions.
  7561. //
  7562. // The create volume permissions fall into the following categories:
  7563. //
  7564. // * public: The owner of the snapshot granted create volume permissions
  7565. // for the snapshot to the all group. All AWS accounts have create volume
  7566. // permissions for these snapshots.
  7567. //
  7568. // * explicit: The owner of the snapshot granted create volume permissions
  7569. // to a specific AWS account.
  7570. //
  7571. // * implicit: An AWS account has implicit create volume permissions for
  7572. // all snapshots it owns.
  7573. //
  7574. // The list of snapshots returned can be modified by specifying snapshot IDs,
  7575. // snapshot owners, or AWS accounts with create volume permissions. If no options
  7576. // are specified, Amazon EC2 returns all snapshots for which you have create
  7577. // volume permissions.
  7578. //
  7579. // If you specify one or more snapshot IDs, only snapshots that have the specified
  7580. // IDs are returned. If you specify an invalid snapshot ID, an error is returned.
  7581. // If you specify a snapshot ID for which you do not have access, it is not
  7582. // included in the returned results.
  7583. //
  7584. // If you specify one or more snapshot owners using the OwnerIds option, only
  7585. // snapshots from the specified owners and for which you have access are returned.
  7586. // The results can include the AWS account IDs of the specified owners, amazon
  7587. // for snapshots owned by Amazon, or self for snapshots that you own.
  7588. //
  7589. // If you specify a list of restorable users, only snapshots with create snapshot
  7590. // permissions for those users are returned. You can specify AWS account IDs
  7591. // (if you own the snapshots), self for snapshots for which you own or have
  7592. // explicit permissions, or all for public snapshots.
  7593. //
  7594. // If you are describing a long list of snapshots, you can paginate the output
  7595. // to make the list more manageable. The MaxResults parameter sets the maximum
  7596. // number of results returned in a single page. If the list of results exceeds
  7597. // your MaxResults value, then that number of results is returned along with
  7598. // a NextToken value that can be passed to a subsequent DescribeSnapshots request
  7599. // to retrieve the remaining results.
  7600. //
  7601. // For more information about EBS snapshots, see Amazon EBS Snapshots (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html)
  7602. // in the Amazon Elastic Compute Cloud User Guide.
  7603. //
  7604. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7605. // with awserr.Error's Code and Message methods to get detailed information about
  7606. // the error.
  7607. //
  7608. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7609. // API operation DescribeSnapshots for usage and error information.
  7610. func (c *EC2) DescribeSnapshots(input *DescribeSnapshotsInput) (*DescribeSnapshotsOutput, error) {
  7611. req, out := c.DescribeSnapshotsRequest(input)
  7612. err := req.Send()
  7613. return out, err
  7614. }
  7615. // DescribeSnapshotsPages iterates over the pages of a DescribeSnapshots operation,
  7616. // calling the "fn" function with the response data for each page. To stop
  7617. // iterating, return false from the fn function.
  7618. //
  7619. // See DescribeSnapshots method for more information on how to use this operation.
  7620. //
  7621. // Note: This operation can generate multiple requests to a service.
  7622. //
  7623. // // Example iterating over at most 3 pages of a DescribeSnapshots operation.
  7624. // pageNum := 0
  7625. // err := client.DescribeSnapshotsPages(params,
  7626. // func(page *DescribeSnapshotsOutput, lastPage bool) bool {
  7627. // pageNum++
  7628. // fmt.Println(page)
  7629. // return pageNum <= 3
  7630. // })
  7631. //
  7632. func (c *EC2) DescribeSnapshotsPages(input *DescribeSnapshotsInput, fn func(p *DescribeSnapshotsOutput, lastPage bool) (shouldContinue bool)) error {
  7633. page, _ := c.DescribeSnapshotsRequest(input)
  7634. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  7635. return page.EachPage(func(p interface{}, lastPage bool) bool {
  7636. return fn(p.(*DescribeSnapshotsOutput), lastPage)
  7637. })
  7638. }
  7639. const opDescribeSpotDatafeedSubscription = "DescribeSpotDatafeedSubscription"
  7640. // DescribeSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
  7641. // client's request for the DescribeSpotDatafeedSubscription operation. The "output" return
  7642. // value can be used to capture response data after the request's "Send" method
  7643. // is called.
  7644. //
  7645. // See DescribeSpotDatafeedSubscription for usage and error information.
  7646. //
  7647. // Creating a request object using this method should be used when you want to inject
  7648. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7649. // access properties on the request object before or after sending the request. If
  7650. // you just want the service response, call the DescribeSpotDatafeedSubscription method directly
  7651. // instead.
  7652. //
  7653. // Note: You must call the "Send" method on the returned request object in order
  7654. // to execute the request.
  7655. //
  7656. // // Example sending a request using the DescribeSpotDatafeedSubscriptionRequest method.
  7657. // req, resp := client.DescribeSpotDatafeedSubscriptionRequest(params)
  7658. //
  7659. // err := req.Send()
  7660. // if err == nil { // resp is now filled
  7661. // fmt.Println(resp)
  7662. // }
  7663. //
  7664. func (c *EC2) DescribeSpotDatafeedSubscriptionRequest(input *DescribeSpotDatafeedSubscriptionInput) (req *request.Request, output *DescribeSpotDatafeedSubscriptionOutput) {
  7665. op := &request.Operation{
  7666. Name: opDescribeSpotDatafeedSubscription,
  7667. HTTPMethod: "POST",
  7668. HTTPPath: "/",
  7669. }
  7670. if input == nil {
  7671. input = &DescribeSpotDatafeedSubscriptionInput{}
  7672. }
  7673. req = c.newRequest(op, input, output)
  7674. output = &DescribeSpotDatafeedSubscriptionOutput{}
  7675. req.Data = output
  7676. return
  7677. }
  7678. // DescribeSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
  7679. //
  7680. // Describes the data feed for Spot instances. For more information, see Spot
  7681. // Instance Data Feed (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html)
  7682. // in the Amazon Elastic Compute Cloud User Guide.
  7683. //
  7684. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7685. // with awserr.Error's Code and Message methods to get detailed information about
  7686. // the error.
  7687. //
  7688. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7689. // API operation DescribeSpotDatafeedSubscription for usage and error information.
  7690. func (c *EC2) DescribeSpotDatafeedSubscription(input *DescribeSpotDatafeedSubscriptionInput) (*DescribeSpotDatafeedSubscriptionOutput, error) {
  7691. req, out := c.DescribeSpotDatafeedSubscriptionRequest(input)
  7692. err := req.Send()
  7693. return out, err
  7694. }
  7695. const opDescribeSpotFleetInstances = "DescribeSpotFleetInstances"
  7696. // DescribeSpotFleetInstancesRequest generates a "aws/request.Request" representing the
  7697. // client's request for the DescribeSpotFleetInstances operation. The "output" return
  7698. // value can be used to capture response data after the request's "Send" method
  7699. // is called.
  7700. //
  7701. // See DescribeSpotFleetInstances for usage and error information.
  7702. //
  7703. // Creating a request object using this method should be used when you want to inject
  7704. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7705. // access properties on the request object before or after sending the request. If
  7706. // you just want the service response, call the DescribeSpotFleetInstances method directly
  7707. // instead.
  7708. //
  7709. // Note: You must call the "Send" method on the returned request object in order
  7710. // to execute the request.
  7711. //
  7712. // // Example sending a request using the DescribeSpotFleetInstancesRequest method.
  7713. // req, resp := client.DescribeSpotFleetInstancesRequest(params)
  7714. //
  7715. // err := req.Send()
  7716. // if err == nil { // resp is now filled
  7717. // fmt.Println(resp)
  7718. // }
  7719. //
  7720. func (c *EC2) DescribeSpotFleetInstancesRequest(input *DescribeSpotFleetInstancesInput) (req *request.Request, output *DescribeSpotFleetInstancesOutput) {
  7721. op := &request.Operation{
  7722. Name: opDescribeSpotFleetInstances,
  7723. HTTPMethod: "POST",
  7724. HTTPPath: "/",
  7725. }
  7726. if input == nil {
  7727. input = &DescribeSpotFleetInstancesInput{}
  7728. }
  7729. req = c.newRequest(op, input, output)
  7730. output = &DescribeSpotFleetInstancesOutput{}
  7731. req.Data = output
  7732. return
  7733. }
  7734. // DescribeSpotFleetInstances API operation for Amazon Elastic Compute Cloud.
  7735. //
  7736. // Describes the running instances for the specified Spot fleet.
  7737. //
  7738. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7739. // with awserr.Error's Code and Message methods to get detailed information about
  7740. // the error.
  7741. //
  7742. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7743. // API operation DescribeSpotFleetInstances for usage and error information.
  7744. func (c *EC2) DescribeSpotFleetInstances(input *DescribeSpotFleetInstancesInput) (*DescribeSpotFleetInstancesOutput, error) {
  7745. req, out := c.DescribeSpotFleetInstancesRequest(input)
  7746. err := req.Send()
  7747. return out, err
  7748. }
  7749. const opDescribeSpotFleetRequestHistory = "DescribeSpotFleetRequestHistory"
  7750. // DescribeSpotFleetRequestHistoryRequest generates a "aws/request.Request" representing the
  7751. // client's request for the DescribeSpotFleetRequestHistory operation. The "output" return
  7752. // value can be used to capture response data after the request's "Send" method
  7753. // is called.
  7754. //
  7755. // See DescribeSpotFleetRequestHistory for usage and error information.
  7756. //
  7757. // Creating a request object using this method should be used when you want to inject
  7758. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7759. // access properties on the request object before or after sending the request. If
  7760. // you just want the service response, call the DescribeSpotFleetRequestHistory method directly
  7761. // instead.
  7762. //
  7763. // Note: You must call the "Send" method on the returned request object in order
  7764. // to execute the request.
  7765. //
  7766. // // Example sending a request using the DescribeSpotFleetRequestHistoryRequest method.
  7767. // req, resp := client.DescribeSpotFleetRequestHistoryRequest(params)
  7768. //
  7769. // err := req.Send()
  7770. // if err == nil { // resp is now filled
  7771. // fmt.Println(resp)
  7772. // }
  7773. //
  7774. func (c *EC2) DescribeSpotFleetRequestHistoryRequest(input *DescribeSpotFleetRequestHistoryInput) (req *request.Request, output *DescribeSpotFleetRequestHistoryOutput) {
  7775. op := &request.Operation{
  7776. Name: opDescribeSpotFleetRequestHistory,
  7777. HTTPMethod: "POST",
  7778. HTTPPath: "/",
  7779. }
  7780. if input == nil {
  7781. input = &DescribeSpotFleetRequestHistoryInput{}
  7782. }
  7783. req = c.newRequest(op, input, output)
  7784. output = &DescribeSpotFleetRequestHistoryOutput{}
  7785. req.Data = output
  7786. return
  7787. }
  7788. // DescribeSpotFleetRequestHistory API operation for Amazon Elastic Compute Cloud.
  7789. //
  7790. // Describes the events for the specified Spot fleet request during the specified
  7791. // time.
  7792. //
  7793. // Spot fleet events are delayed by up to 30 seconds before they can be described.
  7794. // This ensures that you can query by the last evaluated time and not miss a
  7795. // recorded event.
  7796. //
  7797. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7798. // with awserr.Error's Code and Message methods to get detailed information about
  7799. // the error.
  7800. //
  7801. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7802. // API operation DescribeSpotFleetRequestHistory for usage and error information.
  7803. func (c *EC2) DescribeSpotFleetRequestHistory(input *DescribeSpotFleetRequestHistoryInput) (*DescribeSpotFleetRequestHistoryOutput, error) {
  7804. req, out := c.DescribeSpotFleetRequestHistoryRequest(input)
  7805. err := req.Send()
  7806. return out, err
  7807. }
  7808. const opDescribeSpotFleetRequests = "DescribeSpotFleetRequests"
  7809. // DescribeSpotFleetRequestsRequest generates a "aws/request.Request" representing the
  7810. // client's request for the DescribeSpotFleetRequests operation. The "output" return
  7811. // value can be used to capture response data after the request's "Send" method
  7812. // is called.
  7813. //
  7814. // See DescribeSpotFleetRequests for usage and error information.
  7815. //
  7816. // Creating a request object using this method should be used when you want to inject
  7817. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7818. // access properties on the request object before or after sending the request. If
  7819. // you just want the service response, call the DescribeSpotFleetRequests method directly
  7820. // instead.
  7821. //
  7822. // Note: You must call the "Send" method on the returned request object in order
  7823. // to execute the request.
  7824. //
  7825. // // Example sending a request using the DescribeSpotFleetRequestsRequest method.
  7826. // req, resp := client.DescribeSpotFleetRequestsRequest(params)
  7827. //
  7828. // err := req.Send()
  7829. // if err == nil { // resp is now filled
  7830. // fmt.Println(resp)
  7831. // }
  7832. //
  7833. func (c *EC2) DescribeSpotFleetRequestsRequest(input *DescribeSpotFleetRequestsInput) (req *request.Request, output *DescribeSpotFleetRequestsOutput) {
  7834. op := &request.Operation{
  7835. Name: opDescribeSpotFleetRequests,
  7836. HTTPMethod: "POST",
  7837. HTTPPath: "/",
  7838. Paginator: &request.Paginator{
  7839. InputTokens: []string{"NextToken"},
  7840. OutputTokens: []string{"NextToken"},
  7841. LimitToken: "MaxResults",
  7842. TruncationToken: "",
  7843. },
  7844. }
  7845. if input == nil {
  7846. input = &DescribeSpotFleetRequestsInput{}
  7847. }
  7848. req = c.newRequest(op, input, output)
  7849. output = &DescribeSpotFleetRequestsOutput{}
  7850. req.Data = output
  7851. return
  7852. }
  7853. // DescribeSpotFleetRequests API operation for Amazon Elastic Compute Cloud.
  7854. //
  7855. // Describes your Spot fleet requests.
  7856. //
  7857. // Spot fleet requests are deleted 48 hours after they are canceled and their
  7858. // instances are terminated.
  7859. //
  7860. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7861. // with awserr.Error's Code and Message methods to get detailed information about
  7862. // the error.
  7863. //
  7864. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7865. // API operation DescribeSpotFleetRequests for usage and error information.
  7866. func (c *EC2) DescribeSpotFleetRequests(input *DescribeSpotFleetRequestsInput) (*DescribeSpotFleetRequestsOutput, error) {
  7867. req, out := c.DescribeSpotFleetRequestsRequest(input)
  7868. err := req.Send()
  7869. return out, err
  7870. }
  7871. // DescribeSpotFleetRequestsPages iterates over the pages of a DescribeSpotFleetRequests operation,
  7872. // calling the "fn" function with the response data for each page. To stop
  7873. // iterating, return false from the fn function.
  7874. //
  7875. // See DescribeSpotFleetRequests method for more information on how to use this operation.
  7876. //
  7877. // Note: This operation can generate multiple requests to a service.
  7878. //
  7879. // // Example iterating over at most 3 pages of a DescribeSpotFleetRequests operation.
  7880. // pageNum := 0
  7881. // err := client.DescribeSpotFleetRequestsPages(params,
  7882. // func(page *DescribeSpotFleetRequestsOutput, lastPage bool) bool {
  7883. // pageNum++
  7884. // fmt.Println(page)
  7885. // return pageNum <= 3
  7886. // })
  7887. //
  7888. func (c *EC2) DescribeSpotFleetRequestsPages(input *DescribeSpotFleetRequestsInput, fn func(p *DescribeSpotFleetRequestsOutput, lastPage bool) (shouldContinue bool)) error {
  7889. page, _ := c.DescribeSpotFleetRequestsRequest(input)
  7890. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  7891. return page.EachPage(func(p interface{}, lastPage bool) bool {
  7892. return fn(p.(*DescribeSpotFleetRequestsOutput), lastPage)
  7893. })
  7894. }
  7895. const opDescribeSpotInstanceRequests = "DescribeSpotInstanceRequests"
  7896. // DescribeSpotInstanceRequestsRequest generates a "aws/request.Request" representing the
  7897. // client's request for the DescribeSpotInstanceRequests operation. The "output" return
  7898. // value can be used to capture response data after the request's "Send" method
  7899. // is called.
  7900. //
  7901. // See DescribeSpotInstanceRequests for usage and error information.
  7902. //
  7903. // Creating a request object using this method should be used when you want to inject
  7904. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7905. // access properties on the request object before or after sending the request. If
  7906. // you just want the service response, call the DescribeSpotInstanceRequests method directly
  7907. // instead.
  7908. //
  7909. // Note: You must call the "Send" method on the returned request object in order
  7910. // to execute the request.
  7911. //
  7912. // // Example sending a request using the DescribeSpotInstanceRequestsRequest method.
  7913. // req, resp := client.DescribeSpotInstanceRequestsRequest(params)
  7914. //
  7915. // err := req.Send()
  7916. // if err == nil { // resp is now filled
  7917. // fmt.Println(resp)
  7918. // }
  7919. //
  7920. func (c *EC2) DescribeSpotInstanceRequestsRequest(input *DescribeSpotInstanceRequestsInput) (req *request.Request, output *DescribeSpotInstanceRequestsOutput) {
  7921. op := &request.Operation{
  7922. Name: opDescribeSpotInstanceRequests,
  7923. HTTPMethod: "POST",
  7924. HTTPPath: "/",
  7925. }
  7926. if input == nil {
  7927. input = &DescribeSpotInstanceRequestsInput{}
  7928. }
  7929. req = c.newRequest(op, input, output)
  7930. output = &DescribeSpotInstanceRequestsOutput{}
  7931. req.Data = output
  7932. return
  7933. }
  7934. // DescribeSpotInstanceRequests API operation for Amazon Elastic Compute Cloud.
  7935. //
  7936. // Describes the Spot instance requests that belong to your account. Spot instances
  7937. // are instances that Amazon EC2 launches when the bid price that you specify
  7938. // exceeds the current Spot price. Amazon EC2 periodically sets the Spot price
  7939. // based on available Spot instance capacity and current Spot instance requests.
  7940. // For more information, see Spot Instance Requests (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html)
  7941. // in the Amazon Elastic Compute Cloud User Guide.
  7942. //
  7943. // You can use DescribeSpotInstanceRequests to find a running Spot instance
  7944. // by examining the response. If the status of the Spot instance is fulfilled,
  7945. // the instance ID appears in the response and contains the identifier of the
  7946. // instance. Alternatively, you can use DescribeInstances with a filter to look
  7947. // for instances where the instance lifecycle is spot.
  7948. //
  7949. // Spot instance requests are deleted 4 hours after they are canceled and their
  7950. // instances are terminated.
  7951. //
  7952. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7953. // with awserr.Error's Code and Message methods to get detailed information about
  7954. // the error.
  7955. //
  7956. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7957. // API operation DescribeSpotInstanceRequests for usage and error information.
  7958. func (c *EC2) DescribeSpotInstanceRequests(input *DescribeSpotInstanceRequestsInput) (*DescribeSpotInstanceRequestsOutput, error) {
  7959. req, out := c.DescribeSpotInstanceRequestsRequest(input)
  7960. err := req.Send()
  7961. return out, err
  7962. }
  7963. const opDescribeSpotPriceHistory = "DescribeSpotPriceHistory"
  7964. // DescribeSpotPriceHistoryRequest generates a "aws/request.Request" representing the
  7965. // client's request for the DescribeSpotPriceHistory operation. The "output" return
  7966. // value can be used to capture response data after the request's "Send" method
  7967. // is called.
  7968. //
  7969. // See DescribeSpotPriceHistory for usage and error information.
  7970. //
  7971. // Creating a request object using this method should be used when you want to inject
  7972. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7973. // access properties on the request object before or after sending the request. If
  7974. // you just want the service response, call the DescribeSpotPriceHistory method directly
  7975. // instead.
  7976. //
  7977. // Note: You must call the "Send" method on the returned request object in order
  7978. // to execute the request.
  7979. //
  7980. // // Example sending a request using the DescribeSpotPriceHistoryRequest method.
  7981. // req, resp := client.DescribeSpotPriceHistoryRequest(params)
  7982. //
  7983. // err := req.Send()
  7984. // if err == nil { // resp is now filled
  7985. // fmt.Println(resp)
  7986. // }
  7987. //
  7988. func (c *EC2) DescribeSpotPriceHistoryRequest(input *DescribeSpotPriceHistoryInput) (req *request.Request, output *DescribeSpotPriceHistoryOutput) {
  7989. op := &request.Operation{
  7990. Name: opDescribeSpotPriceHistory,
  7991. HTTPMethod: "POST",
  7992. HTTPPath: "/",
  7993. Paginator: &request.Paginator{
  7994. InputTokens: []string{"NextToken"},
  7995. OutputTokens: []string{"NextToken"},
  7996. LimitToken: "MaxResults",
  7997. TruncationToken: "",
  7998. },
  7999. }
  8000. if input == nil {
  8001. input = &DescribeSpotPriceHistoryInput{}
  8002. }
  8003. req = c.newRequest(op, input, output)
  8004. output = &DescribeSpotPriceHistoryOutput{}
  8005. req.Data = output
  8006. return
  8007. }
  8008. // DescribeSpotPriceHistory API operation for Amazon Elastic Compute Cloud.
  8009. //
  8010. // Describes the Spot price history. The prices returned are listed in chronological
  8011. // order, from the oldest to the most recent, for up to the past 90 days. For
  8012. // more information, see Spot Instance Pricing History (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances-history.html)
  8013. // in the Amazon Elastic Compute Cloud User Guide.
  8014. //
  8015. // When you specify a start and end time, this operation returns the prices
  8016. // of the instance types within the time range that you specified and the time
  8017. // when the price changed. The price is valid within the time period that you
  8018. // specified; the response merely indicates the last time that the price changed.
  8019. //
  8020. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8021. // with awserr.Error's Code and Message methods to get detailed information about
  8022. // the error.
  8023. //
  8024. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8025. // API operation DescribeSpotPriceHistory for usage and error information.
  8026. func (c *EC2) DescribeSpotPriceHistory(input *DescribeSpotPriceHistoryInput) (*DescribeSpotPriceHistoryOutput, error) {
  8027. req, out := c.DescribeSpotPriceHistoryRequest(input)
  8028. err := req.Send()
  8029. return out, err
  8030. }
  8031. // DescribeSpotPriceHistoryPages iterates over the pages of a DescribeSpotPriceHistory operation,
  8032. // calling the "fn" function with the response data for each page. To stop
  8033. // iterating, return false from the fn function.
  8034. //
  8035. // See DescribeSpotPriceHistory method for more information on how to use this operation.
  8036. //
  8037. // Note: This operation can generate multiple requests to a service.
  8038. //
  8039. // // Example iterating over at most 3 pages of a DescribeSpotPriceHistory operation.
  8040. // pageNum := 0
  8041. // err := client.DescribeSpotPriceHistoryPages(params,
  8042. // func(page *DescribeSpotPriceHistoryOutput, lastPage bool) bool {
  8043. // pageNum++
  8044. // fmt.Println(page)
  8045. // return pageNum <= 3
  8046. // })
  8047. //
  8048. func (c *EC2) DescribeSpotPriceHistoryPages(input *DescribeSpotPriceHistoryInput, fn func(p *DescribeSpotPriceHistoryOutput, lastPage bool) (shouldContinue bool)) error {
  8049. page, _ := c.DescribeSpotPriceHistoryRequest(input)
  8050. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  8051. return page.EachPage(func(p interface{}, lastPage bool) bool {
  8052. return fn(p.(*DescribeSpotPriceHistoryOutput), lastPage)
  8053. })
  8054. }
  8055. const opDescribeStaleSecurityGroups = "DescribeStaleSecurityGroups"
  8056. // DescribeStaleSecurityGroupsRequest generates a "aws/request.Request" representing the
  8057. // client's request for the DescribeStaleSecurityGroups operation. The "output" return
  8058. // value can be used to capture response data after the request's "Send" method
  8059. // is called.
  8060. //
  8061. // See DescribeStaleSecurityGroups for usage and error information.
  8062. //
  8063. // Creating a request object using this method should be used when you want to inject
  8064. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8065. // access properties on the request object before or after sending the request. If
  8066. // you just want the service response, call the DescribeStaleSecurityGroups method directly
  8067. // instead.
  8068. //
  8069. // Note: You must call the "Send" method on the returned request object in order
  8070. // to execute the request.
  8071. //
  8072. // // Example sending a request using the DescribeStaleSecurityGroupsRequest method.
  8073. // req, resp := client.DescribeStaleSecurityGroupsRequest(params)
  8074. //
  8075. // err := req.Send()
  8076. // if err == nil { // resp is now filled
  8077. // fmt.Println(resp)
  8078. // }
  8079. //
  8080. func (c *EC2) DescribeStaleSecurityGroupsRequest(input *DescribeStaleSecurityGroupsInput) (req *request.Request, output *DescribeStaleSecurityGroupsOutput) {
  8081. op := &request.Operation{
  8082. Name: opDescribeStaleSecurityGroups,
  8083. HTTPMethod: "POST",
  8084. HTTPPath: "/",
  8085. }
  8086. if input == nil {
  8087. input = &DescribeStaleSecurityGroupsInput{}
  8088. }
  8089. req = c.newRequest(op, input, output)
  8090. output = &DescribeStaleSecurityGroupsOutput{}
  8091. req.Data = output
  8092. return
  8093. }
  8094. // DescribeStaleSecurityGroups API operation for Amazon Elastic Compute Cloud.
  8095. //
  8096. // [EC2-VPC only] Describes the stale security group rules for security groups
  8097. // in a specified VPC. Rules are stale when they reference a deleted security
  8098. // group in a peer VPC, or a security group in a peer VPC for which the VPC
  8099. // peering connection has been deleted.
  8100. //
  8101. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8102. // with awserr.Error's Code and Message methods to get detailed information about
  8103. // the error.
  8104. //
  8105. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8106. // API operation DescribeStaleSecurityGroups for usage and error information.
  8107. func (c *EC2) DescribeStaleSecurityGroups(input *DescribeStaleSecurityGroupsInput) (*DescribeStaleSecurityGroupsOutput, error) {
  8108. req, out := c.DescribeStaleSecurityGroupsRequest(input)
  8109. err := req.Send()
  8110. return out, err
  8111. }
  8112. const opDescribeSubnets = "DescribeSubnets"
  8113. // DescribeSubnetsRequest generates a "aws/request.Request" representing the
  8114. // client's request for the DescribeSubnets operation. The "output" return
  8115. // value can be used to capture response data after the request's "Send" method
  8116. // is called.
  8117. //
  8118. // See DescribeSubnets for usage and error information.
  8119. //
  8120. // Creating a request object using this method should be used when you want to inject
  8121. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8122. // access properties on the request object before or after sending the request. If
  8123. // you just want the service response, call the DescribeSubnets method directly
  8124. // instead.
  8125. //
  8126. // Note: You must call the "Send" method on the returned request object in order
  8127. // to execute the request.
  8128. //
  8129. // // Example sending a request using the DescribeSubnetsRequest method.
  8130. // req, resp := client.DescribeSubnetsRequest(params)
  8131. //
  8132. // err := req.Send()
  8133. // if err == nil { // resp is now filled
  8134. // fmt.Println(resp)
  8135. // }
  8136. //
  8137. func (c *EC2) DescribeSubnetsRequest(input *DescribeSubnetsInput) (req *request.Request, output *DescribeSubnetsOutput) {
  8138. op := &request.Operation{
  8139. Name: opDescribeSubnets,
  8140. HTTPMethod: "POST",
  8141. HTTPPath: "/",
  8142. }
  8143. if input == nil {
  8144. input = &DescribeSubnetsInput{}
  8145. }
  8146. req = c.newRequest(op, input, output)
  8147. output = &DescribeSubnetsOutput{}
  8148. req.Data = output
  8149. return
  8150. }
  8151. // DescribeSubnets API operation for Amazon Elastic Compute Cloud.
  8152. //
  8153. // Describes one or more of your subnets.
  8154. //
  8155. // For more information about subnets, see Your VPC and Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html)
  8156. // in the Amazon Virtual Private Cloud User Guide.
  8157. //
  8158. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8159. // with awserr.Error's Code and Message methods to get detailed information about
  8160. // the error.
  8161. //
  8162. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8163. // API operation DescribeSubnets for usage and error information.
  8164. func (c *EC2) DescribeSubnets(input *DescribeSubnetsInput) (*DescribeSubnetsOutput, error) {
  8165. req, out := c.DescribeSubnetsRequest(input)
  8166. err := req.Send()
  8167. return out, err
  8168. }
  8169. const opDescribeTags = "DescribeTags"
  8170. // DescribeTagsRequest generates a "aws/request.Request" representing the
  8171. // client's request for the DescribeTags operation. The "output" return
  8172. // value can be used to capture response data after the request's "Send" method
  8173. // is called.
  8174. //
  8175. // See DescribeTags for usage and error information.
  8176. //
  8177. // Creating a request object using this method should be used when you want to inject
  8178. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8179. // access properties on the request object before or after sending the request. If
  8180. // you just want the service response, call the DescribeTags method directly
  8181. // instead.
  8182. //
  8183. // Note: You must call the "Send" method on the returned request object in order
  8184. // to execute the request.
  8185. //
  8186. // // Example sending a request using the DescribeTagsRequest method.
  8187. // req, resp := client.DescribeTagsRequest(params)
  8188. //
  8189. // err := req.Send()
  8190. // if err == nil { // resp is now filled
  8191. // fmt.Println(resp)
  8192. // }
  8193. //
  8194. func (c *EC2) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Request, output *DescribeTagsOutput) {
  8195. op := &request.Operation{
  8196. Name: opDescribeTags,
  8197. HTTPMethod: "POST",
  8198. HTTPPath: "/",
  8199. Paginator: &request.Paginator{
  8200. InputTokens: []string{"NextToken"},
  8201. OutputTokens: []string{"NextToken"},
  8202. LimitToken: "MaxResults",
  8203. TruncationToken: "",
  8204. },
  8205. }
  8206. if input == nil {
  8207. input = &DescribeTagsInput{}
  8208. }
  8209. req = c.newRequest(op, input, output)
  8210. output = &DescribeTagsOutput{}
  8211. req.Data = output
  8212. return
  8213. }
  8214. // DescribeTags API operation for Amazon Elastic Compute Cloud.
  8215. //
  8216. // Describes one or more of the tags for your EC2 resources.
  8217. //
  8218. // For more information about tags, see Tagging Your Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
  8219. // in the Amazon Elastic Compute Cloud User Guide.
  8220. //
  8221. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8222. // with awserr.Error's Code and Message methods to get detailed information about
  8223. // the error.
  8224. //
  8225. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8226. // API operation DescribeTags for usage and error information.
  8227. func (c *EC2) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error) {
  8228. req, out := c.DescribeTagsRequest(input)
  8229. err := req.Send()
  8230. return out, err
  8231. }
  8232. // DescribeTagsPages iterates over the pages of a DescribeTags operation,
  8233. // calling the "fn" function with the response data for each page. To stop
  8234. // iterating, return false from the fn function.
  8235. //
  8236. // See DescribeTags method for more information on how to use this operation.
  8237. //
  8238. // Note: This operation can generate multiple requests to a service.
  8239. //
  8240. // // Example iterating over at most 3 pages of a DescribeTags operation.
  8241. // pageNum := 0
  8242. // err := client.DescribeTagsPages(params,
  8243. // func(page *DescribeTagsOutput, lastPage bool) bool {
  8244. // pageNum++
  8245. // fmt.Println(page)
  8246. // return pageNum <= 3
  8247. // })
  8248. //
  8249. func (c *EC2) DescribeTagsPages(input *DescribeTagsInput, fn func(p *DescribeTagsOutput, lastPage bool) (shouldContinue bool)) error {
  8250. page, _ := c.DescribeTagsRequest(input)
  8251. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  8252. return page.EachPage(func(p interface{}, lastPage bool) bool {
  8253. return fn(p.(*DescribeTagsOutput), lastPage)
  8254. })
  8255. }
  8256. const opDescribeVolumeAttribute = "DescribeVolumeAttribute"
  8257. // DescribeVolumeAttributeRequest generates a "aws/request.Request" representing the
  8258. // client's request for the DescribeVolumeAttribute operation. The "output" return
  8259. // value can be used to capture response data after the request's "Send" method
  8260. // is called.
  8261. //
  8262. // See DescribeVolumeAttribute for usage and error information.
  8263. //
  8264. // Creating a request object using this method should be used when you want to inject
  8265. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8266. // access properties on the request object before or after sending the request. If
  8267. // you just want the service response, call the DescribeVolumeAttribute method directly
  8268. // instead.
  8269. //
  8270. // Note: You must call the "Send" method on the returned request object in order
  8271. // to execute the request.
  8272. //
  8273. // // Example sending a request using the DescribeVolumeAttributeRequest method.
  8274. // req, resp := client.DescribeVolumeAttributeRequest(params)
  8275. //
  8276. // err := req.Send()
  8277. // if err == nil { // resp is now filled
  8278. // fmt.Println(resp)
  8279. // }
  8280. //
  8281. func (c *EC2) DescribeVolumeAttributeRequest(input *DescribeVolumeAttributeInput) (req *request.Request, output *DescribeVolumeAttributeOutput) {
  8282. op := &request.Operation{
  8283. Name: opDescribeVolumeAttribute,
  8284. HTTPMethod: "POST",
  8285. HTTPPath: "/",
  8286. }
  8287. if input == nil {
  8288. input = &DescribeVolumeAttributeInput{}
  8289. }
  8290. req = c.newRequest(op, input, output)
  8291. output = &DescribeVolumeAttributeOutput{}
  8292. req.Data = output
  8293. return
  8294. }
  8295. // DescribeVolumeAttribute API operation for Amazon Elastic Compute Cloud.
  8296. //
  8297. // Describes the specified attribute of the specified volume. You can specify
  8298. // only one attribute at a time.
  8299. //
  8300. // For more information about EBS volumes, see Amazon EBS Volumes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html)
  8301. // in the Amazon Elastic Compute Cloud User Guide.
  8302. //
  8303. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8304. // with awserr.Error's Code and Message methods to get detailed information about
  8305. // the error.
  8306. //
  8307. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8308. // API operation DescribeVolumeAttribute for usage and error information.
  8309. func (c *EC2) DescribeVolumeAttribute(input *DescribeVolumeAttributeInput) (*DescribeVolumeAttributeOutput, error) {
  8310. req, out := c.DescribeVolumeAttributeRequest(input)
  8311. err := req.Send()
  8312. return out, err
  8313. }
  8314. const opDescribeVolumeStatus = "DescribeVolumeStatus"
  8315. // DescribeVolumeStatusRequest generates a "aws/request.Request" representing the
  8316. // client's request for the DescribeVolumeStatus operation. The "output" return
  8317. // value can be used to capture response data after the request's "Send" method
  8318. // is called.
  8319. //
  8320. // See DescribeVolumeStatus for usage and error information.
  8321. //
  8322. // Creating a request object using this method should be used when you want to inject
  8323. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8324. // access properties on the request object before or after sending the request. If
  8325. // you just want the service response, call the DescribeVolumeStatus method directly
  8326. // instead.
  8327. //
  8328. // Note: You must call the "Send" method on the returned request object in order
  8329. // to execute the request.
  8330. //
  8331. // // Example sending a request using the DescribeVolumeStatusRequest method.
  8332. // req, resp := client.DescribeVolumeStatusRequest(params)
  8333. //
  8334. // err := req.Send()
  8335. // if err == nil { // resp is now filled
  8336. // fmt.Println(resp)
  8337. // }
  8338. //
  8339. func (c *EC2) DescribeVolumeStatusRequest(input *DescribeVolumeStatusInput) (req *request.Request, output *DescribeVolumeStatusOutput) {
  8340. op := &request.Operation{
  8341. Name: opDescribeVolumeStatus,
  8342. HTTPMethod: "POST",
  8343. HTTPPath: "/",
  8344. Paginator: &request.Paginator{
  8345. InputTokens: []string{"NextToken"},
  8346. OutputTokens: []string{"NextToken"},
  8347. LimitToken: "MaxResults",
  8348. TruncationToken: "",
  8349. },
  8350. }
  8351. if input == nil {
  8352. input = &DescribeVolumeStatusInput{}
  8353. }
  8354. req = c.newRequest(op, input, output)
  8355. output = &DescribeVolumeStatusOutput{}
  8356. req.Data = output
  8357. return
  8358. }
  8359. // DescribeVolumeStatus API operation for Amazon Elastic Compute Cloud.
  8360. //
  8361. // Describes the status of the specified volumes. Volume status provides the
  8362. // result of the checks performed on your volumes to determine events that can
  8363. // impair the performance of your volumes. The performance of a volume can be
  8364. // affected if an issue occurs on the volume's underlying host. If the volume's
  8365. // underlying host experiences a power outage or system issue, after the system
  8366. // is restored, there could be data inconsistencies on the volume. Volume events
  8367. // notify you if this occurs. Volume actions notify you if any action needs
  8368. // to be taken in response to the event.
  8369. //
  8370. // The DescribeVolumeStatus operation provides the following information about
  8371. // the specified volumes:
  8372. //
  8373. // Status: Reflects the current status of the volume. The possible values are
  8374. // ok, impaired , warning, or insufficient-data. If all checks pass, the overall
  8375. // status of the volume is ok. If the check fails, the overall status is impaired.
  8376. // If the status is insufficient-data, then the checks may still be taking place
  8377. // on your volume at the time. We recommend that you retry the request. For
  8378. // more information on volume status, see Monitoring the Status of Your Volumes
  8379. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-volume-status.html).
  8380. //
  8381. // Events: Reflect the cause of a volume status and may require you to take
  8382. // action. For example, if your volume returns an impaired status, then the
  8383. // volume event might be potential-data-inconsistency. This means that your
  8384. // volume has been affected by an issue with the underlying host, has all I/O
  8385. // operations disabled, and may have inconsistent data.
  8386. //
  8387. // Actions: Reflect the actions you may have to take in response to an event.
  8388. // For example, if the status of the volume is impaired and the volume event
  8389. // shows potential-data-inconsistency, then the action shows enable-volume-io.
  8390. // This means that you may want to enable the I/O operations for the volume
  8391. // by calling the EnableVolumeIO action and then check the volume for data consistency.
  8392. //
  8393. // Volume status is based on the volume status checks, and does not reflect
  8394. // the volume state. Therefore, volume status does not indicate volumes in the
  8395. // error state (for example, when a volume is incapable of accepting I/O.)
  8396. //
  8397. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8398. // with awserr.Error's Code and Message methods to get detailed information about
  8399. // the error.
  8400. //
  8401. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8402. // API operation DescribeVolumeStatus for usage and error information.
  8403. func (c *EC2) DescribeVolumeStatus(input *DescribeVolumeStatusInput) (*DescribeVolumeStatusOutput, error) {
  8404. req, out := c.DescribeVolumeStatusRequest(input)
  8405. err := req.Send()
  8406. return out, err
  8407. }
  8408. // DescribeVolumeStatusPages iterates over the pages of a DescribeVolumeStatus operation,
  8409. // calling the "fn" function with the response data for each page. To stop
  8410. // iterating, return false from the fn function.
  8411. //
  8412. // See DescribeVolumeStatus method for more information on how to use this operation.
  8413. //
  8414. // Note: This operation can generate multiple requests to a service.
  8415. //
  8416. // // Example iterating over at most 3 pages of a DescribeVolumeStatus operation.
  8417. // pageNum := 0
  8418. // err := client.DescribeVolumeStatusPages(params,
  8419. // func(page *DescribeVolumeStatusOutput, lastPage bool) bool {
  8420. // pageNum++
  8421. // fmt.Println(page)
  8422. // return pageNum <= 3
  8423. // })
  8424. //
  8425. func (c *EC2) DescribeVolumeStatusPages(input *DescribeVolumeStatusInput, fn func(p *DescribeVolumeStatusOutput, lastPage bool) (shouldContinue bool)) error {
  8426. page, _ := c.DescribeVolumeStatusRequest(input)
  8427. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  8428. return page.EachPage(func(p interface{}, lastPage bool) bool {
  8429. return fn(p.(*DescribeVolumeStatusOutput), lastPage)
  8430. })
  8431. }
  8432. const opDescribeVolumes = "DescribeVolumes"
  8433. // DescribeVolumesRequest generates a "aws/request.Request" representing the
  8434. // client's request for the DescribeVolumes operation. The "output" return
  8435. // value can be used to capture response data after the request's "Send" method
  8436. // is called.
  8437. //
  8438. // See DescribeVolumes for usage and error information.
  8439. //
  8440. // Creating a request object using this method should be used when you want to inject
  8441. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8442. // access properties on the request object before or after sending the request. If
  8443. // you just want the service response, call the DescribeVolumes method directly
  8444. // instead.
  8445. //
  8446. // Note: You must call the "Send" method on the returned request object in order
  8447. // to execute the request.
  8448. //
  8449. // // Example sending a request using the DescribeVolumesRequest method.
  8450. // req, resp := client.DescribeVolumesRequest(params)
  8451. //
  8452. // err := req.Send()
  8453. // if err == nil { // resp is now filled
  8454. // fmt.Println(resp)
  8455. // }
  8456. //
  8457. func (c *EC2) DescribeVolumesRequest(input *DescribeVolumesInput) (req *request.Request, output *DescribeVolumesOutput) {
  8458. op := &request.Operation{
  8459. Name: opDescribeVolumes,
  8460. HTTPMethod: "POST",
  8461. HTTPPath: "/",
  8462. Paginator: &request.Paginator{
  8463. InputTokens: []string{"NextToken"},
  8464. OutputTokens: []string{"NextToken"},
  8465. LimitToken: "MaxResults",
  8466. TruncationToken: "",
  8467. },
  8468. }
  8469. if input == nil {
  8470. input = &DescribeVolumesInput{}
  8471. }
  8472. req = c.newRequest(op, input, output)
  8473. output = &DescribeVolumesOutput{}
  8474. req.Data = output
  8475. return
  8476. }
  8477. // DescribeVolumes API operation for Amazon Elastic Compute Cloud.
  8478. //
  8479. // Describes the specified EBS volumes.
  8480. //
  8481. // If you are describing a long list of volumes, you can paginate the output
  8482. // to make the list more manageable. The MaxResults parameter sets the maximum
  8483. // number of results returned in a single page. If the list of results exceeds
  8484. // your MaxResults value, then that number of results is returned along with
  8485. // a NextToken value that can be passed to a subsequent DescribeVolumes request
  8486. // to retrieve the remaining results.
  8487. //
  8488. // For more information about EBS volumes, see Amazon EBS Volumes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html)
  8489. // in the Amazon Elastic Compute Cloud User Guide.
  8490. //
  8491. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8492. // with awserr.Error's Code and Message methods to get detailed information about
  8493. // the error.
  8494. //
  8495. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8496. // API operation DescribeVolumes for usage and error information.
  8497. func (c *EC2) DescribeVolumes(input *DescribeVolumesInput) (*DescribeVolumesOutput, error) {
  8498. req, out := c.DescribeVolumesRequest(input)
  8499. err := req.Send()
  8500. return out, err
  8501. }
  8502. // DescribeVolumesPages iterates over the pages of a DescribeVolumes operation,
  8503. // calling the "fn" function with the response data for each page. To stop
  8504. // iterating, return false from the fn function.
  8505. //
  8506. // See DescribeVolumes method for more information on how to use this operation.
  8507. //
  8508. // Note: This operation can generate multiple requests to a service.
  8509. //
  8510. // // Example iterating over at most 3 pages of a DescribeVolumes operation.
  8511. // pageNum := 0
  8512. // err := client.DescribeVolumesPages(params,
  8513. // func(page *DescribeVolumesOutput, lastPage bool) bool {
  8514. // pageNum++
  8515. // fmt.Println(page)
  8516. // return pageNum <= 3
  8517. // })
  8518. //
  8519. func (c *EC2) DescribeVolumesPages(input *DescribeVolumesInput, fn func(p *DescribeVolumesOutput, lastPage bool) (shouldContinue bool)) error {
  8520. page, _ := c.DescribeVolumesRequest(input)
  8521. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  8522. return page.EachPage(func(p interface{}, lastPage bool) bool {
  8523. return fn(p.(*DescribeVolumesOutput), lastPage)
  8524. })
  8525. }
  8526. const opDescribeVpcAttribute = "DescribeVpcAttribute"
  8527. // DescribeVpcAttributeRequest generates a "aws/request.Request" representing the
  8528. // client's request for the DescribeVpcAttribute operation. The "output" return
  8529. // value can be used to capture response data after the request's "Send" method
  8530. // is called.
  8531. //
  8532. // See DescribeVpcAttribute for usage and error information.
  8533. //
  8534. // Creating a request object using this method should be used when you want to inject
  8535. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8536. // access properties on the request object before or after sending the request. If
  8537. // you just want the service response, call the DescribeVpcAttribute method directly
  8538. // instead.
  8539. //
  8540. // Note: You must call the "Send" method on the returned request object in order
  8541. // to execute the request.
  8542. //
  8543. // // Example sending a request using the DescribeVpcAttributeRequest method.
  8544. // req, resp := client.DescribeVpcAttributeRequest(params)
  8545. //
  8546. // err := req.Send()
  8547. // if err == nil { // resp is now filled
  8548. // fmt.Println(resp)
  8549. // }
  8550. //
  8551. func (c *EC2) DescribeVpcAttributeRequest(input *DescribeVpcAttributeInput) (req *request.Request, output *DescribeVpcAttributeOutput) {
  8552. op := &request.Operation{
  8553. Name: opDescribeVpcAttribute,
  8554. HTTPMethod: "POST",
  8555. HTTPPath: "/",
  8556. }
  8557. if input == nil {
  8558. input = &DescribeVpcAttributeInput{}
  8559. }
  8560. req = c.newRequest(op, input, output)
  8561. output = &DescribeVpcAttributeOutput{}
  8562. req.Data = output
  8563. return
  8564. }
  8565. // DescribeVpcAttribute API operation for Amazon Elastic Compute Cloud.
  8566. //
  8567. // Describes the specified attribute of the specified VPC. You can specify only
  8568. // one attribute at a time.
  8569. //
  8570. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8571. // with awserr.Error's Code and Message methods to get detailed information about
  8572. // the error.
  8573. //
  8574. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8575. // API operation DescribeVpcAttribute for usage and error information.
  8576. func (c *EC2) DescribeVpcAttribute(input *DescribeVpcAttributeInput) (*DescribeVpcAttributeOutput, error) {
  8577. req, out := c.DescribeVpcAttributeRequest(input)
  8578. err := req.Send()
  8579. return out, err
  8580. }
  8581. const opDescribeVpcClassicLink = "DescribeVpcClassicLink"
  8582. // DescribeVpcClassicLinkRequest generates a "aws/request.Request" representing the
  8583. // client's request for the DescribeVpcClassicLink operation. The "output" return
  8584. // value can be used to capture response data after the request's "Send" method
  8585. // is called.
  8586. //
  8587. // See DescribeVpcClassicLink for usage and error information.
  8588. //
  8589. // Creating a request object using this method should be used when you want to inject
  8590. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8591. // access properties on the request object before or after sending the request. If
  8592. // you just want the service response, call the DescribeVpcClassicLink method directly
  8593. // instead.
  8594. //
  8595. // Note: You must call the "Send" method on the returned request object in order
  8596. // to execute the request.
  8597. //
  8598. // // Example sending a request using the DescribeVpcClassicLinkRequest method.
  8599. // req, resp := client.DescribeVpcClassicLinkRequest(params)
  8600. //
  8601. // err := req.Send()
  8602. // if err == nil { // resp is now filled
  8603. // fmt.Println(resp)
  8604. // }
  8605. //
  8606. func (c *EC2) DescribeVpcClassicLinkRequest(input *DescribeVpcClassicLinkInput) (req *request.Request, output *DescribeVpcClassicLinkOutput) {
  8607. op := &request.Operation{
  8608. Name: opDescribeVpcClassicLink,
  8609. HTTPMethod: "POST",
  8610. HTTPPath: "/",
  8611. }
  8612. if input == nil {
  8613. input = &DescribeVpcClassicLinkInput{}
  8614. }
  8615. req = c.newRequest(op, input, output)
  8616. output = &DescribeVpcClassicLinkOutput{}
  8617. req.Data = output
  8618. return
  8619. }
  8620. // DescribeVpcClassicLink API operation for Amazon Elastic Compute Cloud.
  8621. //
  8622. // Describes the ClassicLink status of one or more VPCs.
  8623. //
  8624. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8625. // with awserr.Error's Code and Message methods to get detailed information about
  8626. // the error.
  8627. //
  8628. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8629. // API operation DescribeVpcClassicLink for usage and error information.
  8630. func (c *EC2) DescribeVpcClassicLink(input *DescribeVpcClassicLinkInput) (*DescribeVpcClassicLinkOutput, error) {
  8631. req, out := c.DescribeVpcClassicLinkRequest(input)
  8632. err := req.Send()
  8633. return out, err
  8634. }
  8635. const opDescribeVpcClassicLinkDnsSupport = "DescribeVpcClassicLinkDnsSupport"
  8636. // DescribeVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
  8637. // client's request for the DescribeVpcClassicLinkDnsSupport operation. The "output" return
  8638. // value can be used to capture response data after the request's "Send" method
  8639. // is called.
  8640. //
  8641. // See DescribeVpcClassicLinkDnsSupport for usage and error information.
  8642. //
  8643. // Creating a request object using this method should be used when you want to inject
  8644. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8645. // access properties on the request object before or after sending the request. If
  8646. // you just want the service response, call the DescribeVpcClassicLinkDnsSupport method directly
  8647. // instead.
  8648. //
  8649. // Note: You must call the "Send" method on the returned request object in order
  8650. // to execute the request.
  8651. //
  8652. // // Example sending a request using the DescribeVpcClassicLinkDnsSupportRequest method.
  8653. // req, resp := client.DescribeVpcClassicLinkDnsSupportRequest(params)
  8654. //
  8655. // err := req.Send()
  8656. // if err == nil { // resp is now filled
  8657. // fmt.Println(resp)
  8658. // }
  8659. //
  8660. func (c *EC2) DescribeVpcClassicLinkDnsSupportRequest(input *DescribeVpcClassicLinkDnsSupportInput) (req *request.Request, output *DescribeVpcClassicLinkDnsSupportOutput) {
  8661. op := &request.Operation{
  8662. Name: opDescribeVpcClassicLinkDnsSupport,
  8663. HTTPMethod: "POST",
  8664. HTTPPath: "/",
  8665. }
  8666. if input == nil {
  8667. input = &DescribeVpcClassicLinkDnsSupportInput{}
  8668. }
  8669. req = c.newRequest(op, input, output)
  8670. output = &DescribeVpcClassicLinkDnsSupportOutput{}
  8671. req.Data = output
  8672. return
  8673. }
  8674. // DescribeVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
  8675. //
  8676. // Describes the ClassicLink DNS support status of one or more VPCs. If enabled,
  8677. // the DNS hostname of a linked EC2-Classic instance resolves to its private
  8678. // IP address when addressed from an instance in the VPC to which it's linked.
  8679. // Similarly, the DNS hostname of an instance in a VPC resolves to its private
  8680. // IP address when addressed from a linked EC2-Classic instance. For more information
  8681. // about ClassicLink, see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
  8682. // in the Amazon Elastic Compute Cloud User Guide.
  8683. //
  8684. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8685. // with awserr.Error's Code and Message methods to get detailed information about
  8686. // the error.
  8687. //
  8688. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8689. // API operation DescribeVpcClassicLinkDnsSupport for usage and error information.
  8690. func (c *EC2) DescribeVpcClassicLinkDnsSupport(input *DescribeVpcClassicLinkDnsSupportInput) (*DescribeVpcClassicLinkDnsSupportOutput, error) {
  8691. req, out := c.DescribeVpcClassicLinkDnsSupportRequest(input)
  8692. err := req.Send()
  8693. return out, err
  8694. }
  8695. const opDescribeVpcEndpointServices = "DescribeVpcEndpointServices"
  8696. // DescribeVpcEndpointServicesRequest generates a "aws/request.Request" representing the
  8697. // client's request for the DescribeVpcEndpointServices operation. The "output" return
  8698. // value can be used to capture response data after the request's "Send" method
  8699. // is called.
  8700. //
  8701. // See DescribeVpcEndpointServices for usage and error information.
  8702. //
  8703. // Creating a request object using this method should be used when you want to inject
  8704. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8705. // access properties on the request object before or after sending the request. If
  8706. // you just want the service response, call the DescribeVpcEndpointServices method directly
  8707. // instead.
  8708. //
  8709. // Note: You must call the "Send" method on the returned request object in order
  8710. // to execute the request.
  8711. //
  8712. // // Example sending a request using the DescribeVpcEndpointServicesRequest method.
  8713. // req, resp := client.DescribeVpcEndpointServicesRequest(params)
  8714. //
  8715. // err := req.Send()
  8716. // if err == nil { // resp is now filled
  8717. // fmt.Println(resp)
  8718. // }
  8719. //
  8720. func (c *EC2) DescribeVpcEndpointServicesRequest(input *DescribeVpcEndpointServicesInput) (req *request.Request, output *DescribeVpcEndpointServicesOutput) {
  8721. op := &request.Operation{
  8722. Name: opDescribeVpcEndpointServices,
  8723. HTTPMethod: "POST",
  8724. HTTPPath: "/",
  8725. }
  8726. if input == nil {
  8727. input = &DescribeVpcEndpointServicesInput{}
  8728. }
  8729. req = c.newRequest(op, input, output)
  8730. output = &DescribeVpcEndpointServicesOutput{}
  8731. req.Data = output
  8732. return
  8733. }
  8734. // DescribeVpcEndpointServices API operation for Amazon Elastic Compute Cloud.
  8735. //
  8736. // Describes all supported AWS services that can be specified when creating
  8737. // a VPC endpoint.
  8738. //
  8739. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8740. // with awserr.Error's Code and Message methods to get detailed information about
  8741. // the error.
  8742. //
  8743. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8744. // API operation DescribeVpcEndpointServices for usage and error information.
  8745. func (c *EC2) DescribeVpcEndpointServices(input *DescribeVpcEndpointServicesInput) (*DescribeVpcEndpointServicesOutput, error) {
  8746. req, out := c.DescribeVpcEndpointServicesRequest(input)
  8747. err := req.Send()
  8748. return out, err
  8749. }
  8750. const opDescribeVpcEndpoints = "DescribeVpcEndpoints"
  8751. // DescribeVpcEndpointsRequest generates a "aws/request.Request" representing the
  8752. // client's request for the DescribeVpcEndpoints operation. The "output" return
  8753. // value can be used to capture response data after the request's "Send" method
  8754. // is called.
  8755. //
  8756. // See DescribeVpcEndpoints for usage and error information.
  8757. //
  8758. // Creating a request object using this method should be used when you want to inject
  8759. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8760. // access properties on the request object before or after sending the request. If
  8761. // you just want the service response, call the DescribeVpcEndpoints method directly
  8762. // instead.
  8763. //
  8764. // Note: You must call the "Send" method on the returned request object in order
  8765. // to execute the request.
  8766. //
  8767. // // Example sending a request using the DescribeVpcEndpointsRequest method.
  8768. // req, resp := client.DescribeVpcEndpointsRequest(params)
  8769. //
  8770. // err := req.Send()
  8771. // if err == nil { // resp is now filled
  8772. // fmt.Println(resp)
  8773. // }
  8774. //
  8775. func (c *EC2) DescribeVpcEndpointsRequest(input *DescribeVpcEndpointsInput) (req *request.Request, output *DescribeVpcEndpointsOutput) {
  8776. op := &request.Operation{
  8777. Name: opDescribeVpcEndpoints,
  8778. HTTPMethod: "POST",
  8779. HTTPPath: "/",
  8780. }
  8781. if input == nil {
  8782. input = &DescribeVpcEndpointsInput{}
  8783. }
  8784. req = c.newRequest(op, input, output)
  8785. output = &DescribeVpcEndpointsOutput{}
  8786. req.Data = output
  8787. return
  8788. }
  8789. // DescribeVpcEndpoints API operation for Amazon Elastic Compute Cloud.
  8790. //
  8791. // Describes one or more of your VPC endpoints.
  8792. //
  8793. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8794. // with awserr.Error's Code and Message methods to get detailed information about
  8795. // the error.
  8796. //
  8797. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8798. // API operation DescribeVpcEndpoints for usage and error information.
  8799. func (c *EC2) DescribeVpcEndpoints(input *DescribeVpcEndpointsInput) (*DescribeVpcEndpointsOutput, error) {
  8800. req, out := c.DescribeVpcEndpointsRequest(input)
  8801. err := req.Send()
  8802. return out, err
  8803. }
  8804. const opDescribeVpcPeeringConnections = "DescribeVpcPeeringConnections"
  8805. // DescribeVpcPeeringConnectionsRequest generates a "aws/request.Request" representing the
  8806. // client's request for the DescribeVpcPeeringConnections operation. The "output" return
  8807. // value can be used to capture response data after the request's "Send" method
  8808. // is called.
  8809. //
  8810. // See DescribeVpcPeeringConnections for usage and error information.
  8811. //
  8812. // Creating a request object using this method should be used when you want to inject
  8813. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8814. // access properties on the request object before or after sending the request. If
  8815. // you just want the service response, call the DescribeVpcPeeringConnections method directly
  8816. // instead.
  8817. //
  8818. // Note: You must call the "Send" method on the returned request object in order
  8819. // to execute the request.
  8820. //
  8821. // // Example sending a request using the DescribeVpcPeeringConnectionsRequest method.
  8822. // req, resp := client.DescribeVpcPeeringConnectionsRequest(params)
  8823. //
  8824. // err := req.Send()
  8825. // if err == nil { // resp is now filled
  8826. // fmt.Println(resp)
  8827. // }
  8828. //
  8829. func (c *EC2) DescribeVpcPeeringConnectionsRequest(input *DescribeVpcPeeringConnectionsInput) (req *request.Request, output *DescribeVpcPeeringConnectionsOutput) {
  8830. op := &request.Operation{
  8831. Name: opDescribeVpcPeeringConnections,
  8832. HTTPMethod: "POST",
  8833. HTTPPath: "/",
  8834. }
  8835. if input == nil {
  8836. input = &DescribeVpcPeeringConnectionsInput{}
  8837. }
  8838. req = c.newRequest(op, input, output)
  8839. output = &DescribeVpcPeeringConnectionsOutput{}
  8840. req.Data = output
  8841. return
  8842. }
  8843. // DescribeVpcPeeringConnections API operation for Amazon Elastic Compute Cloud.
  8844. //
  8845. // Describes one or more of your VPC peering connections.
  8846. //
  8847. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8848. // with awserr.Error's Code and Message methods to get detailed information about
  8849. // the error.
  8850. //
  8851. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8852. // API operation DescribeVpcPeeringConnections for usage and error information.
  8853. func (c *EC2) DescribeVpcPeeringConnections(input *DescribeVpcPeeringConnectionsInput) (*DescribeVpcPeeringConnectionsOutput, error) {
  8854. req, out := c.DescribeVpcPeeringConnectionsRequest(input)
  8855. err := req.Send()
  8856. return out, err
  8857. }
  8858. const opDescribeVpcs = "DescribeVpcs"
  8859. // DescribeVpcsRequest generates a "aws/request.Request" representing the
  8860. // client's request for the DescribeVpcs operation. The "output" return
  8861. // value can be used to capture response data after the request's "Send" method
  8862. // is called.
  8863. //
  8864. // See DescribeVpcs for usage and error information.
  8865. //
  8866. // Creating a request object using this method should be used when you want to inject
  8867. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8868. // access properties on the request object before or after sending the request. If
  8869. // you just want the service response, call the DescribeVpcs method directly
  8870. // instead.
  8871. //
  8872. // Note: You must call the "Send" method on the returned request object in order
  8873. // to execute the request.
  8874. //
  8875. // // Example sending a request using the DescribeVpcsRequest method.
  8876. // req, resp := client.DescribeVpcsRequest(params)
  8877. //
  8878. // err := req.Send()
  8879. // if err == nil { // resp is now filled
  8880. // fmt.Println(resp)
  8881. // }
  8882. //
  8883. func (c *EC2) DescribeVpcsRequest(input *DescribeVpcsInput) (req *request.Request, output *DescribeVpcsOutput) {
  8884. op := &request.Operation{
  8885. Name: opDescribeVpcs,
  8886. HTTPMethod: "POST",
  8887. HTTPPath: "/",
  8888. }
  8889. if input == nil {
  8890. input = &DescribeVpcsInput{}
  8891. }
  8892. req = c.newRequest(op, input, output)
  8893. output = &DescribeVpcsOutput{}
  8894. req.Data = output
  8895. return
  8896. }
  8897. // DescribeVpcs API operation for Amazon Elastic Compute Cloud.
  8898. //
  8899. // Describes one or more of your VPCs.
  8900. //
  8901. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8902. // with awserr.Error's Code and Message methods to get detailed information about
  8903. // the error.
  8904. //
  8905. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8906. // API operation DescribeVpcs for usage and error information.
  8907. func (c *EC2) DescribeVpcs(input *DescribeVpcsInput) (*DescribeVpcsOutput, error) {
  8908. req, out := c.DescribeVpcsRequest(input)
  8909. err := req.Send()
  8910. return out, err
  8911. }
  8912. const opDescribeVpnConnections = "DescribeVpnConnections"
  8913. // DescribeVpnConnectionsRequest generates a "aws/request.Request" representing the
  8914. // client's request for the DescribeVpnConnections operation. The "output" return
  8915. // value can be used to capture response data after the request's "Send" method
  8916. // is called.
  8917. //
  8918. // See DescribeVpnConnections for usage and error information.
  8919. //
  8920. // Creating a request object using this method should be used when you want to inject
  8921. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8922. // access properties on the request object before or after sending the request. If
  8923. // you just want the service response, call the DescribeVpnConnections method directly
  8924. // instead.
  8925. //
  8926. // Note: You must call the "Send" method on the returned request object in order
  8927. // to execute the request.
  8928. //
  8929. // // Example sending a request using the DescribeVpnConnectionsRequest method.
  8930. // req, resp := client.DescribeVpnConnectionsRequest(params)
  8931. //
  8932. // err := req.Send()
  8933. // if err == nil { // resp is now filled
  8934. // fmt.Println(resp)
  8935. // }
  8936. //
  8937. func (c *EC2) DescribeVpnConnectionsRequest(input *DescribeVpnConnectionsInput) (req *request.Request, output *DescribeVpnConnectionsOutput) {
  8938. op := &request.Operation{
  8939. Name: opDescribeVpnConnections,
  8940. HTTPMethod: "POST",
  8941. HTTPPath: "/",
  8942. }
  8943. if input == nil {
  8944. input = &DescribeVpnConnectionsInput{}
  8945. }
  8946. req = c.newRequest(op, input, output)
  8947. output = &DescribeVpnConnectionsOutput{}
  8948. req.Data = output
  8949. return
  8950. }
  8951. // DescribeVpnConnections API operation for Amazon Elastic Compute Cloud.
  8952. //
  8953. // Describes one or more of your VPN connections.
  8954. //
  8955. // For more information about VPN connections, see Adding a Hardware Virtual
  8956. // Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  8957. // in the Amazon Virtual Private Cloud User Guide.
  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 DescribeVpnConnections for usage and error information.
  8965. func (c *EC2) DescribeVpnConnections(input *DescribeVpnConnectionsInput) (*DescribeVpnConnectionsOutput, error) {
  8966. req, out := c.DescribeVpnConnectionsRequest(input)
  8967. err := req.Send()
  8968. return out, err
  8969. }
  8970. const opDescribeVpnGateways = "DescribeVpnGateways"
  8971. // DescribeVpnGatewaysRequest generates a "aws/request.Request" representing the
  8972. // client's request for the DescribeVpnGateways operation. The "output" return
  8973. // value can be used to capture response data after the request's "Send" method
  8974. // is called.
  8975. //
  8976. // See DescribeVpnGateways for usage and error information.
  8977. //
  8978. // Creating a request object using this method should be used when you want to inject
  8979. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8980. // access properties on the request object before or after sending the request. If
  8981. // you just want the service response, call the DescribeVpnGateways method directly
  8982. // instead.
  8983. //
  8984. // Note: You must call the "Send" method on the returned request object in order
  8985. // to execute the request.
  8986. //
  8987. // // Example sending a request using the DescribeVpnGatewaysRequest method.
  8988. // req, resp := client.DescribeVpnGatewaysRequest(params)
  8989. //
  8990. // err := req.Send()
  8991. // if err == nil { // resp is now filled
  8992. // fmt.Println(resp)
  8993. // }
  8994. //
  8995. func (c *EC2) DescribeVpnGatewaysRequest(input *DescribeVpnGatewaysInput) (req *request.Request, output *DescribeVpnGatewaysOutput) {
  8996. op := &request.Operation{
  8997. Name: opDescribeVpnGateways,
  8998. HTTPMethod: "POST",
  8999. HTTPPath: "/",
  9000. }
  9001. if input == nil {
  9002. input = &DescribeVpnGatewaysInput{}
  9003. }
  9004. req = c.newRequest(op, input, output)
  9005. output = &DescribeVpnGatewaysOutput{}
  9006. req.Data = output
  9007. return
  9008. }
  9009. // DescribeVpnGateways API operation for Amazon Elastic Compute Cloud.
  9010. //
  9011. // Describes one or more of your virtual private gateways.
  9012. //
  9013. // For more information about virtual private gateways, see Adding an IPsec
  9014. // Hardware VPN to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  9015. // in the Amazon Virtual Private Cloud User Guide.
  9016. //
  9017. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9018. // with awserr.Error's Code and Message methods to get detailed information about
  9019. // the error.
  9020. //
  9021. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9022. // API operation DescribeVpnGateways for usage and error information.
  9023. func (c *EC2) DescribeVpnGateways(input *DescribeVpnGatewaysInput) (*DescribeVpnGatewaysOutput, error) {
  9024. req, out := c.DescribeVpnGatewaysRequest(input)
  9025. err := req.Send()
  9026. return out, err
  9027. }
  9028. const opDetachClassicLinkVpc = "DetachClassicLinkVpc"
  9029. // DetachClassicLinkVpcRequest generates a "aws/request.Request" representing the
  9030. // client's request for the DetachClassicLinkVpc operation. The "output" return
  9031. // value can be used to capture response data after the request's "Send" method
  9032. // is called.
  9033. //
  9034. // See DetachClassicLinkVpc for usage and error information.
  9035. //
  9036. // Creating a request object using this method should be used when you want to inject
  9037. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9038. // access properties on the request object before or after sending the request. If
  9039. // you just want the service response, call the DetachClassicLinkVpc method directly
  9040. // instead.
  9041. //
  9042. // Note: You must call the "Send" method on the returned request object in order
  9043. // to execute the request.
  9044. //
  9045. // // Example sending a request using the DetachClassicLinkVpcRequest method.
  9046. // req, resp := client.DetachClassicLinkVpcRequest(params)
  9047. //
  9048. // err := req.Send()
  9049. // if err == nil { // resp is now filled
  9050. // fmt.Println(resp)
  9051. // }
  9052. //
  9053. func (c *EC2) DetachClassicLinkVpcRequest(input *DetachClassicLinkVpcInput) (req *request.Request, output *DetachClassicLinkVpcOutput) {
  9054. op := &request.Operation{
  9055. Name: opDetachClassicLinkVpc,
  9056. HTTPMethod: "POST",
  9057. HTTPPath: "/",
  9058. }
  9059. if input == nil {
  9060. input = &DetachClassicLinkVpcInput{}
  9061. }
  9062. req = c.newRequest(op, input, output)
  9063. output = &DetachClassicLinkVpcOutput{}
  9064. req.Data = output
  9065. return
  9066. }
  9067. // DetachClassicLinkVpc API operation for Amazon Elastic Compute Cloud.
  9068. //
  9069. // Unlinks (detaches) a linked EC2-Classic instance from a VPC. After the instance
  9070. // has been unlinked, the VPC security groups are no longer associated with
  9071. // it. An instance is automatically unlinked from a VPC when it's stopped.
  9072. //
  9073. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9074. // with awserr.Error's Code and Message methods to get detailed information about
  9075. // the error.
  9076. //
  9077. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9078. // API operation DetachClassicLinkVpc for usage and error information.
  9079. func (c *EC2) DetachClassicLinkVpc(input *DetachClassicLinkVpcInput) (*DetachClassicLinkVpcOutput, error) {
  9080. req, out := c.DetachClassicLinkVpcRequest(input)
  9081. err := req.Send()
  9082. return out, err
  9083. }
  9084. const opDetachInternetGateway = "DetachInternetGateway"
  9085. // DetachInternetGatewayRequest generates a "aws/request.Request" representing the
  9086. // client's request for the DetachInternetGateway operation. The "output" return
  9087. // value can be used to capture response data after the request's "Send" method
  9088. // is called.
  9089. //
  9090. // See DetachInternetGateway for usage and error information.
  9091. //
  9092. // Creating a request object using this method should be used when you want to inject
  9093. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9094. // access properties on the request object before or after sending the request. If
  9095. // you just want the service response, call the DetachInternetGateway method directly
  9096. // instead.
  9097. //
  9098. // Note: You must call the "Send" method on the returned request object in order
  9099. // to execute the request.
  9100. //
  9101. // // Example sending a request using the DetachInternetGatewayRequest method.
  9102. // req, resp := client.DetachInternetGatewayRequest(params)
  9103. //
  9104. // err := req.Send()
  9105. // if err == nil { // resp is now filled
  9106. // fmt.Println(resp)
  9107. // }
  9108. //
  9109. func (c *EC2) DetachInternetGatewayRequest(input *DetachInternetGatewayInput) (req *request.Request, output *DetachInternetGatewayOutput) {
  9110. op := &request.Operation{
  9111. Name: opDetachInternetGateway,
  9112. HTTPMethod: "POST",
  9113. HTTPPath: "/",
  9114. }
  9115. if input == nil {
  9116. input = &DetachInternetGatewayInput{}
  9117. }
  9118. req = c.newRequest(op, input, output)
  9119. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  9120. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  9121. output = &DetachInternetGatewayOutput{}
  9122. req.Data = output
  9123. return
  9124. }
  9125. // DetachInternetGateway API operation for Amazon Elastic Compute Cloud.
  9126. //
  9127. // Detaches an Internet gateway from a VPC, disabling connectivity between the
  9128. // Internet and the VPC. The VPC must not contain any running instances with
  9129. // Elastic IP addresses.
  9130. //
  9131. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9132. // with awserr.Error's Code and Message methods to get detailed information about
  9133. // the error.
  9134. //
  9135. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9136. // API operation DetachInternetGateway for usage and error information.
  9137. func (c *EC2) DetachInternetGateway(input *DetachInternetGatewayInput) (*DetachInternetGatewayOutput, error) {
  9138. req, out := c.DetachInternetGatewayRequest(input)
  9139. err := req.Send()
  9140. return out, err
  9141. }
  9142. const opDetachNetworkInterface = "DetachNetworkInterface"
  9143. // DetachNetworkInterfaceRequest generates a "aws/request.Request" representing the
  9144. // client's request for the DetachNetworkInterface operation. The "output" return
  9145. // value can be used to capture response data after the request's "Send" method
  9146. // is called.
  9147. //
  9148. // See DetachNetworkInterface for usage and error information.
  9149. //
  9150. // Creating a request object using this method should be used when you want to inject
  9151. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9152. // access properties on the request object before or after sending the request. If
  9153. // you just want the service response, call the DetachNetworkInterface method directly
  9154. // instead.
  9155. //
  9156. // Note: You must call the "Send" method on the returned request object in order
  9157. // to execute the request.
  9158. //
  9159. // // Example sending a request using the DetachNetworkInterfaceRequest method.
  9160. // req, resp := client.DetachNetworkInterfaceRequest(params)
  9161. //
  9162. // err := req.Send()
  9163. // if err == nil { // resp is now filled
  9164. // fmt.Println(resp)
  9165. // }
  9166. //
  9167. func (c *EC2) DetachNetworkInterfaceRequest(input *DetachNetworkInterfaceInput) (req *request.Request, output *DetachNetworkInterfaceOutput) {
  9168. op := &request.Operation{
  9169. Name: opDetachNetworkInterface,
  9170. HTTPMethod: "POST",
  9171. HTTPPath: "/",
  9172. }
  9173. if input == nil {
  9174. input = &DetachNetworkInterfaceInput{}
  9175. }
  9176. req = c.newRequest(op, input, output)
  9177. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  9178. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  9179. output = &DetachNetworkInterfaceOutput{}
  9180. req.Data = output
  9181. return
  9182. }
  9183. // DetachNetworkInterface API operation for Amazon Elastic Compute Cloud.
  9184. //
  9185. // Detaches a network interface from an instance.
  9186. //
  9187. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9188. // with awserr.Error's Code and Message methods to get detailed information about
  9189. // the error.
  9190. //
  9191. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9192. // API operation DetachNetworkInterface for usage and error information.
  9193. func (c *EC2) DetachNetworkInterface(input *DetachNetworkInterfaceInput) (*DetachNetworkInterfaceOutput, error) {
  9194. req, out := c.DetachNetworkInterfaceRequest(input)
  9195. err := req.Send()
  9196. return out, err
  9197. }
  9198. const opDetachVolume = "DetachVolume"
  9199. // DetachVolumeRequest generates a "aws/request.Request" representing the
  9200. // client's request for the DetachVolume operation. The "output" return
  9201. // value can be used to capture response data after the request's "Send" method
  9202. // is called.
  9203. //
  9204. // See DetachVolume for usage and error information.
  9205. //
  9206. // Creating a request object using this method should be used when you want to inject
  9207. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9208. // access properties on the request object before or after sending the request. If
  9209. // you just want the service response, call the DetachVolume method directly
  9210. // instead.
  9211. //
  9212. // Note: You must call the "Send" method on the returned request object in order
  9213. // to execute the request.
  9214. //
  9215. // // Example sending a request using the DetachVolumeRequest method.
  9216. // req, resp := client.DetachVolumeRequest(params)
  9217. //
  9218. // err := req.Send()
  9219. // if err == nil { // resp is now filled
  9220. // fmt.Println(resp)
  9221. // }
  9222. //
  9223. func (c *EC2) DetachVolumeRequest(input *DetachVolumeInput) (req *request.Request, output *VolumeAttachment) {
  9224. op := &request.Operation{
  9225. Name: opDetachVolume,
  9226. HTTPMethod: "POST",
  9227. HTTPPath: "/",
  9228. }
  9229. if input == nil {
  9230. input = &DetachVolumeInput{}
  9231. }
  9232. req = c.newRequest(op, input, output)
  9233. output = &VolumeAttachment{}
  9234. req.Data = output
  9235. return
  9236. }
  9237. // DetachVolume API operation for Amazon Elastic Compute Cloud.
  9238. //
  9239. // Detaches an EBS volume from an instance. Make sure to unmount any file systems
  9240. // on the device within your operating system before detaching the volume. Failure
  9241. // to do so can result in the volume becoming stuck in the busy state while
  9242. // detaching. If this happens, detachment can be delayed indefinitely until
  9243. // you unmount the volume, force detachment, reboot the instance, or all three.
  9244. // If an EBS volume is the root device of an instance, it can't be detached
  9245. // while the instance is running. To detach the root volume, stop the instance
  9246. // first.
  9247. //
  9248. // When a volume with an AWS Marketplace product code is detached from an instance,
  9249. // the product code is no longer associated with the instance.
  9250. //
  9251. // For more information, see Detaching an Amazon EBS Volume (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-detaching-volume.html)
  9252. // in the Amazon Elastic Compute Cloud User Guide.
  9253. //
  9254. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9255. // with awserr.Error's Code and Message methods to get detailed information about
  9256. // the error.
  9257. //
  9258. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9259. // API operation DetachVolume for usage and error information.
  9260. func (c *EC2) DetachVolume(input *DetachVolumeInput) (*VolumeAttachment, error) {
  9261. req, out := c.DetachVolumeRequest(input)
  9262. err := req.Send()
  9263. return out, err
  9264. }
  9265. const opDetachVpnGateway = "DetachVpnGateway"
  9266. // DetachVpnGatewayRequest generates a "aws/request.Request" representing the
  9267. // client's request for the DetachVpnGateway operation. The "output" return
  9268. // value can be used to capture response data after the request's "Send" method
  9269. // is called.
  9270. //
  9271. // See DetachVpnGateway for usage and error information.
  9272. //
  9273. // Creating a request object using this method should be used when you want to inject
  9274. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9275. // access properties on the request object before or after sending the request. If
  9276. // you just want the service response, call the DetachVpnGateway method directly
  9277. // instead.
  9278. //
  9279. // Note: You must call the "Send" method on the returned request object in order
  9280. // to execute the request.
  9281. //
  9282. // // Example sending a request using the DetachVpnGatewayRequest method.
  9283. // req, resp := client.DetachVpnGatewayRequest(params)
  9284. //
  9285. // err := req.Send()
  9286. // if err == nil { // resp is now filled
  9287. // fmt.Println(resp)
  9288. // }
  9289. //
  9290. func (c *EC2) DetachVpnGatewayRequest(input *DetachVpnGatewayInput) (req *request.Request, output *DetachVpnGatewayOutput) {
  9291. op := &request.Operation{
  9292. Name: opDetachVpnGateway,
  9293. HTTPMethod: "POST",
  9294. HTTPPath: "/",
  9295. }
  9296. if input == nil {
  9297. input = &DetachVpnGatewayInput{}
  9298. }
  9299. req = c.newRequest(op, input, output)
  9300. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  9301. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  9302. output = &DetachVpnGatewayOutput{}
  9303. req.Data = output
  9304. return
  9305. }
  9306. // DetachVpnGateway API operation for Amazon Elastic Compute Cloud.
  9307. //
  9308. // Detaches a virtual private gateway from a VPC. You do this if you're planning
  9309. // to turn off the VPC and not use it anymore. You can confirm a virtual private
  9310. // gateway has been completely detached from a VPC by describing the virtual
  9311. // private gateway (any attachments to the virtual private gateway are also
  9312. // described).
  9313. //
  9314. // You must wait for the attachment's state to switch to detached before you
  9315. // can delete the VPC or attach a different VPC to the virtual private gateway.
  9316. //
  9317. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9318. // with awserr.Error's Code and Message methods to get detailed information about
  9319. // the error.
  9320. //
  9321. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9322. // API operation DetachVpnGateway for usage and error information.
  9323. func (c *EC2) DetachVpnGateway(input *DetachVpnGatewayInput) (*DetachVpnGatewayOutput, error) {
  9324. req, out := c.DetachVpnGatewayRequest(input)
  9325. err := req.Send()
  9326. return out, err
  9327. }
  9328. const opDisableVgwRoutePropagation = "DisableVgwRoutePropagation"
  9329. // DisableVgwRoutePropagationRequest generates a "aws/request.Request" representing the
  9330. // client's request for the DisableVgwRoutePropagation operation. The "output" return
  9331. // value can be used to capture response data after the request's "Send" method
  9332. // is called.
  9333. //
  9334. // See DisableVgwRoutePropagation for usage and error information.
  9335. //
  9336. // Creating a request object using this method should be used when you want to inject
  9337. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9338. // access properties on the request object before or after sending the request. If
  9339. // you just want the service response, call the DisableVgwRoutePropagation method directly
  9340. // instead.
  9341. //
  9342. // Note: You must call the "Send" method on the returned request object in order
  9343. // to execute the request.
  9344. //
  9345. // // Example sending a request using the DisableVgwRoutePropagationRequest method.
  9346. // req, resp := client.DisableVgwRoutePropagationRequest(params)
  9347. //
  9348. // err := req.Send()
  9349. // if err == nil { // resp is now filled
  9350. // fmt.Println(resp)
  9351. // }
  9352. //
  9353. func (c *EC2) DisableVgwRoutePropagationRequest(input *DisableVgwRoutePropagationInput) (req *request.Request, output *DisableVgwRoutePropagationOutput) {
  9354. op := &request.Operation{
  9355. Name: opDisableVgwRoutePropagation,
  9356. HTTPMethod: "POST",
  9357. HTTPPath: "/",
  9358. }
  9359. if input == nil {
  9360. input = &DisableVgwRoutePropagationInput{}
  9361. }
  9362. req = c.newRequest(op, input, output)
  9363. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  9364. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  9365. output = &DisableVgwRoutePropagationOutput{}
  9366. req.Data = output
  9367. return
  9368. }
  9369. // DisableVgwRoutePropagation API operation for Amazon Elastic Compute Cloud.
  9370. //
  9371. // Disables a virtual private gateway (VGW) from propagating routes to a specified
  9372. // route table of a VPC.
  9373. //
  9374. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9375. // with awserr.Error's Code and Message methods to get detailed information about
  9376. // the error.
  9377. //
  9378. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9379. // API operation DisableVgwRoutePropagation for usage and error information.
  9380. func (c *EC2) DisableVgwRoutePropagation(input *DisableVgwRoutePropagationInput) (*DisableVgwRoutePropagationOutput, error) {
  9381. req, out := c.DisableVgwRoutePropagationRequest(input)
  9382. err := req.Send()
  9383. return out, err
  9384. }
  9385. const opDisableVpcClassicLink = "DisableVpcClassicLink"
  9386. // DisableVpcClassicLinkRequest generates a "aws/request.Request" representing the
  9387. // client's request for the DisableVpcClassicLink operation. The "output" return
  9388. // value can be used to capture response data after the request's "Send" method
  9389. // is called.
  9390. //
  9391. // See DisableVpcClassicLink for usage and error information.
  9392. //
  9393. // Creating a request object using this method should be used when you want to inject
  9394. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9395. // access properties on the request object before or after sending the request. If
  9396. // you just want the service response, call the DisableVpcClassicLink method directly
  9397. // instead.
  9398. //
  9399. // Note: You must call the "Send" method on the returned request object in order
  9400. // to execute the request.
  9401. //
  9402. // // Example sending a request using the DisableVpcClassicLinkRequest method.
  9403. // req, resp := client.DisableVpcClassicLinkRequest(params)
  9404. //
  9405. // err := req.Send()
  9406. // if err == nil { // resp is now filled
  9407. // fmt.Println(resp)
  9408. // }
  9409. //
  9410. func (c *EC2) DisableVpcClassicLinkRequest(input *DisableVpcClassicLinkInput) (req *request.Request, output *DisableVpcClassicLinkOutput) {
  9411. op := &request.Operation{
  9412. Name: opDisableVpcClassicLink,
  9413. HTTPMethod: "POST",
  9414. HTTPPath: "/",
  9415. }
  9416. if input == nil {
  9417. input = &DisableVpcClassicLinkInput{}
  9418. }
  9419. req = c.newRequest(op, input, output)
  9420. output = &DisableVpcClassicLinkOutput{}
  9421. req.Data = output
  9422. return
  9423. }
  9424. // DisableVpcClassicLink API operation for Amazon Elastic Compute Cloud.
  9425. //
  9426. // Disables ClassicLink for a VPC. You cannot disable ClassicLink for a VPC
  9427. // that has EC2-Classic instances linked to it.
  9428. //
  9429. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9430. // with awserr.Error's Code and Message methods to get detailed information about
  9431. // the error.
  9432. //
  9433. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9434. // API operation DisableVpcClassicLink for usage and error information.
  9435. func (c *EC2) DisableVpcClassicLink(input *DisableVpcClassicLinkInput) (*DisableVpcClassicLinkOutput, error) {
  9436. req, out := c.DisableVpcClassicLinkRequest(input)
  9437. err := req.Send()
  9438. return out, err
  9439. }
  9440. const opDisableVpcClassicLinkDnsSupport = "DisableVpcClassicLinkDnsSupport"
  9441. // DisableVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
  9442. // client's request for the DisableVpcClassicLinkDnsSupport operation. The "output" return
  9443. // value can be used to capture response data after the request's "Send" method
  9444. // is called.
  9445. //
  9446. // See DisableVpcClassicLinkDnsSupport for usage and error information.
  9447. //
  9448. // Creating a request object using this method should be used when you want to inject
  9449. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9450. // access properties on the request object before or after sending the request. If
  9451. // you just want the service response, call the DisableVpcClassicLinkDnsSupport method directly
  9452. // instead.
  9453. //
  9454. // Note: You must call the "Send" method on the returned request object in order
  9455. // to execute the request.
  9456. //
  9457. // // Example sending a request using the DisableVpcClassicLinkDnsSupportRequest method.
  9458. // req, resp := client.DisableVpcClassicLinkDnsSupportRequest(params)
  9459. //
  9460. // err := req.Send()
  9461. // if err == nil { // resp is now filled
  9462. // fmt.Println(resp)
  9463. // }
  9464. //
  9465. func (c *EC2) DisableVpcClassicLinkDnsSupportRequest(input *DisableVpcClassicLinkDnsSupportInput) (req *request.Request, output *DisableVpcClassicLinkDnsSupportOutput) {
  9466. op := &request.Operation{
  9467. Name: opDisableVpcClassicLinkDnsSupport,
  9468. HTTPMethod: "POST",
  9469. HTTPPath: "/",
  9470. }
  9471. if input == nil {
  9472. input = &DisableVpcClassicLinkDnsSupportInput{}
  9473. }
  9474. req = c.newRequest(op, input, output)
  9475. output = &DisableVpcClassicLinkDnsSupportOutput{}
  9476. req.Data = output
  9477. return
  9478. }
  9479. // DisableVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
  9480. //
  9481. // Disables ClassicLink DNS support for a VPC. If disabled, DNS hostnames resolve
  9482. // to public IP addresses when addressed between a linked EC2-Classic instance
  9483. // and instances in the VPC to which it's linked. For more information about
  9484. // ClassicLink, see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
  9485. // in the Amazon Elastic Compute Cloud User Guide.
  9486. //
  9487. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9488. // with awserr.Error's Code and Message methods to get detailed information about
  9489. // the error.
  9490. //
  9491. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9492. // API operation DisableVpcClassicLinkDnsSupport for usage and error information.
  9493. func (c *EC2) DisableVpcClassicLinkDnsSupport(input *DisableVpcClassicLinkDnsSupportInput) (*DisableVpcClassicLinkDnsSupportOutput, error) {
  9494. req, out := c.DisableVpcClassicLinkDnsSupportRequest(input)
  9495. err := req.Send()
  9496. return out, err
  9497. }
  9498. const opDisassociateAddress = "DisassociateAddress"
  9499. // DisassociateAddressRequest generates a "aws/request.Request" representing the
  9500. // client's request for the DisassociateAddress operation. The "output" return
  9501. // value can be used to capture response data after the request's "Send" method
  9502. // is called.
  9503. //
  9504. // See DisassociateAddress for usage and error information.
  9505. //
  9506. // Creating a request object using this method should be used when you want to inject
  9507. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9508. // access properties on the request object before or after sending the request. If
  9509. // you just want the service response, call the DisassociateAddress method directly
  9510. // instead.
  9511. //
  9512. // Note: You must call the "Send" method on the returned request object in order
  9513. // to execute the request.
  9514. //
  9515. // // Example sending a request using the DisassociateAddressRequest method.
  9516. // req, resp := client.DisassociateAddressRequest(params)
  9517. //
  9518. // err := req.Send()
  9519. // if err == nil { // resp is now filled
  9520. // fmt.Println(resp)
  9521. // }
  9522. //
  9523. func (c *EC2) DisassociateAddressRequest(input *DisassociateAddressInput) (req *request.Request, output *DisassociateAddressOutput) {
  9524. op := &request.Operation{
  9525. Name: opDisassociateAddress,
  9526. HTTPMethod: "POST",
  9527. HTTPPath: "/",
  9528. }
  9529. if input == nil {
  9530. input = &DisassociateAddressInput{}
  9531. }
  9532. req = c.newRequest(op, input, output)
  9533. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  9534. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  9535. output = &DisassociateAddressOutput{}
  9536. req.Data = output
  9537. return
  9538. }
  9539. // DisassociateAddress API operation for Amazon Elastic Compute Cloud.
  9540. //
  9541. // Disassociates an Elastic IP address from the instance or network interface
  9542. // it's associated with.
  9543. //
  9544. // An Elastic IP address is for use in either the EC2-Classic platform or in
  9545. // a VPC. For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  9546. // in the Amazon Elastic Compute Cloud User Guide.
  9547. //
  9548. // This is an idempotent operation. If you perform the operation more than once,
  9549. // Amazon EC2 doesn't return an error.
  9550. //
  9551. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9552. // with awserr.Error's Code and Message methods to get detailed information about
  9553. // the error.
  9554. //
  9555. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9556. // API operation DisassociateAddress for usage and error information.
  9557. func (c *EC2) DisassociateAddress(input *DisassociateAddressInput) (*DisassociateAddressOutput, error) {
  9558. req, out := c.DisassociateAddressRequest(input)
  9559. err := req.Send()
  9560. return out, err
  9561. }
  9562. const opDisassociateRouteTable = "DisassociateRouteTable"
  9563. // DisassociateRouteTableRequest generates a "aws/request.Request" representing the
  9564. // client's request for the DisassociateRouteTable operation. The "output" return
  9565. // value can be used to capture response data after the request's "Send" method
  9566. // is called.
  9567. //
  9568. // See DisassociateRouteTable for usage and error information.
  9569. //
  9570. // Creating a request object using this method should be used when you want to inject
  9571. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9572. // access properties on the request object before or after sending the request. If
  9573. // you just want the service response, call the DisassociateRouteTable method directly
  9574. // instead.
  9575. //
  9576. // Note: You must call the "Send" method on the returned request object in order
  9577. // to execute the request.
  9578. //
  9579. // // Example sending a request using the DisassociateRouteTableRequest method.
  9580. // req, resp := client.DisassociateRouteTableRequest(params)
  9581. //
  9582. // err := req.Send()
  9583. // if err == nil { // resp is now filled
  9584. // fmt.Println(resp)
  9585. // }
  9586. //
  9587. func (c *EC2) DisassociateRouteTableRequest(input *DisassociateRouteTableInput) (req *request.Request, output *DisassociateRouteTableOutput) {
  9588. op := &request.Operation{
  9589. Name: opDisassociateRouteTable,
  9590. HTTPMethod: "POST",
  9591. HTTPPath: "/",
  9592. }
  9593. if input == nil {
  9594. input = &DisassociateRouteTableInput{}
  9595. }
  9596. req = c.newRequest(op, input, output)
  9597. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  9598. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  9599. output = &DisassociateRouteTableOutput{}
  9600. req.Data = output
  9601. return
  9602. }
  9603. // DisassociateRouteTable API operation for Amazon Elastic Compute Cloud.
  9604. //
  9605. // Disassociates a subnet from a route table.
  9606. //
  9607. // After you perform this action, the subnet no longer uses the routes in the
  9608. // route table. Instead, it uses the routes in the VPC's main route table. For
  9609. // more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  9610. // in the Amazon Virtual Private Cloud User Guide.
  9611. //
  9612. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9613. // with awserr.Error's Code and Message methods to get detailed information about
  9614. // the error.
  9615. //
  9616. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9617. // API operation DisassociateRouteTable for usage and error information.
  9618. func (c *EC2) DisassociateRouteTable(input *DisassociateRouteTableInput) (*DisassociateRouteTableOutput, error) {
  9619. req, out := c.DisassociateRouteTableRequest(input)
  9620. err := req.Send()
  9621. return out, err
  9622. }
  9623. const opEnableVgwRoutePropagation = "EnableVgwRoutePropagation"
  9624. // EnableVgwRoutePropagationRequest generates a "aws/request.Request" representing the
  9625. // client's request for the EnableVgwRoutePropagation operation. The "output" return
  9626. // value can be used to capture response data after the request's "Send" method
  9627. // is called.
  9628. //
  9629. // See EnableVgwRoutePropagation for usage and error information.
  9630. //
  9631. // Creating a request object using this method should be used when you want to inject
  9632. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9633. // access properties on the request object before or after sending the request. If
  9634. // you just want the service response, call the EnableVgwRoutePropagation method directly
  9635. // instead.
  9636. //
  9637. // Note: You must call the "Send" method on the returned request object in order
  9638. // to execute the request.
  9639. //
  9640. // // Example sending a request using the EnableVgwRoutePropagationRequest method.
  9641. // req, resp := client.EnableVgwRoutePropagationRequest(params)
  9642. //
  9643. // err := req.Send()
  9644. // if err == nil { // resp is now filled
  9645. // fmt.Println(resp)
  9646. // }
  9647. //
  9648. func (c *EC2) EnableVgwRoutePropagationRequest(input *EnableVgwRoutePropagationInput) (req *request.Request, output *EnableVgwRoutePropagationOutput) {
  9649. op := &request.Operation{
  9650. Name: opEnableVgwRoutePropagation,
  9651. HTTPMethod: "POST",
  9652. HTTPPath: "/",
  9653. }
  9654. if input == nil {
  9655. input = &EnableVgwRoutePropagationInput{}
  9656. }
  9657. req = c.newRequest(op, input, output)
  9658. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  9659. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  9660. output = &EnableVgwRoutePropagationOutput{}
  9661. req.Data = output
  9662. return
  9663. }
  9664. // EnableVgwRoutePropagation API operation for Amazon Elastic Compute Cloud.
  9665. //
  9666. // Enables a virtual private gateway (VGW) to propagate routes to the specified
  9667. // route table of a VPC.
  9668. //
  9669. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9670. // with awserr.Error's Code and Message methods to get detailed information about
  9671. // the error.
  9672. //
  9673. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9674. // API operation EnableVgwRoutePropagation for usage and error information.
  9675. func (c *EC2) EnableVgwRoutePropagation(input *EnableVgwRoutePropagationInput) (*EnableVgwRoutePropagationOutput, error) {
  9676. req, out := c.EnableVgwRoutePropagationRequest(input)
  9677. err := req.Send()
  9678. return out, err
  9679. }
  9680. const opEnableVolumeIO = "EnableVolumeIO"
  9681. // EnableVolumeIORequest generates a "aws/request.Request" representing the
  9682. // client's request for the EnableVolumeIO operation. The "output" return
  9683. // value can be used to capture response data after the request's "Send" method
  9684. // is called.
  9685. //
  9686. // See EnableVolumeIO for usage and error information.
  9687. //
  9688. // Creating a request object using this method should be used when you want to inject
  9689. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9690. // access properties on the request object before or after sending the request. If
  9691. // you just want the service response, call the EnableVolumeIO method directly
  9692. // instead.
  9693. //
  9694. // Note: You must call the "Send" method on the returned request object in order
  9695. // to execute the request.
  9696. //
  9697. // // Example sending a request using the EnableVolumeIORequest method.
  9698. // req, resp := client.EnableVolumeIORequest(params)
  9699. //
  9700. // err := req.Send()
  9701. // if err == nil { // resp is now filled
  9702. // fmt.Println(resp)
  9703. // }
  9704. //
  9705. func (c *EC2) EnableVolumeIORequest(input *EnableVolumeIOInput) (req *request.Request, output *EnableVolumeIOOutput) {
  9706. op := &request.Operation{
  9707. Name: opEnableVolumeIO,
  9708. HTTPMethod: "POST",
  9709. HTTPPath: "/",
  9710. }
  9711. if input == nil {
  9712. input = &EnableVolumeIOInput{}
  9713. }
  9714. req = c.newRequest(op, input, output)
  9715. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  9716. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  9717. output = &EnableVolumeIOOutput{}
  9718. req.Data = output
  9719. return
  9720. }
  9721. // EnableVolumeIO API operation for Amazon Elastic Compute Cloud.
  9722. //
  9723. // Enables I/O operations for a volume that had I/O operations disabled because
  9724. // the data on the volume was potentially inconsistent.
  9725. //
  9726. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9727. // with awserr.Error's Code and Message methods to get detailed information about
  9728. // the error.
  9729. //
  9730. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9731. // API operation EnableVolumeIO for usage and error information.
  9732. func (c *EC2) EnableVolumeIO(input *EnableVolumeIOInput) (*EnableVolumeIOOutput, error) {
  9733. req, out := c.EnableVolumeIORequest(input)
  9734. err := req.Send()
  9735. return out, err
  9736. }
  9737. const opEnableVpcClassicLink = "EnableVpcClassicLink"
  9738. // EnableVpcClassicLinkRequest generates a "aws/request.Request" representing the
  9739. // client's request for the EnableVpcClassicLink operation. The "output" return
  9740. // value can be used to capture response data after the request's "Send" method
  9741. // is called.
  9742. //
  9743. // See EnableVpcClassicLink for usage and error information.
  9744. //
  9745. // Creating a request object using this method should be used when you want to inject
  9746. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9747. // access properties on the request object before or after sending the request. If
  9748. // you just want the service response, call the EnableVpcClassicLink method directly
  9749. // instead.
  9750. //
  9751. // Note: You must call the "Send" method on the returned request object in order
  9752. // to execute the request.
  9753. //
  9754. // // Example sending a request using the EnableVpcClassicLinkRequest method.
  9755. // req, resp := client.EnableVpcClassicLinkRequest(params)
  9756. //
  9757. // err := req.Send()
  9758. // if err == nil { // resp is now filled
  9759. // fmt.Println(resp)
  9760. // }
  9761. //
  9762. func (c *EC2) EnableVpcClassicLinkRequest(input *EnableVpcClassicLinkInput) (req *request.Request, output *EnableVpcClassicLinkOutput) {
  9763. op := &request.Operation{
  9764. Name: opEnableVpcClassicLink,
  9765. HTTPMethod: "POST",
  9766. HTTPPath: "/",
  9767. }
  9768. if input == nil {
  9769. input = &EnableVpcClassicLinkInput{}
  9770. }
  9771. req = c.newRequest(op, input, output)
  9772. output = &EnableVpcClassicLinkOutput{}
  9773. req.Data = output
  9774. return
  9775. }
  9776. // EnableVpcClassicLink API operation for Amazon Elastic Compute Cloud.
  9777. //
  9778. // Enables a VPC for ClassicLink. You can then link EC2-Classic instances to
  9779. // your ClassicLink-enabled VPC to allow communication over private IP addresses.
  9780. // You cannot enable your VPC for ClassicLink if any of your VPC's route tables
  9781. // have existing routes for address ranges within the 10.0.0.0/8 IP address
  9782. // range, excluding local routes for VPCs in the 10.0.0.0/16 and 10.1.0.0/16
  9783. // IP address ranges. For more information, see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
  9784. // in the Amazon Elastic Compute Cloud User Guide.
  9785. //
  9786. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9787. // with awserr.Error's Code and Message methods to get detailed information about
  9788. // the error.
  9789. //
  9790. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9791. // API operation EnableVpcClassicLink for usage and error information.
  9792. func (c *EC2) EnableVpcClassicLink(input *EnableVpcClassicLinkInput) (*EnableVpcClassicLinkOutput, error) {
  9793. req, out := c.EnableVpcClassicLinkRequest(input)
  9794. err := req.Send()
  9795. return out, err
  9796. }
  9797. const opEnableVpcClassicLinkDnsSupport = "EnableVpcClassicLinkDnsSupport"
  9798. // EnableVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
  9799. // client's request for the EnableVpcClassicLinkDnsSupport operation. The "output" return
  9800. // value can be used to capture response data after the request's "Send" method
  9801. // is called.
  9802. //
  9803. // See EnableVpcClassicLinkDnsSupport for usage and error information.
  9804. //
  9805. // Creating a request object using this method should be used when you want to inject
  9806. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9807. // access properties on the request object before or after sending the request. If
  9808. // you just want the service response, call the EnableVpcClassicLinkDnsSupport method directly
  9809. // instead.
  9810. //
  9811. // Note: You must call the "Send" method on the returned request object in order
  9812. // to execute the request.
  9813. //
  9814. // // Example sending a request using the EnableVpcClassicLinkDnsSupportRequest method.
  9815. // req, resp := client.EnableVpcClassicLinkDnsSupportRequest(params)
  9816. //
  9817. // err := req.Send()
  9818. // if err == nil { // resp is now filled
  9819. // fmt.Println(resp)
  9820. // }
  9821. //
  9822. func (c *EC2) EnableVpcClassicLinkDnsSupportRequest(input *EnableVpcClassicLinkDnsSupportInput) (req *request.Request, output *EnableVpcClassicLinkDnsSupportOutput) {
  9823. op := &request.Operation{
  9824. Name: opEnableVpcClassicLinkDnsSupport,
  9825. HTTPMethod: "POST",
  9826. HTTPPath: "/",
  9827. }
  9828. if input == nil {
  9829. input = &EnableVpcClassicLinkDnsSupportInput{}
  9830. }
  9831. req = c.newRequest(op, input, output)
  9832. output = &EnableVpcClassicLinkDnsSupportOutput{}
  9833. req.Data = output
  9834. return
  9835. }
  9836. // EnableVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
  9837. //
  9838. // Enables a VPC to support DNS hostname resolution for ClassicLink. If enabled,
  9839. // the DNS hostname of a linked EC2-Classic instance resolves to its private
  9840. // IP address when addressed from an instance in the VPC to which it's linked.
  9841. // Similarly, the DNS hostname of an instance in a VPC resolves to its private
  9842. // IP address when addressed from a linked EC2-Classic instance. For more information
  9843. // about ClassicLink, see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
  9844. // in the Amazon Elastic Compute Cloud User Guide.
  9845. //
  9846. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9847. // with awserr.Error's Code and Message methods to get detailed information about
  9848. // the error.
  9849. //
  9850. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9851. // API operation EnableVpcClassicLinkDnsSupport for usage and error information.
  9852. func (c *EC2) EnableVpcClassicLinkDnsSupport(input *EnableVpcClassicLinkDnsSupportInput) (*EnableVpcClassicLinkDnsSupportOutput, error) {
  9853. req, out := c.EnableVpcClassicLinkDnsSupportRequest(input)
  9854. err := req.Send()
  9855. return out, err
  9856. }
  9857. const opGetConsoleOutput = "GetConsoleOutput"
  9858. // GetConsoleOutputRequest generates a "aws/request.Request" representing the
  9859. // client's request for the GetConsoleOutput operation. The "output" return
  9860. // value can be used to capture response data after the request's "Send" method
  9861. // is called.
  9862. //
  9863. // See GetConsoleOutput for usage and error information.
  9864. //
  9865. // Creating a request object using this method should be used when you want to inject
  9866. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9867. // access properties on the request object before or after sending the request. If
  9868. // you just want the service response, call the GetConsoleOutput method directly
  9869. // instead.
  9870. //
  9871. // Note: You must call the "Send" method on the returned request object in order
  9872. // to execute the request.
  9873. //
  9874. // // Example sending a request using the GetConsoleOutputRequest method.
  9875. // req, resp := client.GetConsoleOutputRequest(params)
  9876. //
  9877. // err := req.Send()
  9878. // if err == nil { // resp is now filled
  9879. // fmt.Println(resp)
  9880. // }
  9881. //
  9882. func (c *EC2) GetConsoleOutputRequest(input *GetConsoleOutputInput) (req *request.Request, output *GetConsoleOutputOutput) {
  9883. op := &request.Operation{
  9884. Name: opGetConsoleOutput,
  9885. HTTPMethod: "POST",
  9886. HTTPPath: "/",
  9887. }
  9888. if input == nil {
  9889. input = &GetConsoleOutputInput{}
  9890. }
  9891. req = c.newRequest(op, input, output)
  9892. output = &GetConsoleOutputOutput{}
  9893. req.Data = output
  9894. return
  9895. }
  9896. // GetConsoleOutput API operation for Amazon Elastic Compute Cloud.
  9897. //
  9898. // Gets the console output for the specified instance.
  9899. //
  9900. // Instances do not have a physical monitor through which you can view their
  9901. // console output. They also lack physical controls that allow you to power
  9902. // up, reboot, or shut them down. To allow these actions, we provide them through
  9903. // the Amazon EC2 API and command line interface.
  9904. //
  9905. // Instance console output is buffered and posted shortly after instance boot,
  9906. // reboot, and termination. Amazon EC2 preserves the most recent 64 KB output
  9907. // which is available for at least one hour after the most recent post.
  9908. //
  9909. // For Linux instances, the instance console output displays the exact console
  9910. // output that would normally be displayed on a physical monitor attached to
  9911. // a computer. This output is buffered because the instance produces it and
  9912. // then posts it to a store where the instance's owner can retrieve it.
  9913. //
  9914. // For Windows instances, the instance console output includes output from the
  9915. // EC2Config service.
  9916. //
  9917. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9918. // with awserr.Error's Code and Message methods to get detailed information about
  9919. // the error.
  9920. //
  9921. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9922. // API operation GetConsoleOutput for usage and error information.
  9923. func (c *EC2) GetConsoleOutput(input *GetConsoleOutputInput) (*GetConsoleOutputOutput, error) {
  9924. req, out := c.GetConsoleOutputRequest(input)
  9925. err := req.Send()
  9926. return out, err
  9927. }
  9928. const opGetConsoleScreenshot = "GetConsoleScreenshot"
  9929. // GetConsoleScreenshotRequest generates a "aws/request.Request" representing the
  9930. // client's request for the GetConsoleScreenshot operation. The "output" return
  9931. // value can be used to capture response data after the request's "Send" method
  9932. // is called.
  9933. //
  9934. // See GetConsoleScreenshot for usage and error information.
  9935. //
  9936. // Creating a request object using this method should be used when you want to inject
  9937. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9938. // access properties on the request object before or after sending the request. If
  9939. // you just want the service response, call the GetConsoleScreenshot method directly
  9940. // instead.
  9941. //
  9942. // Note: You must call the "Send" method on the returned request object in order
  9943. // to execute the request.
  9944. //
  9945. // // Example sending a request using the GetConsoleScreenshotRequest method.
  9946. // req, resp := client.GetConsoleScreenshotRequest(params)
  9947. //
  9948. // err := req.Send()
  9949. // if err == nil { // resp is now filled
  9950. // fmt.Println(resp)
  9951. // }
  9952. //
  9953. func (c *EC2) GetConsoleScreenshotRequest(input *GetConsoleScreenshotInput) (req *request.Request, output *GetConsoleScreenshotOutput) {
  9954. op := &request.Operation{
  9955. Name: opGetConsoleScreenshot,
  9956. HTTPMethod: "POST",
  9957. HTTPPath: "/",
  9958. }
  9959. if input == nil {
  9960. input = &GetConsoleScreenshotInput{}
  9961. }
  9962. req = c.newRequest(op, input, output)
  9963. output = &GetConsoleScreenshotOutput{}
  9964. req.Data = output
  9965. return
  9966. }
  9967. // GetConsoleScreenshot API operation for Amazon Elastic Compute Cloud.
  9968. //
  9969. // Retrieve a JPG-format screenshot of a running instance to help with troubleshooting.
  9970. //
  9971. // The returned content is Base64-encoded.
  9972. //
  9973. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9974. // with awserr.Error's Code and Message methods to get detailed information about
  9975. // the error.
  9976. //
  9977. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9978. // API operation GetConsoleScreenshot for usage and error information.
  9979. func (c *EC2) GetConsoleScreenshot(input *GetConsoleScreenshotInput) (*GetConsoleScreenshotOutput, error) {
  9980. req, out := c.GetConsoleScreenshotRequest(input)
  9981. err := req.Send()
  9982. return out, err
  9983. }
  9984. const opGetHostReservationPurchasePreview = "GetHostReservationPurchasePreview"
  9985. // GetHostReservationPurchasePreviewRequest generates a "aws/request.Request" representing the
  9986. // client's request for the GetHostReservationPurchasePreview operation. The "output" return
  9987. // value can be used to capture response data after the request's "Send" method
  9988. // is called.
  9989. //
  9990. // See GetHostReservationPurchasePreview for usage and error information.
  9991. //
  9992. // Creating a request object using this method should be used when you want to inject
  9993. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9994. // access properties on the request object before or after sending the request. If
  9995. // you just want the service response, call the GetHostReservationPurchasePreview method directly
  9996. // instead.
  9997. //
  9998. // Note: You must call the "Send" method on the returned request object in order
  9999. // to execute the request.
  10000. //
  10001. // // Example sending a request using the GetHostReservationPurchasePreviewRequest method.
  10002. // req, resp := client.GetHostReservationPurchasePreviewRequest(params)
  10003. //
  10004. // err := req.Send()
  10005. // if err == nil { // resp is now filled
  10006. // fmt.Println(resp)
  10007. // }
  10008. //
  10009. func (c *EC2) GetHostReservationPurchasePreviewRequest(input *GetHostReservationPurchasePreviewInput) (req *request.Request, output *GetHostReservationPurchasePreviewOutput) {
  10010. op := &request.Operation{
  10011. Name: opGetHostReservationPurchasePreview,
  10012. HTTPMethod: "POST",
  10013. HTTPPath: "/",
  10014. }
  10015. if input == nil {
  10016. input = &GetHostReservationPurchasePreviewInput{}
  10017. }
  10018. req = c.newRequest(op, input, output)
  10019. output = &GetHostReservationPurchasePreviewOutput{}
  10020. req.Data = output
  10021. return
  10022. }
  10023. // GetHostReservationPurchasePreview API operation for Amazon Elastic Compute Cloud.
  10024. //
  10025. // Preview a reservation purchase with configurations that match those of your
  10026. // Dedicated Host. You must have active Dedicated Hosts in your account before
  10027. // you purchase a reservation.
  10028. //
  10029. // This is a preview of the PurchaseHostReservation action and does not result
  10030. // in the offering being purchased.
  10031. //
  10032. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10033. // with awserr.Error's Code and Message methods to get detailed information about
  10034. // the error.
  10035. //
  10036. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10037. // API operation GetHostReservationPurchasePreview for usage and error information.
  10038. func (c *EC2) GetHostReservationPurchasePreview(input *GetHostReservationPurchasePreviewInput) (*GetHostReservationPurchasePreviewOutput, error) {
  10039. req, out := c.GetHostReservationPurchasePreviewRequest(input)
  10040. err := req.Send()
  10041. return out, err
  10042. }
  10043. const opGetPasswordData = "GetPasswordData"
  10044. // GetPasswordDataRequest generates a "aws/request.Request" representing the
  10045. // client's request for the GetPasswordData operation. The "output" return
  10046. // value can be used to capture response data after the request's "Send" method
  10047. // is called.
  10048. //
  10049. // See GetPasswordData for usage and error information.
  10050. //
  10051. // Creating a request object using this method should be used when you want to inject
  10052. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10053. // access properties on the request object before or after sending the request. If
  10054. // you just want the service response, call the GetPasswordData method directly
  10055. // instead.
  10056. //
  10057. // Note: You must call the "Send" method on the returned request object in order
  10058. // to execute the request.
  10059. //
  10060. // // Example sending a request using the GetPasswordDataRequest method.
  10061. // req, resp := client.GetPasswordDataRequest(params)
  10062. //
  10063. // err := req.Send()
  10064. // if err == nil { // resp is now filled
  10065. // fmt.Println(resp)
  10066. // }
  10067. //
  10068. func (c *EC2) GetPasswordDataRequest(input *GetPasswordDataInput) (req *request.Request, output *GetPasswordDataOutput) {
  10069. op := &request.Operation{
  10070. Name: opGetPasswordData,
  10071. HTTPMethod: "POST",
  10072. HTTPPath: "/",
  10073. }
  10074. if input == nil {
  10075. input = &GetPasswordDataInput{}
  10076. }
  10077. req = c.newRequest(op, input, output)
  10078. output = &GetPasswordDataOutput{}
  10079. req.Data = output
  10080. return
  10081. }
  10082. // GetPasswordData API operation for Amazon Elastic Compute Cloud.
  10083. //
  10084. // Retrieves the encrypted administrator password for an instance running Windows.
  10085. //
  10086. // The Windows password is generated at boot if the EC2Config service plugin,
  10087. // Ec2SetPassword, is enabled. This usually only happens the first time an AMI
  10088. // is launched, and then Ec2SetPassword is automatically disabled. The password
  10089. // is not generated for rebundled AMIs unless Ec2SetPassword is enabled before
  10090. // bundling.
  10091. //
  10092. // The password is encrypted using the key pair that you specified when you
  10093. // launched the instance. You must provide the corresponding key pair file.
  10094. //
  10095. // Password generation and encryption takes a few moments. We recommend that
  10096. // you wait up to 15 minutes after launching an instance before trying to retrieve
  10097. // the generated password.
  10098. //
  10099. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10100. // with awserr.Error's Code and Message methods to get detailed information about
  10101. // the error.
  10102. //
  10103. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10104. // API operation GetPasswordData for usage and error information.
  10105. func (c *EC2) GetPasswordData(input *GetPasswordDataInput) (*GetPasswordDataOutput, error) {
  10106. req, out := c.GetPasswordDataRequest(input)
  10107. err := req.Send()
  10108. return out, err
  10109. }
  10110. const opGetReservedInstancesExchangeQuote = "GetReservedInstancesExchangeQuote"
  10111. // GetReservedInstancesExchangeQuoteRequest generates a "aws/request.Request" representing the
  10112. // client's request for the GetReservedInstancesExchangeQuote operation. The "output" return
  10113. // value can be used to capture response data after the request's "Send" method
  10114. // is called.
  10115. //
  10116. // See GetReservedInstancesExchangeQuote for usage and error information.
  10117. //
  10118. // Creating a request object using this method should be used when you want to inject
  10119. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10120. // access properties on the request object before or after sending the request. If
  10121. // you just want the service response, call the GetReservedInstancesExchangeQuote method directly
  10122. // instead.
  10123. //
  10124. // Note: You must call the "Send" method on the returned request object in order
  10125. // to execute the request.
  10126. //
  10127. // // Example sending a request using the GetReservedInstancesExchangeQuoteRequest method.
  10128. // req, resp := client.GetReservedInstancesExchangeQuoteRequest(params)
  10129. //
  10130. // err := req.Send()
  10131. // if err == nil { // resp is now filled
  10132. // fmt.Println(resp)
  10133. // }
  10134. //
  10135. func (c *EC2) GetReservedInstancesExchangeQuoteRequest(input *GetReservedInstancesExchangeQuoteInput) (req *request.Request, output *GetReservedInstancesExchangeQuoteOutput) {
  10136. op := &request.Operation{
  10137. Name: opGetReservedInstancesExchangeQuote,
  10138. HTTPMethod: "POST",
  10139. HTTPPath: "/",
  10140. }
  10141. if input == nil {
  10142. input = &GetReservedInstancesExchangeQuoteInput{}
  10143. }
  10144. req = c.newRequest(op, input, output)
  10145. output = &GetReservedInstancesExchangeQuoteOutput{}
  10146. req.Data = output
  10147. return
  10148. }
  10149. // GetReservedInstancesExchangeQuote API operation for Amazon Elastic Compute Cloud.
  10150. //
  10151. // Returns details about the values and term of your specified Convertible Reserved
  10152. // Instances. When an offering ID is specified it returns information about
  10153. // whether the exchange is valid and can be performed.
  10154. //
  10155. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10156. // with awserr.Error's Code and Message methods to get detailed information about
  10157. // the error.
  10158. //
  10159. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10160. // API operation GetReservedInstancesExchangeQuote for usage and error information.
  10161. func (c *EC2) GetReservedInstancesExchangeQuote(input *GetReservedInstancesExchangeQuoteInput) (*GetReservedInstancesExchangeQuoteOutput, error) {
  10162. req, out := c.GetReservedInstancesExchangeQuoteRequest(input)
  10163. err := req.Send()
  10164. return out, err
  10165. }
  10166. const opImportImage = "ImportImage"
  10167. // ImportImageRequest generates a "aws/request.Request" representing the
  10168. // client's request for the ImportImage operation. The "output" return
  10169. // value can be used to capture response data after the request's "Send" method
  10170. // is called.
  10171. //
  10172. // See ImportImage for usage and error information.
  10173. //
  10174. // Creating a request object using this method should be used when you want to inject
  10175. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10176. // access properties on the request object before or after sending the request. If
  10177. // you just want the service response, call the ImportImage method directly
  10178. // instead.
  10179. //
  10180. // Note: You must call the "Send" method on the returned request object in order
  10181. // to execute the request.
  10182. //
  10183. // // Example sending a request using the ImportImageRequest method.
  10184. // req, resp := client.ImportImageRequest(params)
  10185. //
  10186. // err := req.Send()
  10187. // if err == nil { // resp is now filled
  10188. // fmt.Println(resp)
  10189. // }
  10190. //
  10191. func (c *EC2) ImportImageRequest(input *ImportImageInput) (req *request.Request, output *ImportImageOutput) {
  10192. op := &request.Operation{
  10193. Name: opImportImage,
  10194. HTTPMethod: "POST",
  10195. HTTPPath: "/",
  10196. }
  10197. if input == nil {
  10198. input = &ImportImageInput{}
  10199. }
  10200. req = c.newRequest(op, input, output)
  10201. output = &ImportImageOutput{}
  10202. req.Data = output
  10203. return
  10204. }
  10205. // ImportImage API operation for Amazon Elastic Compute Cloud.
  10206. //
  10207. // Import single or multi-volume disk images or EBS snapshots into an Amazon
  10208. // Machine Image (AMI). For more information, see Importing a VM as an Image
  10209. // Using VM Import/Export (http://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html)
  10210. // in the VM Import/Export User Guide.
  10211. //
  10212. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10213. // with awserr.Error's Code and Message methods to get detailed information about
  10214. // the error.
  10215. //
  10216. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10217. // API operation ImportImage for usage and error information.
  10218. func (c *EC2) ImportImage(input *ImportImageInput) (*ImportImageOutput, error) {
  10219. req, out := c.ImportImageRequest(input)
  10220. err := req.Send()
  10221. return out, err
  10222. }
  10223. const opImportInstance = "ImportInstance"
  10224. // ImportInstanceRequest generates a "aws/request.Request" representing the
  10225. // client's request for the ImportInstance operation. The "output" return
  10226. // value can be used to capture response data after the request's "Send" method
  10227. // is called.
  10228. //
  10229. // See ImportInstance for usage and error information.
  10230. //
  10231. // Creating a request object using this method should be used when you want to inject
  10232. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10233. // access properties on the request object before or after sending the request. If
  10234. // you just want the service response, call the ImportInstance method directly
  10235. // instead.
  10236. //
  10237. // Note: You must call the "Send" method on the returned request object in order
  10238. // to execute the request.
  10239. //
  10240. // // Example sending a request using the ImportInstanceRequest method.
  10241. // req, resp := client.ImportInstanceRequest(params)
  10242. //
  10243. // err := req.Send()
  10244. // if err == nil { // resp is now filled
  10245. // fmt.Println(resp)
  10246. // }
  10247. //
  10248. func (c *EC2) ImportInstanceRequest(input *ImportInstanceInput) (req *request.Request, output *ImportInstanceOutput) {
  10249. op := &request.Operation{
  10250. Name: opImportInstance,
  10251. HTTPMethod: "POST",
  10252. HTTPPath: "/",
  10253. }
  10254. if input == nil {
  10255. input = &ImportInstanceInput{}
  10256. }
  10257. req = c.newRequest(op, input, output)
  10258. output = &ImportInstanceOutput{}
  10259. req.Data = output
  10260. return
  10261. }
  10262. // ImportInstance API operation for Amazon Elastic Compute Cloud.
  10263. //
  10264. // Creates an import instance task using metadata from the specified disk image.
  10265. // ImportInstance only supports single-volume VMs. To import multi-volume VMs,
  10266. // use ImportImage. For more information, see Importing a Virtual Machine Using
  10267. // the Amazon EC2 CLI (http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ec2-cli-vmimport-export.html).
  10268. //
  10269. // For information about the import manifest referenced by this API action,
  10270. // see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  10271. //
  10272. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10273. // with awserr.Error's Code and Message methods to get detailed information about
  10274. // the error.
  10275. //
  10276. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10277. // API operation ImportInstance for usage and error information.
  10278. func (c *EC2) ImportInstance(input *ImportInstanceInput) (*ImportInstanceOutput, error) {
  10279. req, out := c.ImportInstanceRequest(input)
  10280. err := req.Send()
  10281. return out, err
  10282. }
  10283. const opImportKeyPair = "ImportKeyPair"
  10284. // ImportKeyPairRequest generates a "aws/request.Request" representing the
  10285. // client's request for the ImportKeyPair operation. The "output" return
  10286. // value can be used to capture response data after the request's "Send" method
  10287. // is called.
  10288. //
  10289. // See ImportKeyPair for usage and error information.
  10290. //
  10291. // Creating a request object using this method should be used when you want to inject
  10292. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10293. // access properties on the request object before or after sending the request. If
  10294. // you just want the service response, call the ImportKeyPair method directly
  10295. // instead.
  10296. //
  10297. // Note: You must call the "Send" method on the returned request object in order
  10298. // to execute the request.
  10299. //
  10300. // // Example sending a request using the ImportKeyPairRequest method.
  10301. // req, resp := client.ImportKeyPairRequest(params)
  10302. //
  10303. // err := req.Send()
  10304. // if err == nil { // resp is now filled
  10305. // fmt.Println(resp)
  10306. // }
  10307. //
  10308. func (c *EC2) ImportKeyPairRequest(input *ImportKeyPairInput) (req *request.Request, output *ImportKeyPairOutput) {
  10309. op := &request.Operation{
  10310. Name: opImportKeyPair,
  10311. HTTPMethod: "POST",
  10312. HTTPPath: "/",
  10313. }
  10314. if input == nil {
  10315. input = &ImportKeyPairInput{}
  10316. }
  10317. req = c.newRequest(op, input, output)
  10318. output = &ImportKeyPairOutput{}
  10319. req.Data = output
  10320. return
  10321. }
  10322. // ImportKeyPair API operation for Amazon Elastic Compute Cloud.
  10323. //
  10324. // Imports the public key from an RSA key pair that you created with a third-party
  10325. // tool. Compare this with CreateKeyPair, in which AWS creates the key pair
  10326. // and gives the keys to you (AWS keeps a copy of the public key). With ImportKeyPair,
  10327. // you create the key pair and give AWS just the public key. The private key
  10328. // is never transferred between you and AWS.
  10329. //
  10330. // For more information about key pairs, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
  10331. // in the Amazon Elastic Compute Cloud User Guide.
  10332. //
  10333. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10334. // with awserr.Error's Code and Message methods to get detailed information about
  10335. // the error.
  10336. //
  10337. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10338. // API operation ImportKeyPair for usage and error information.
  10339. func (c *EC2) ImportKeyPair(input *ImportKeyPairInput) (*ImportKeyPairOutput, error) {
  10340. req, out := c.ImportKeyPairRequest(input)
  10341. err := req.Send()
  10342. return out, err
  10343. }
  10344. const opImportSnapshot = "ImportSnapshot"
  10345. // ImportSnapshotRequest generates a "aws/request.Request" representing the
  10346. // client's request for the ImportSnapshot operation. The "output" return
  10347. // value can be used to capture response data after the request's "Send" method
  10348. // is called.
  10349. //
  10350. // See ImportSnapshot for usage and error information.
  10351. //
  10352. // Creating a request object using this method should be used when you want to inject
  10353. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10354. // access properties on the request object before or after sending the request. If
  10355. // you just want the service response, call the ImportSnapshot method directly
  10356. // instead.
  10357. //
  10358. // Note: You must call the "Send" method on the returned request object in order
  10359. // to execute the request.
  10360. //
  10361. // // Example sending a request using the ImportSnapshotRequest method.
  10362. // req, resp := client.ImportSnapshotRequest(params)
  10363. //
  10364. // err := req.Send()
  10365. // if err == nil { // resp is now filled
  10366. // fmt.Println(resp)
  10367. // }
  10368. //
  10369. func (c *EC2) ImportSnapshotRequest(input *ImportSnapshotInput) (req *request.Request, output *ImportSnapshotOutput) {
  10370. op := &request.Operation{
  10371. Name: opImportSnapshot,
  10372. HTTPMethod: "POST",
  10373. HTTPPath: "/",
  10374. }
  10375. if input == nil {
  10376. input = &ImportSnapshotInput{}
  10377. }
  10378. req = c.newRequest(op, input, output)
  10379. output = &ImportSnapshotOutput{}
  10380. req.Data = output
  10381. return
  10382. }
  10383. // ImportSnapshot API operation for Amazon Elastic Compute Cloud.
  10384. //
  10385. // Imports a disk into an EBS snapshot.
  10386. //
  10387. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10388. // with awserr.Error's Code and Message methods to get detailed information about
  10389. // the error.
  10390. //
  10391. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10392. // API operation ImportSnapshot for usage and error information.
  10393. func (c *EC2) ImportSnapshot(input *ImportSnapshotInput) (*ImportSnapshotOutput, error) {
  10394. req, out := c.ImportSnapshotRequest(input)
  10395. err := req.Send()
  10396. return out, err
  10397. }
  10398. const opImportVolume = "ImportVolume"
  10399. // ImportVolumeRequest generates a "aws/request.Request" representing the
  10400. // client's request for the ImportVolume operation. The "output" return
  10401. // value can be used to capture response data after the request's "Send" method
  10402. // is called.
  10403. //
  10404. // See ImportVolume for usage and error information.
  10405. //
  10406. // Creating a request object using this method should be used when you want to inject
  10407. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10408. // access properties on the request object before or after sending the request. If
  10409. // you just want the service response, call the ImportVolume method directly
  10410. // instead.
  10411. //
  10412. // Note: You must call the "Send" method on the returned request object in order
  10413. // to execute the request.
  10414. //
  10415. // // Example sending a request using the ImportVolumeRequest method.
  10416. // req, resp := client.ImportVolumeRequest(params)
  10417. //
  10418. // err := req.Send()
  10419. // if err == nil { // resp is now filled
  10420. // fmt.Println(resp)
  10421. // }
  10422. //
  10423. func (c *EC2) ImportVolumeRequest(input *ImportVolumeInput) (req *request.Request, output *ImportVolumeOutput) {
  10424. op := &request.Operation{
  10425. Name: opImportVolume,
  10426. HTTPMethod: "POST",
  10427. HTTPPath: "/",
  10428. }
  10429. if input == nil {
  10430. input = &ImportVolumeInput{}
  10431. }
  10432. req = c.newRequest(op, input, output)
  10433. output = &ImportVolumeOutput{}
  10434. req.Data = output
  10435. return
  10436. }
  10437. // ImportVolume API operation for Amazon Elastic Compute Cloud.
  10438. //
  10439. // Creates an import volume task using metadata from the specified disk image.For
  10440. // more information, see Importing Disks to Amazon EBS (http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/importing-your-volumes-into-amazon-ebs.html).
  10441. //
  10442. // For information about the import manifest referenced by this API action,
  10443. // see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  10444. //
  10445. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10446. // with awserr.Error's Code and Message methods to get detailed information about
  10447. // the error.
  10448. //
  10449. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10450. // API operation ImportVolume for usage and error information.
  10451. func (c *EC2) ImportVolume(input *ImportVolumeInput) (*ImportVolumeOutput, error) {
  10452. req, out := c.ImportVolumeRequest(input)
  10453. err := req.Send()
  10454. return out, err
  10455. }
  10456. const opModifyHosts = "ModifyHosts"
  10457. // ModifyHostsRequest generates a "aws/request.Request" representing the
  10458. // client's request for the ModifyHosts operation. The "output" return
  10459. // value can be used to capture response data after the request's "Send" method
  10460. // is called.
  10461. //
  10462. // See ModifyHosts for usage and error information.
  10463. //
  10464. // Creating a request object using this method should be used when you want to inject
  10465. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10466. // access properties on the request object before or after sending the request. If
  10467. // you just want the service response, call the ModifyHosts method directly
  10468. // instead.
  10469. //
  10470. // Note: You must call the "Send" method on the returned request object in order
  10471. // to execute the request.
  10472. //
  10473. // // Example sending a request using the ModifyHostsRequest method.
  10474. // req, resp := client.ModifyHostsRequest(params)
  10475. //
  10476. // err := req.Send()
  10477. // if err == nil { // resp is now filled
  10478. // fmt.Println(resp)
  10479. // }
  10480. //
  10481. func (c *EC2) ModifyHostsRequest(input *ModifyHostsInput) (req *request.Request, output *ModifyHostsOutput) {
  10482. op := &request.Operation{
  10483. Name: opModifyHosts,
  10484. HTTPMethod: "POST",
  10485. HTTPPath: "/",
  10486. }
  10487. if input == nil {
  10488. input = &ModifyHostsInput{}
  10489. }
  10490. req = c.newRequest(op, input, output)
  10491. output = &ModifyHostsOutput{}
  10492. req.Data = output
  10493. return
  10494. }
  10495. // ModifyHosts API operation for Amazon Elastic Compute Cloud.
  10496. //
  10497. // Modify the auto-placement setting of a Dedicated Host. When auto-placement
  10498. // is enabled, AWS will place instances that you launch with a tenancy of host,
  10499. // but without targeting a specific host ID, onto any available Dedicated Host
  10500. // in your account which has auto-placement enabled. When auto-placement is
  10501. // disabled, you need to provide a host ID if you want the instance to launch
  10502. // onto a specific host. If no host ID is provided, the instance will be launched
  10503. // onto a suitable host which has auto-placement enabled.
  10504. //
  10505. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10506. // with awserr.Error's Code and Message methods to get detailed information about
  10507. // the error.
  10508. //
  10509. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10510. // API operation ModifyHosts for usage and error information.
  10511. func (c *EC2) ModifyHosts(input *ModifyHostsInput) (*ModifyHostsOutput, error) {
  10512. req, out := c.ModifyHostsRequest(input)
  10513. err := req.Send()
  10514. return out, err
  10515. }
  10516. const opModifyIdFormat = "ModifyIdFormat"
  10517. // ModifyIdFormatRequest generates a "aws/request.Request" representing the
  10518. // client's request for the ModifyIdFormat operation. The "output" return
  10519. // value can be used to capture response data after the request's "Send" method
  10520. // is called.
  10521. //
  10522. // See ModifyIdFormat for usage and error information.
  10523. //
  10524. // Creating a request object using this method should be used when you want to inject
  10525. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10526. // access properties on the request object before or after sending the request. If
  10527. // you just want the service response, call the ModifyIdFormat method directly
  10528. // instead.
  10529. //
  10530. // Note: You must call the "Send" method on the returned request object in order
  10531. // to execute the request.
  10532. //
  10533. // // Example sending a request using the ModifyIdFormatRequest method.
  10534. // req, resp := client.ModifyIdFormatRequest(params)
  10535. //
  10536. // err := req.Send()
  10537. // if err == nil { // resp is now filled
  10538. // fmt.Println(resp)
  10539. // }
  10540. //
  10541. func (c *EC2) ModifyIdFormatRequest(input *ModifyIdFormatInput) (req *request.Request, output *ModifyIdFormatOutput) {
  10542. op := &request.Operation{
  10543. Name: opModifyIdFormat,
  10544. HTTPMethod: "POST",
  10545. HTTPPath: "/",
  10546. }
  10547. if input == nil {
  10548. input = &ModifyIdFormatInput{}
  10549. }
  10550. req = c.newRequest(op, input, output)
  10551. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  10552. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  10553. output = &ModifyIdFormatOutput{}
  10554. req.Data = output
  10555. return
  10556. }
  10557. // ModifyIdFormat API operation for Amazon Elastic Compute Cloud.
  10558. //
  10559. // Modifies the ID format for the specified resource on a per-region basis.
  10560. // You can specify that resources should receive longer IDs (17-character IDs)
  10561. // when they are created. The following resource types support longer IDs: instance
  10562. // | reservation | snapshot | volume.
  10563. //
  10564. // This setting applies to the IAM user who makes the request; it does not apply
  10565. // to the entire AWS account. By default, an IAM user defaults to the same settings
  10566. // as the root user. If you're using this action as the root user, then these
  10567. // settings apply to the entire account, unless an IAM user explicitly overrides
  10568. // these settings for themselves. For more information, see Resource IDs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html)
  10569. // in the Amazon Elastic Compute Cloud User Guide.
  10570. //
  10571. // Resources created with longer IDs are visible to all IAM roles and users,
  10572. // regardless of these settings and provided that they have permission to use
  10573. // the relevant Describe command for the resource type.
  10574. //
  10575. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10576. // with awserr.Error's Code and Message methods to get detailed information about
  10577. // the error.
  10578. //
  10579. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10580. // API operation ModifyIdFormat for usage and error information.
  10581. func (c *EC2) ModifyIdFormat(input *ModifyIdFormatInput) (*ModifyIdFormatOutput, error) {
  10582. req, out := c.ModifyIdFormatRequest(input)
  10583. err := req.Send()
  10584. return out, err
  10585. }
  10586. const opModifyIdentityIdFormat = "ModifyIdentityIdFormat"
  10587. // ModifyIdentityIdFormatRequest generates a "aws/request.Request" representing the
  10588. // client's request for the ModifyIdentityIdFormat operation. The "output" return
  10589. // value can be used to capture response data after the request's "Send" method
  10590. // is called.
  10591. //
  10592. // See ModifyIdentityIdFormat for usage and error information.
  10593. //
  10594. // Creating a request object using this method should be used when you want to inject
  10595. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10596. // access properties on the request object before or after sending the request. If
  10597. // you just want the service response, call the ModifyIdentityIdFormat method directly
  10598. // instead.
  10599. //
  10600. // Note: You must call the "Send" method on the returned request object in order
  10601. // to execute the request.
  10602. //
  10603. // // Example sending a request using the ModifyIdentityIdFormatRequest method.
  10604. // req, resp := client.ModifyIdentityIdFormatRequest(params)
  10605. //
  10606. // err := req.Send()
  10607. // if err == nil { // resp is now filled
  10608. // fmt.Println(resp)
  10609. // }
  10610. //
  10611. func (c *EC2) ModifyIdentityIdFormatRequest(input *ModifyIdentityIdFormatInput) (req *request.Request, output *ModifyIdentityIdFormatOutput) {
  10612. op := &request.Operation{
  10613. Name: opModifyIdentityIdFormat,
  10614. HTTPMethod: "POST",
  10615. HTTPPath: "/",
  10616. }
  10617. if input == nil {
  10618. input = &ModifyIdentityIdFormatInput{}
  10619. }
  10620. req = c.newRequest(op, input, output)
  10621. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  10622. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  10623. output = &ModifyIdentityIdFormatOutput{}
  10624. req.Data = output
  10625. return
  10626. }
  10627. // ModifyIdentityIdFormat API operation for Amazon Elastic Compute Cloud.
  10628. //
  10629. // Modifies the ID format of a resource for a specified IAM user, IAM role,
  10630. // or the root user for an account; or all IAM users, IAM roles, and the root
  10631. // user for an account. You can specify that resources should receive longer
  10632. // IDs (17-character IDs) when they are created.
  10633. //
  10634. // The following resource types support longer IDs: instance | reservation |
  10635. // snapshot | volume. For more information, see Resource IDs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html)
  10636. // in the Amazon Elastic Compute Cloud User Guide.
  10637. //
  10638. // This setting applies to the principal specified in the request; it does not
  10639. // apply to the principal that makes the request.
  10640. //
  10641. // Resources created with longer IDs are visible to all IAM roles and users,
  10642. // regardless of these settings and provided that they have permission to use
  10643. // the relevant Describe command for the resource type.
  10644. //
  10645. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10646. // with awserr.Error's Code and Message methods to get detailed information about
  10647. // the error.
  10648. //
  10649. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10650. // API operation ModifyIdentityIdFormat for usage and error information.
  10651. func (c *EC2) ModifyIdentityIdFormat(input *ModifyIdentityIdFormatInput) (*ModifyIdentityIdFormatOutput, error) {
  10652. req, out := c.ModifyIdentityIdFormatRequest(input)
  10653. err := req.Send()
  10654. return out, err
  10655. }
  10656. const opModifyImageAttribute = "ModifyImageAttribute"
  10657. // ModifyImageAttributeRequest generates a "aws/request.Request" representing the
  10658. // client's request for the ModifyImageAttribute operation. The "output" return
  10659. // value can be used to capture response data after the request's "Send" method
  10660. // is called.
  10661. //
  10662. // See ModifyImageAttribute for usage and error information.
  10663. //
  10664. // Creating a request object using this method should be used when you want to inject
  10665. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10666. // access properties on the request object before or after sending the request. If
  10667. // you just want the service response, call the ModifyImageAttribute method directly
  10668. // instead.
  10669. //
  10670. // Note: You must call the "Send" method on the returned request object in order
  10671. // to execute the request.
  10672. //
  10673. // // Example sending a request using the ModifyImageAttributeRequest method.
  10674. // req, resp := client.ModifyImageAttributeRequest(params)
  10675. //
  10676. // err := req.Send()
  10677. // if err == nil { // resp is now filled
  10678. // fmt.Println(resp)
  10679. // }
  10680. //
  10681. func (c *EC2) ModifyImageAttributeRequest(input *ModifyImageAttributeInput) (req *request.Request, output *ModifyImageAttributeOutput) {
  10682. op := &request.Operation{
  10683. Name: opModifyImageAttribute,
  10684. HTTPMethod: "POST",
  10685. HTTPPath: "/",
  10686. }
  10687. if input == nil {
  10688. input = &ModifyImageAttributeInput{}
  10689. }
  10690. req = c.newRequest(op, input, output)
  10691. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  10692. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  10693. output = &ModifyImageAttributeOutput{}
  10694. req.Data = output
  10695. return
  10696. }
  10697. // ModifyImageAttribute API operation for Amazon Elastic Compute Cloud.
  10698. //
  10699. // Modifies the specified attribute of the specified AMI. You can specify only
  10700. // one attribute at a time.
  10701. //
  10702. // AWS Marketplace product codes cannot be modified. Images with an AWS Marketplace
  10703. // product code cannot be made public.
  10704. //
  10705. // The SriovNetSupport enhanced networking attribute cannot be changed using
  10706. // this command. Instead, enable SriovNetSupport on an instance and create an
  10707. // AMI from the instance. This will result in an image with SriovNetSupport
  10708. // enabled.
  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 ModifyImageAttribute for usage and error information.
  10716. func (c *EC2) ModifyImageAttribute(input *ModifyImageAttributeInput) (*ModifyImageAttributeOutput, error) {
  10717. req, out := c.ModifyImageAttributeRequest(input)
  10718. err := req.Send()
  10719. return out, err
  10720. }
  10721. const opModifyInstanceAttribute = "ModifyInstanceAttribute"
  10722. // ModifyInstanceAttributeRequest generates a "aws/request.Request" representing the
  10723. // client's request for the ModifyInstanceAttribute operation. The "output" return
  10724. // value can be used to capture response data after the request's "Send" method
  10725. // is called.
  10726. //
  10727. // See ModifyInstanceAttribute for usage and error information.
  10728. //
  10729. // Creating a request object using this method should be used when you want to inject
  10730. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10731. // access properties on the request object before or after sending the request. If
  10732. // you just want the service response, call the ModifyInstanceAttribute method directly
  10733. // instead.
  10734. //
  10735. // Note: You must call the "Send" method on the returned request object in order
  10736. // to execute the request.
  10737. //
  10738. // // Example sending a request using the ModifyInstanceAttributeRequest method.
  10739. // req, resp := client.ModifyInstanceAttributeRequest(params)
  10740. //
  10741. // err := req.Send()
  10742. // if err == nil { // resp is now filled
  10743. // fmt.Println(resp)
  10744. // }
  10745. //
  10746. func (c *EC2) ModifyInstanceAttributeRequest(input *ModifyInstanceAttributeInput) (req *request.Request, output *ModifyInstanceAttributeOutput) {
  10747. op := &request.Operation{
  10748. Name: opModifyInstanceAttribute,
  10749. HTTPMethod: "POST",
  10750. HTTPPath: "/",
  10751. }
  10752. if input == nil {
  10753. input = &ModifyInstanceAttributeInput{}
  10754. }
  10755. req = c.newRequest(op, input, output)
  10756. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  10757. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  10758. output = &ModifyInstanceAttributeOutput{}
  10759. req.Data = output
  10760. return
  10761. }
  10762. // ModifyInstanceAttribute API operation for Amazon Elastic Compute Cloud.
  10763. //
  10764. // Modifies the specified attribute of the specified instance. You can specify
  10765. // only one attribute at a time.
  10766. //
  10767. // To modify some attributes, the instance must be stopped. For more information,
  10768. // see Modifying Attributes of a Stopped Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingAttributesWhileInstanceStopped.html)
  10769. // in the Amazon Elastic Compute Cloud User Guide.
  10770. //
  10771. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10772. // with awserr.Error's Code and Message methods to get detailed information about
  10773. // the error.
  10774. //
  10775. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10776. // API operation ModifyInstanceAttribute for usage and error information.
  10777. func (c *EC2) ModifyInstanceAttribute(input *ModifyInstanceAttributeInput) (*ModifyInstanceAttributeOutput, error) {
  10778. req, out := c.ModifyInstanceAttributeRequest(input)
  10779. err := req.Send()
  10780. return out, err
  10781. }
  10782. const opModifyInstancePlacement = "ModifyInstancePlacement"
  10783. // ModifyInstancePlacementRequest generates a "aws/request.Request" representing the
  10784. // client's request for the ModifyInstancePlacement operation. The "output" return
  10785. // value can be used to capture response data after the request's "Send" method
  10786. // is called.
  10787. //
  10788. // See ModifyInstancePlacement for usage and error information.
  10789. //
  10790. // Creating a request object using this method should be used when you want to inject
  10791. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10792. // access properties on the request object before or after sending the request. If
  10793. // you just want the service response, call the ModifyInstancePlacement method directly
  10794. // instead.
  10795. //
  10796. // Note: You must call the "Send" method on the returned request object in order
  10797. // to execute the request.
  10798. //
  10799. // // Example sending a request using the ModifyInstancePlacementRequest method.
  10800. // req, resp := client.ModifyInstancePlacementRequest(params)
  10801. //
  10802. // err := req.Send()
  10803. // if err == nil { // resp is now filled
  10804. // fmt.Println(resp)
  10805. // }
  10806. //
  10807. func (c *EC2) ModifyInstancePlacementRequest(input *ModifyInstancePlacementInput) (req *request.Request, output *ModifyInstancePlacementOutput) {
  10808. op := &request.Operation{
  10809. Name: opModifyInstancePlacement,
  10810. HTTPMethod: "POST",
  10811. HTTPPath: "/",
  10812. }
  10813. if input == nil {
  10814. input = &ModifyInstancePlacementInput{}
  10815. }
  10816. req = c.newRequest(op, input, output)
  10817. output = &ModifyInstancePlacementOutput{}
  10818. req.Data = output
  10819. return
  10820. }
  10821. // ModifyInstancePlacement API operation for Amazon Elastic Compute Cloud.
  10822. //
  10823. // Set the instance affinity value for a specific stopped instance and modify
  10824. // the instance tenancy setting.
  10825. //
  10826. // Instance affinity is disabled by default. When instance affinity is host
  10827. // and it is not associated with a specific Dedicated Host, the next time it
  10828. // is launched it will automatically be associated with the host it lands on.
  10829. // This relationship will persist if the instance is stopped/started, or rebooted.
  10830. //
  10831. // You can modify the host ID associated with a stopped instance. If a stopped
  10832. // instance has a new host ID association, the instance will target that host
  10833. // when restarted.
  10834. //
  10835. // You can modify the tenancy of a stopped instance with a tenancy of host or
  10836. // dedicated.
  10837. //
  10838. // Affinity, hostID, and tenancy are not required parameters, but at least one
  10839. // of them must be specified in the request. Affinity and tenancy can be modified
  10840. // in the same request, but tenancy can only be modified on instances that are
  10841. // stopped.
  10842. //
  10843. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10844. // with awserr.Error's Code and Message methods to get detailed information about
  10845. // the error.
  10846. //
  10847. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10848. // API operation ModifyInstancePlacement for usage and error information.
  10849. func (c *EC2) ModifyInstancePlacement(input *ModifyInstancePlacementInput) (*ModifyInstancePlacementOutput, error) {
  10850. req, out := c.ModifyInstancePlacementRequest(input)
  10851. err := req.Send()
  10852. return out, err
  10853. }
  10854. const opModifyNetworkInterfaceAttribute = "ModifyNetworkInterfaceAttribute"
  10855. // ModifyNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
  10856. // client's request for the ModifyNetworkInterfaceAttribute operation. The "output" return
  10857. // value can be used to capture response data after the request's "Send" method
  10858. // is called.
  10859. //
  10860. // See ModifyNetworkInterfaceAttribute for usage and error information.
  10861. //
  10862. // Creating a request object using this method should be used when you want to inject
  10863. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10864. // access properties on the request object before or after sending the request. If
  10865. // you just want the service response, call the ModifyNetworkInterfaceAttribute method directly
  10866. // instead.
  10867. //
  10868. // Note: You must call the "Send" method on the returned request object in order
  10869. // to execute the request.
  10870. //
  10871. // // Example sending a request using the ModifyNetworkInterfaceAttributeRequest method.
  10872. // req, resp := client.ModifyNetworkInterfaceAttributeRequest(params)
  10873. //
  10874. // err := req.Send()
  10875. // if err == nil { // resp is now filled
  10876. // fmt.Println(resp)
  10877. // }
  10878. //
  10879. func (c *EC2) ModifyNetworkInterfaceAttributeRequest(input *ModifyNetworkInterfaceAttributeInput) (req *request.Request, output *ModifyNetworkInterfaceAttributeOutput) {
  10880. op := &request.Operation{
  10881. Name: opModifyNetworkInterfaceAttribute,
  10882. HTTPMethod: "POST",
  10883. HTTPPath: "/",
  10884. }
  10885. if input == nil {
  10886. input = &ModifyNetworkInterfaceAttributeInput{}
  10887. }
  10888. req = c.newRequest(op, input, output)
  10889. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  10890. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  10891. output = &ModifyNetworkInterfaceAttributeOutput{}
  10892. req.Data = output
  10893. return
  10894. }
  10895. // ModifyNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
  10896. //
  10897. // Modifies the specified network interface attribute. You can specify only
  10898. // one attribute at a time.
  10899. //
  10900. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10901. // with awserr.Error's Code and Message methods to get detailed information about
  10902. // the error.
  10903. //
  10904. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10905. // API operation ModifyNetworkInterfaceAttribute for usage and error information.
  10906. func (c *EC2) ModifyNetworkInterfaceAttribute(input *ModifyNetworkInterfaceAttributeInput) (*ModifyNetworkInterfaceAttributeOutput, error) {
  10907. req, out := c.ModifyNetworkInterfaceAttributeRequest(input)
  10908. err := req.Send()
  10909. return out, err
  10910. }
  10911. const opModifyReservedInstances = "ModifyReservedInstances"
  10912. // ModifyReservedInstancesRequest generates a "aws/request.Request" representing the
  10913. // client's request for the ModifyReservedInstances operation. The "output" return
  10914. // value can be used to capture response data after the request's "Send" method
  10915. // is called.
  10916. //
  10917. // See ModifyReservedInstances for usage and error information.
  10918. //
  10919. // Creating a request object using this method should be used when you want to inject
  10920. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10921. // access properties on the request object before or after sending the request. If
  10922. // you just want the service response, call the ModifyReservedInstances method directly
  10923. // instead.
  10924. //
  10925. // Note: You must call the "Send" method on the returned request object in order
  10926. // to execute the request.
  10927. //
  10928. // // Example sending a request using the ModifyReservedInstancesRequest method.
  10929. // req, resp := client.ModifyReservedInstancesRequest(params)
  10930. //
  10931. // err := req.Send()
  10932. // if err == nil { // resp is now filled
  10933. // fmt.Println(resp)
  10934. // }
  10935. //
  10936. func (c *EC2) ModifyReservedInstancesRequest(input *ModifyReservedInstancesInput) (req *request.Request, output *ModifyReservedInstancesOutput) {
  10937. op := &request.Operation{
  10938. Name: opModifyReservedInstances,
  10939. HTTPMethod: "POST",
  10940. HTTPPath: "/",
  10941. }
  10942. if input == nil {
  10943. input = &ModifyReservedInstancesInput{}
  10944. }
  10945. req = c.newRequest(op, input, output)
  10946. output = &ModifyReservedInstancesOutput{}
  10947. req.Data = output
  10948. return
  10949. }
  10950. // ModifyReservedInstances API operation for Amazon Elastic Compute Cloud.
  10951. //
  10952. // Modifies the Availability Zone, instance count, instance type, or network
  10953. // platform (EC2-Classic or EC2-VPC) of your Standard Reserved Instances. The
  10954. // Reserved Instances to be modified must be identical, except for Availability
  10955. // Zone, network platform, and instance type.
  10956. //
  10957. // For more information, see Modifying Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html)
  10958. // in the Amazon Elastic Compute Cloud User Guide.
  10959. //
  10960. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10961. // with awserr.Error's Code and Message methods to get detailed information about
  10962. // the error.
  10963. //
  10964. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10965. // API operation ModifyReservedInstances for usage and error information.
  10966. func (c *EC2) ModifyReservedInstances(input *ModifyReservedInstancesInput) (*ModifyReservedInstancesOutput, error) {
  10967. req, out := c.ModifyReservedInstancesRequest(input)
  10968. err := req.Send()
  10969. return out, err
  10970. }
  10971. const opModifySnapshotAttribute = "ModifySnapshotAttribute"
  10972. // ModifySnapshotAttributeRequest generates a "aws/request.Request" representing the
  10973. // client's request for the ModifySnapshotAttribute operation. The "output" return
  10974. // value can be used to capture response data after the request's "Send" method
  10975. // is called.
  10976. //
  10977. // See ModifySnapshotAttribute for usage and error information.
  10978. //
  10979. // Creating a request object using this method should be used when you want to inject
  10980. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10981. // access properties on the request object before or after sending the request. If
  10982. // you just want the service response, call the ModifySnapshotAttribute method directly
  10983. // instead.
  10984. //
  10985. // Note: You must call the "Send" method on the returned request object in order
  10986. // to execute the request.
  10987. //
  10988. // // Example sending a request using the ModifySnapshotAttributeRequest method.
  10989. // req, resp := client.ModifySnapshotAttributeRequest(params)
  10990. //
  10991. // err := req.Send()
  10992. // if err == nil { // resp is now filled
  10993. // fmt.Println(resp)
  10994. // }
  10995. //
  10996. func (c *EC2) ModifySnapshotAttributeRequest(input *ModifySnapshotAttributeInput) (req *request.Request, output *ModifySnapshotAttributeOutput) {
  10997. op := &request.Operation{
  10998. Name: opModifySnapshotAttribute,
  10999. HTTPMethod: "POST",
  11000. HTTPPath: "/",
  11001. }
  11002. if input == nil {
  11003. input = &ModifySnapshotAttributeInput{}
  11004. }
  11005. req = c.newRequest(op, input, output)
  11006. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  11007. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  11008. output = &ModifySnapshotAttributeOutput{}
  11009. req.Data = output
  11010. return
  11011. }
  11012. // ModifySnapshotAttribute API operation for Amazon Elastic Compute Cloud.
  11013. //
  11014. // Adds or removes permission settings for the specified snapshot. You may add
  11015. // or remove specified AWS account IDs from a snapshot's list of create volume
  11016. // permissions, but you cannot do both in a single API call. If you need to
  11017. // both add and remove account IDs for a snapshot, you must use multiple API
  11018. // calls.
  11019. //
  11020. // Encrypted snapshots and snapshots with AWS Marketplace product codes cannot
  11021. // be made public. Snapshots encrypted with your default CMK cannot be shared
  11022. // with other accounts.
  11023. //
  11024. // For more information on modifying snapshot permissions, see Sharing Snapshots
  11025. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html)
  11026. // in the Amazon Elastic Compute Cloud User Guide.
  11027. //
  11028. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11029. // with awserr.Error's Code and Message methods to get detailed information about
  11030. // the error.
  11031. //
  11032. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11033. // API operation ModifySnapshotAttribute for usage and error information.
  11034. func (c *EC2) ModifySnapshotAttribute(input *ModifySnapshotAttributeInput) (*ModifySnapshotAttributeOutput, error) {
  11035. req, out := c.ModifySnapshotAttributeRequest(input)
  11036. err := req.Send()
  11037. return out, err
  11038. }
  11039. const opModifySpotFleetRequest = "ModifySpotFleetRequest"
  11040. // ModifySpotFleetRequestRequest generates a "aws/request.Request" representing the
  11041. // client's request for the ModifySpotFleetRequest operation. The "output" return
  11042. // value can be used to capture response data after the request's "Send" method
  11043. // is called.
  11044. //
  11045. // See ModifySpotFleetRequest for usage and error information.
  11046. //
  11047. // Creating a request object using this method should be used when you want to inject
  11048. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11049. // access properties on the request object before or after sending the request. If
  11050. // you just want the service response, call the ModifySpotFleetRequest method directly
  11051. // instead.
  11052. //
  11053. // Note: You must call the "Send" method on the returned request object in order
  11054. // to execute the request.
  11055. //
  11056. // // Example sending a request using the ModifySpotFleetRequestRequest method.
  11057. // req, resp := client.ModifySpotFleetRequestRequest(params)
  11058. //
  11059. // err := req.Send()
  11060. // if err == nil { // resp is now filled
  11061. // fmt.Println(resp)
  11062. // }
  11063. //
  11064. func (c *EC2) ModifySpotFleetRequestRequest(input *ModifySpotFleetRequestInput) (req *request.Request, output *ModifySpotFleetRequestOutput) {
  11065. op := &request.Operation{
  11066. Name: opModifySpotFleetRequest,
  11067. HTTPMethod: "POST",
  11068. HTTPPath: "/",
  11069. }
  11070. if input == nil {
  11071. input = &ModifySpotFleetRequestInput{}
  11072. }
  11073. req = c.newRequest(op, input, output)
  11074. output = &ModifySpotFleetRequestOutput{}
  11075. req.Data = output
  11076. return
  11077. }
  11078. // ModifySpotFleetRequest API operation for Amazon Elastic Compute Cloud.
  11079. //
  11080. // Modifies the specified Spot fleet request.
  11081. //
  11082. // While the Spot fleet request is being modified, it is in the modifying state.
  11083. //
  11084. // To scale up your Spot fleet, increase its target capacity. The Spot fleet
  11085. // launches the additional Spot instances according to the allocation strategy
  11086. // for the Spot fleet request. If the allocation strategy is lowestPrice, the
  11087. // Spot fleet launches instances using the Spot pool with the lowest price.
  11088. // If the allocation strategy is diversified, the Spot fleet distributes the
  11089. // instances across the Spot pools.
  11090. //
  11091. // To scale down your Spot fleet, decrease its target capacity. First, the Spot
  11092. // fleet cancels any open bids that exceed the new target capacity. You can
  11093. // request that the Spot fleet terminate Spot instances until the size of the
  11094. // fleet no longer exceeds the new target capacity. If the allocation strategy
  11095. // is lowestPrice, the Spot fleet terminates the instances with the highest
  11096. // price per unit. If the allocation strategy is diversified, the Spot fleet
  11097. // terminates instances across the Spot pools. Alternatively, you can request
  11098. // that the Spot fleet keep the fleet at its current size, but not replace any
  11099. // Spot instances that are interrupted or that you terminate manually.
  11100. //
  11101. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11102. // with awserr.Error's Code and Message methods to get detailed information about
  11103. // the error.
  11104. //
  11105. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11106. // API operation ModifySpotFleetRequest for usage and error information.
  11107. func (c *EC2) ModifySpotFleetRequest(input *ModifySpotFleetRequestInput) (*ModifySpotFleetRequestOutput, error) {
  11108. req, out := c.ModifySpotFleetRequestRequest(input)
  11109. err := req.Send()
  11110. return out, err
  11111. }
  11112. const opModifySubnetAttribute = "ModifySubnetAttribute"
  11113. // ModifySubnetAttributeRequest generates a "aws/request.Request" representing the
  11114. // client's request for the ModifySubnetAttribute operation. The "output" return
  11115. // value can be used to capture response data after the request's "Send" method
  11116. // is called.
  11117. //
  11118. // See ModifySubnetAttribute for usage and error information.
  11119. //
  11120. // Creating a request object using this method should be used when you want to inject
  11121. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11122. // access properties on the request object before or after sending the request. If
  11123. // you just want the service response, call the ModifySubnetAttribute method directly
  11124. // instead.
  11125. //
  11126. // Note: You must call the "Send" method on the returned request object in order
  11127. // to execute the request.
  11128. //
  11129. // // Example sending a request using the ModifySubnetAttributeRequest method.
  11130. // req, resp := client.ModifySubnetAttributeRequest(params)
  11131. //
  11132. // err := req.Send()
  11133. // if err == nil { // resp is now filled
  11134. // fmt.Println(resp)
  11135. // }
  11136. //
  11137. func (c *EC2) ModifySubnetAttributeRequest(input *ModifySubnetAttributeInput) (req *request.Request, output *ModifySubnetAttributeOutput) {
  11138. op := &request.Operation{
  11139. Name: opModifySubnetAttribute,
  11140. HTTPMethod: "POST",
  11141. HTTPPath: "/",
  11142. }
  11143. if input == nil {
  11144. input = &ModifySubnetAttributeInput{}
  11145. }
  11146. req = c.newRequest(op, input, output)
  11147. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  11148. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  11149. output = &ModifySubnetAttributeOutput{}
  11150. req.Data = output
  11151. return
  11152. }
  11153. // ModifySubnetAttribute API operation for Amazon Elastic Compute Cloud.
  11154. //
  11155. // Modifies a subnet attribute.
  11156. //
  11157. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11158. // with awserr.Error's Code and Message methods to get detailed information about
  11159. // the error.
  11160. //
  11161. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11162. // API operation ModifySubnetAttribute for usage and error information.
  11163. func (c *EC2) ModifySubnetAttribute(input *ModifySubnetAttributeInput) (*ModifySubnetAttributeOutput, error) {
  11164. req, out := c.ModifySubnetAttributeRequest(input)
  11165. err := req.Send()
  11166. return out, err
  11167. }
  11168. const opModifyVolumeAttribute = "ModifyVolumeAttribute"
  11169. // ModifyVolumeAttributeRequest generates a "aws/request.Request" representing the
  11170. // client's request for the ModifyVolumeAttribute operation. The "output" return
  11171. // value can be used to capture response data after the request's "Send" method
  11172. // is called.
  11173. //
  11174. // See ModifyVolumeAttribute for usage and error information.
  11175. //
  11176. // Creating a request object using this method should be used when you want to inject
  11177. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11178. // access properties on the request object before or after sending the request. If
  11179. // you just want the service response, call the ModifyVolumeAttribute method directly
  11180. // instead.
  11181. //
  11182. // Note: You must call the "Send" method on the returned request object in order
  11183. // to execute the request.
  11184. //
  11185. // // Example sending a request using the ModifyVolumeAttributeRequest method.
  11186. // req, resp := client.ModifyVolumeAttributeRequest(params)
  11187. //
  11188. // err := req.Send()
  11189. // if err == nil { // resp is now filled
  11190. // fmt.Println(resp)
  11191. // }
  11192. //
  11193. func (c *EC2) ModifyVolumeAttributeRequest(input *ModifyVolumeAttributeInput) (req *request.Request, output *ModifyVolumeAttributeOutput) {
  11194. op := &request.Operation{
  11195. Name: opModifyVolumeAttribute,
  11196. HTTPMethod: "POST",
  11197. HTTPPath: "/",
  11198. }
  11199. if input == nil {
  11200. input = &ModifyVolumeAttributeInput{}
  11201. }
  11202. req = c.newRequest(op, input, output)
  11203. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  11204. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  11205. output = &ModifyVolumeAttributeOutput{}
  11206. req.Data = output
  11207. return
  11208. }
  11209. // ModifyVolumeAttribute API operation for Amazon Elastic Compute Cloud.
  11210. //
  11211. // Modifies a volume attribute.
  11212. //
  11213. // By default, all I/O operations for the volume are suspended when the data
  11214. // on the volume is determined to be potentially inconsistent, to prevent undetectable,
  11215. // latent data corruption. The I/O access to the volume can be resumed by first
  11216. // enabling I/O access and then checking the data consistency on your volume.
  11217. //
  11218. // You can change the default behavior to resume I/O operations. We recommend
  11219. // that you change this only for boot volumes or for volumes that are stateless
  11220. // or disposable.
  11221. //
  11222. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11223. // with awserr.Error's Code and Message methods to get detailed information about
  11224. // the error.
  11225. //
  11226. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11227. // API operation ModifyVolumeAttribute for usage and error information.
  11228. func (c *EC2) ModifyVolumeAttribute(input *ModifyVolumeAttributeInput) (*ModifyVolumeAttributeOutput, error) {
  11229. req, out := c.ModifyVolumeAttributeRequest(input)
  11230. err := req.Send()
  11231. return out, err
  11232. }
  11233. const opModifyVpcAttribute = "ModifyVpcAttribute"
  11234. // ModifyVpcAttributeRequest generates a "aws/request.Request" representing the
  11235. // client's request for the ModifyVpcAttribute operation. The "output" return
  11236. // value can be used to capture response data after the request's "Send" method
  11237. // is called.
  11238. //
  11239. // See ModifyVpcAttribute for usage and error information.
  11240. //
  11241. // Creating a request object using this method should be used when you want to inject
  11242. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11243. // access properties on the request object before or after sending the request. If
  11244. // you just want the service response, call the ModifyVpcAttribute method directly
  11245. // instead.
  11246. //
  11247. // Note: You must call the "Send" method on the returned request object in order
  11248. // to execute the request.
  11249. //
  11250. // // Example sending a request using the ModifyVpcAttributeRequest method.
  11251. // req, resp := client.ModifyVpcAttributeRequest(params)
  11252. //
  11253. // err := req.Send()
  11254. // if err == nil { // resp is now filled
  11255. // fmt.Println(resp)
  11256. // }
  11257. //
  11258. func (c *EC2) ModifyVpcAttributeRequest(input *ModifyVpcAttributeInput) (req *request.Request, output *ModifyVpcAttributeOutput) {
  11259. op := &request.Operation{
  11260. Name: opModifyVpcAttribute,
  11261. HTTPMethod: "POST",
  11262. HTTPPath: "/",
  11263. }
  11264. if input == nil {
  11265. input = &ModifyVpcAttributeInput{}
  11266. }
  11267. req = c.newRequest(op, input, output)
  11268. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  11269. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  11270. output = &ModifyVpcAttributeOutput{}
  11271. req.Data = output
  11272. return
  11273. }
  11274. // ModifyVpcAttribute API operation for Amazon Elastic Compute Cloud.
  11275. //
  11276. // Modifies the specified attribute of the specified VPC.
  11277. //
  11278. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11279. // with awserr.Error's Code and Message methods to get detailed information about
  11280. // the error.
  11281. //
  11282. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11283. // API operation ModifyVpcAttribute for usage and error information.
  11284. func (c *EC2) ModifyVpcAttribute(input *ModifyVpcAttributeInput) (*ModifyVpcAttributeOutput, error) {
  11285. req, out := c.ModifyVpcAttributeRequest(input)
  11286. err := req.Send()
  11287. return out, err
  11288. }
  11289. const opModifyVpcEndpoint = "ModifyVpcEndpoint"
  11290. // ModifyVpcEndpointRequest generates a "aws/request.Request" representing the
  11291. // client's request for the ModifyVpcEndpoint operation. The "output" return
  11292. // value can be used to capture response data after the request's "Send" method
  11293. // is called.
  11294. //
  11295. // See ModifyVpcEndpoint for usage and error information.
  11296. //
  11297. // Creating a request object using this method should be used when you want to inject
  11298. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11299. // access properties on the request object before or after sending the request. If
  11300. // you just want the service response, call the ModifyVpcEndpoint method directly
  11301. // instead.
  11302. //
  11303. // Note: You must call the "Send" method on the returned request object in order
  11304. // to execute the request.
  11305. //
  11306. // // Example sending a request using the ModifyVpcEndpointRequest method.
  11307. // req, resp := client.ModifyVpcEndpointRequest(params)
  11308. //
  11309. // err := req.Send()
  11310. // if err == nil { // resp is now filled
  11311. // fmt.Println(resp)
  11312. // }
  11313. //
  11314. func (c *EC2) ModifyVpcEndpointRequest(input *ModifyVpcEndpointInput) (req *request.Request, output *ModifyVpcEndpointOutput) {
  11315. op := &request.Operation{
  11316. Name: opModifyVpcEndpoint,
  11317. HTTPMethod: "POST",
  11318. HTTPPath: "/",
  11319. }
  11320. if input == nil {
  11321. input = &ModifyVpcEndpointInput{}
  11322. }
  11323. req = c.newRequest(op, input, output)
  11324. output = &ModifyVpcEndpointOutput{}
  11325. req.Data = output
  11326. return
  11327. }
  11328. // ModifyVpcEndpoint API operation for Amazon Elastic Compute Cloud.
  11329. //
  11330. // Modifies attributes of a specified VPC endpoint. You can modify the policy
  11331. // associated with the endpoint, and you can add and remove route tables associated
  11332. // with the endpoint.
  11333. //
  11334. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11335. // with awserr.Error's Code and Message methods to get detailed information about
  11336. // the error.
  11337. //
  11338. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11339. // API operation ModifyVpcEndpoint for usage and error information.
  11340. func (c *EC2) ModifyVpcEndpoint(input *ModifyVpcEndpointInput) (*ModifyVpcEndpointOutput, error) {
  11341. req, out := c.ModifyVpcEndpointRequest(input)
  11342. err := req.Send()
  11343. return out, err
  11344. }
  11345. const opModifyVpcPeeringConnectionOptions = "ModifyVpcPeeringConnectionOptions"
  11346. // ModifyVpcPeeringConnectionOptionsRequest generates a "aws/request.Request" representing the
  11347. // client's request for the ModifyVpcPeeringConnectionOptions operation. The "output" return
  11348. // value can be used to capture response data after the request's "Send" method
  11349. // is called.
  11350. //
  11351. // See ModifyVpcPeeringConnectionOptions for usage and error information.
  11352. //
  11353. // Creating a request object using this method should be used when you want to inject
  11354. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11355. // access properties on the request object before or after sending the request. If
  11356. // you just want the service response, call the ModifyVpcPeeringConnectionOptions method directly
  11357. // instead.
  11358. //
  11359. // Note: You must call the "Send" method on the returned request object in order
  11360. // to execute the request.
  11361. //
  11362. // // Example sending a request using the ModifyVpcPeeringConnectionOptionsRequest method.
  11363. // req, resp := client.ModifyVpcPeeringConnectionOptionsRequest(params)
  11364. //
  11365. // err := req.Send()
  11366. // if err == nil { // resp is now filled
  11367. // fmt.Println(resp)
  11368. // }
  11369. //
  11370. func (c *EC2) ModifyVpcPeeringConnectionOptionsRequest(input *ModifyVpcPeeringConnectionOptionsInput) (req *request.Request, output *ModifyVpcPeeringConnectionOptionsOutput) {
  11371. op := &request.Operation{
  11372. Name: opModifyVpcPeeringConnectionOptions,
  11373. HTTPMethod: "POST",
  11374. HTTPPath: "/",
  11375. }
  11376. if input == nil {
  11377. input = &ModifyVpcPeeringConnectionOptionsInput{}
  11378. }
  11379. req = c.newRequest(op, input, output)
  11380. output = &ModifyVpcPeeringConnectionOptionsOutput{}
  11381. req.Data = output
  11382. return
  11383. }
  11384. // ModifyVpcPeeringConnectionOptions API operation for Amazon Elastic Compute Cloud.
  11385. //
  11386. // Modifies the VPC peering connection options on one side of a VPC peering
  11387. // connection. You can do the following:
  11388. //
  11389. // * Enable/disable communication over the peering connection between an
  11390. // EC2-Classic instance that's linked to your VPC (using ClassicLink) and
  11391. // instances in the peer VPC.
  11392. //
  11393. // * Enable/disable communication over the peering connection between instances
  11394. // in your VPC and an EC2-Classic instance that's linked to the peer VPC.
  11395. //
  11396. // * Enable/disable a local VPC to resolve public DNS hostnames to private
  11397. // IP addresses when queried from instances in the peer VPC.
  11398. //
  11399. // If the peered VPCs are in different accounts, each owner must initiate a
  11400. // separate request to modify the peering connection options, depending on whether
  11401. // their VPC was the requester or accepter for the VPC peering connection. If
  11402. // the peered VPCs are in the same account, you can modify the requester and
  11403. // accepter options in the same request. To confirm which VPC is the accepter
  11404. // and requester for a VPC peering connection, use the DescribeVpcPeeringConnections
  11405. // command.
  11406. //
  11407. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11408. // with awserr.Error's Code and Message methods to get detailed information about
  11409. // the error.
  11410. //
  11411. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11412. // API operation ModifyVpcPeeringConnectionOptions for usage and error information.
  11413. func (c *EC2) ModifyVpcPeeringConnectionOptions(input *ModifyVpcPeeringConnectionOptionsInput) (*ModifyVpcPeeringConnectionOptionsOutput, error) {
  11414. req, out := c.ModifyVpcPeeringConnectionOptionsRequest(input)
  11415. err := req.Send()
  11416. return out, err
  11417. }
  11418. const opMonitorInstances = "MonitorInstances"
  11419. // MonitorInstancesRequest generates a "aws/request.Request" representing the
  11420. // client's request for the MonitorInstances operation. The "output" return
  11421. // value can be used to capture response data after the request's "Send" method
  11422. // is called.
  11423. //
  11424. // See MonitorInstances for usage and error information.
  11425. //
  11426. // Creating a request object using this method should be used when you want to inject
  11427. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11428. // access properties on the request object before or after sending the request. If
  11429. // you just want the service response, call the MonitorInstances method directly
  11430. // instead.
  11431. //
  11432. // Note: You must call the "Send" method on the returned request object in order
  11433. // to execute the request.
  11434. //
  11435. // // Example sending a request using the MonitorInstancesRequest method.
  11436. // req, resp := client.MonitorInstancesRequest(params)
  11437. //
  11438. // err := req.Send()
  11439. // if err == nil { // resp is now filled
  11440. // fmt.Println(resp)
  11441. // }
  11442. //
  11443. func (c *EC2) MonitorInstancesRequest(input *MonitorInstancesInput) (req *request.Request, output *MonitorInstancesOutput) {
  11444. op := &request.Operation{
  11445. Name: opMonitorInstances,
  11446. HTTPMethod: "POST",
  11447. HTTPPath: "/",
  11448. }
  11449. if input == nil {
  11450. input = &MonitorInstancesInput{}
  11451. }
  11452. req = c.newRequest(op, input, output)
  11453. output = &MonitorInstancesOutput{}
  11454. req.Data = output
  11455. return
  11456. }
  11457. // MonitorInstances API operation for Amazon Elastic Compute Cloud.
  11458. //
  11459. // Enables monitoring for a running instance. For more information about monitoring
  11460. // instances, see Monitoring Your Instances and Volumes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html)
  11461. // in the Amazon Elastic Compute Cloud User Guide.
  11462. //
  11463. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11464. // with awserr.Error's Code and Message methods to get detailed information about
  11465. // the error.
  11466. //
  11467. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11468. // API operation MonitorInstances for usage and error information.
  11469. func (c *EC2) MonitorInstances(input *MonitorInstancesInput) (*MonitorInstancesOutput, error) {
  11470. req, out := c.MonitorInstancesRequest(input)
  11471. err := req.Send()
  11472. return out, err
  11473. }
  11474. const opMoveAddressToVpc = "MoveAddressToVpc"
  11475. // MoveAddressToVpcRequest generates a "aws/request.Request" representing the
  11476. // client's request for the MoveAddressToVpc operation. The "output" return
  11477. // value can be used to capture response data after the request's "Send" method
  11478. // is called.
  11479. //
  11480. // See MoveAddressToVpc for usage and error information.
  11481. //
  11482. // Creating a request object using this method should be used when you want to inject
  11483. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11484. // access properties on the request object before or after sending the request. If
  11485. // you just want the service response, call the MoveAddressToVpc method directly
  11486. // instead.
  11487. //
  11488. // Note: You must call the "Send" method on the returned request object in order
  11489. // to execute the request.
  11490. //
  11491. // // Example sending a request using the MoveAddressToVpcRequest method.
  11492. // req, resp := client.MoveAddressToVpcRequest(params)
  11493. //
  11494. // err := req.Send()
  11495. // if err == nil { // resp is now filled
  11496. // fmt.Println(resp)
  11497. // }
  11498. //
  11499. func (c *EC2) MoveAddressToVpcRequest(input *MoveAddressToVpcInput) (req *request.Request, output *MoveAddressToVpcOutput) {
  11500. op := &request.Operation{
  11501. Name: opMoveAddressToVpc,
  11502. HTTPMethod: "POST",
  11503. HTTPPath: "/",
  11504. }
  11505. if input == nil {
  11506. input = &MoveAddressToVpcInput{}
  11507. }
  11508. req = c.newRequest(op, input, output)
  11509. output = &MoveAddressToVpcOutput{}
  11510. req.Data = output
  11511. return
  11512. }
  11513. // MoveAddressToVpc API operation for Amazon Elastic Compute Cloud.
  11514. //
  11515. // Moves an Elastic IP address from the EC2-Classic platform to the EC2-VPC
  11516. // platform. The Elastic IP address must be allocated to your account for more
  11517. // than 24 hours, and it must not be associated with an instance. After the
  11518. // Elastic IP address is moved, it is no longer available for use in the EC2-Classic
  11519. // platform, unless you move it back using the RestoreAddressToClassic request.
  11520. // You cannot move an Elastic IP address that was originally allocated for use
  11521. // in the EC2-VPC platform to the EC2-Classic platform.
  11522. //
  11523. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11524. // with awserr.Error's Code and Message methods to get detailed information about
  11525. // the error.
  11526. //
  11527. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11528. // API operation MoveAddressToVpc for usage and error information.
  11529. func (c *EC2) MoveAddressToVpc(input *MoveAddressToVpcInput) (*MoveAddressToVpcOutput, error) {
  11530. req, out := c.MoveAddressToVpcRequest(input)
  11531. err := req.Send()
  11532. return out, err
  11533. }
  11534. const opPurchaseHostReservation = "PurchaseHostReservation"
  11535. // PurchaseHostReservationRequest generates a "aws/request.Request" representing the
  11536. // client's request for the PurchaseHostReservation operation. The "output" return
  11537. // value can be used to capture response data after the request's "Send" method
  11538. // is called.
  11539. //
  11540. // See PurchaseHostReservation for usage and error information.
  11541. //
  11542. // Creating a request object using this method should be used when you want to inject
  11543. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11544. // access properties on the request object before or after sending the request. If
  11545. // you just want the service response, call the PurchaseHostReservation method directly
  11546. // instead.
  11547. //
  11548. // Note: You must call the "Send" method on the returned request object in order
  11549. // to execute the request.
  11550. //
  11551. // // Example sending a request using the PurchaseHostReservationRequest method.
  11552. // req, resp := client.PurchaseHostReservationRequest(params)
  11553. //
  11554. // err := req.Send()
  11555. // if err == nil { // resp is now filled
  11556. // fmt.Println(resp)
  11557. // }
  11558. //
  11559. func (c *EC2) PurchaseHostReservationRequest(input *PurchaseHostReservationInput) (req *request.Request, output *PurchaseHostReservationOutput) {
  11560. op := &request.Operation{
  11561. Name: opPurchaseHostReservation,
  11562. HTTPMethod: "POST",
  11563. HTTPPath: "/",
  11564. }
  11565. if input == nil {
  11566. input = &PurchaseHostReservationInput{}
  11567. }
  11568. req = c.newRequest(op, input, output)
  11569. output = &PurchaseHostReservationOutput{}
  11570. req.Data = output
  11571. return
  11572. }
  11573. // PurchaseHostReservation API operation for Amazon Elastic Compute Cloud.
  11574. //
  11575. // Purchase a reservation with configurations that match those of your Dedicated
  11576. // Host. You must have active Dedicated Hosts in your account before you purchase
  11577. // a reservation. This action results in the specified reservation being purchased
  11578. // and charged to your account.
  11579. //
  11580. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11581. // with awserr.Error's Code and Message methods to get detailed information about
  11582. // the error.
  11583. //
  11584. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11585. // API operation PurchaseHostReservation for usage and error information.
  11586. func (c *EC2) PurchaseHostReservation(input *PurchaseHostReservationInput) (*PurchaseHostReservationOutput, error) {
  11587. req, out := c.PurchaseHostReservationRequest(input)
  11588. err := req.Send()
  11589. return out, err
  11590. }
  11591. const opPurchaseReservedInstancesOffering = "PurchaseReservedInstancesOffering"
  11592. // PurchaseReservedInstancesOfferingRequest generates a "aws/request.Request" representing the
  11593. // client's request for the PurchaseReservedInstancesOffering operation. The "output" return
  11594. // value can be used to capture response data after the request's "Send" method
  11595. // is called.
  11596. //
  11597. // See PurchaseReservedInstancesOffering for usage and error information.
  11598. //
  11599. // Creating a request object using this method should be used when you want to inject
  11600. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11601. // access properties on the request object before or after sending the request. If
  11602. // you just want the service response, call the PurchaseReservedInstancesOffering method directly
  11603. // instead.
  11604. //
  11605. // Note: You must call the "Send" method on the returned request object in order
  11606. // to execute the request.
  11607. //
  11608. // // Example sending a request using the PurchaseReservedInstancesOfferingRequest method.
  11609. // req, resp := client.PurchaseReservedInstancesOfferingRequest(params)
  11610. //
  11611. // err := req.Send()
  11612. // if err == nil { // resp is now filled
  11613. // fmt.Println(resp)
  11614. // }
  11615. //
  11616. func (c *EC2) PurchaseReservedInstancesOfferingRequest(input *PurchaseReservedInstancesOfferingInput) (req *request.Request, output *PurchaseReservedInstancesOfferingOutput) {
  11617. op := &request.Operation{
  11618. Name: opPurchaseReservedInstancesOffering,
  11619. HTTPMethod: "POST",
  11620. HTTPPath: "/",
  11621. }
  11622. if input == nil {
  11623. input = &PurchaseReservedInstancesOfferingInput{}
  11624. }
  11625. req = c.newRequest(op, input, output)
  11626. output = &PurchaseReservedInstancesOfferingOutput{}
  11627. req.Data = output
  11628. return
  11629. }
  11630. // PurchaseReservedInstancesOffering API operation for Amazon Elastic Compute Cloud.
  11631. //
  11632. // Purchases a Reserved Instance for use with your account. With Reserved Instances,
  11633. // you pay a lower hourly rate compared to On-Demand instance pricing.
  11634. //
  11635. // Use DescribeReservedInstancesOfferings to get a list of Reserved Instance
  11636. // offerings that match your specifications. After you've purchased a Reserved
  11637. // Instance, you can check for your new Reserved Instance with DescribeReservedInstances.
  11638. //
  11639. // For more information, see Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html)
  11640. // and Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  11641. // in the Amazon Elastic Compute Cloud User Guide.
  11642. //
  11643. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11644. // with awserr.Error's Code and Message methods to get detailed information about
  11645. // the error.
  11646. //
  11647. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11648. // API operation PurchaseReservedInstancesOffering for usage and error information.
  11649. func (c *EC2) PurchaseReservedInstancesOffering(input *PurchaseReservedInstancesOfferingInput) (*PurchaseReservedInstancesOfferingOutput, error) {
  11650. req, out := c.PurchaseReservedInstancesOfferingRequest(input)
  11651. err := req.Send()
  11652. return out, err
  11653. }
  11654. const opPurchaseScheduledInstances = "PurchaseScheduledInstances"
  11655. // PurchaseScheduledInstancesRequest generates a "aws/request.Request" representing the
  11656. // client's request for the PurchaseScheduledInstances operation. The "output" return
  11657. // value can be used to capture response data after the request's "Send" method
  11658. // is called.
  11659. //
  11660. // See PurchaseScheduledInstances for usage and error information.
  11661. //
  11662. // Creating a request object using this method should be used when you want to inject
  11663. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11664. // access properties on the request object before or after sending the request. If
  11665. // you just want the service response, call the PurchaseScheduledInstances method directly
  11666. // instead.
  11667. //
  11668. // Note: You must call the "Send" method on the returned request object in order
  11669. // to execute the request.
  11670. //
  11671. // // Example sending a request using the PurchaseScheduledInstancesRequest method.
  11672. // req, resp := client.PurchaseScheduledInstancesRequest(params)
  11673. //
  11674. // err := req.Send()
  11675. // if err == nil { // resp is now filled
  11676. // fmt.Println(resp)
  11677. // }
  11678. //
  11679. func (c *EC2) PurchaseScheduledInstancesRequest(input *PurchaseScheduledInstancesInput) (req *request.Request, output *PurchaseScheduledInstancesOutput) {
  11680. op := &request.Operation{
  11681. Name: opPurchaseScheduledInstances,
  11682. HTTPMethod: "POST",
  11683. HTTPPath: "/",
  11684. }
  11685. if input == nil {
  11686. input = &PurchaseScheduledInstancesInput{}
  11687. }
  11688. req = c.newRequest(op, input, output)
  11689. output = &PurchaseScheduledInstancesOutput{}
  11690. req.Data = output
  11691. return
  11692. }
  11693. // PurchaseScheduledInstances API operation for Amazon Elastic Compute Cloud.
  11694. //
  11695. // Purchases one or more Scheduled Instances with the specified schedule.
  11696. //
  11697. // Scheduled Instances enable you to purchase Amazon EC2 compute capacity by
  11698. // the hour for a one-year term. Before you can purchase a Scheduled Instance,
  11699. // you must call DescribeScheduledInstanceAvailability to check for available
  11700. // schedules and obtain a purchase token. After you purchase a Scheduled Instance,
  11701. // you must call RunScheduledInstances during each scheduled time period.
  11702. //
  11703. // After you purchase a Scheduled Instance, you can't cancel, modify, or resell
  11704. // your purchase.
  11705. //
  11706. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11707. // with awserr.Error's Code and Message methods to get detailed information about
  11708. // the error.
  11709. //
  11710. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11711. // API operation PurchaseScheduledInstances for usage and error information.
  11712. func (c *EC2) PurchaseScheduledInstances(input *PurchaseScheduledInstancesInput) (*PurchaseScheduledInstancesOutput, error) {
  11713. req, out := c.PurchaseScheduledInstancesRequest(input)
  11714. err := req.Send()
  11715. return out, err
  11716. }
  11717. const opRebootInstances = "RebootInstances"
  11718. // RebootInstancesRequest generates a "aws/request.Request" representing the
  11719. // client's request for the RebootInstances operation. The "output" return
  11720. // value can be used to capture response data after the request's "Send" method
  11721. // is called.
  11722. //
  11723. // See RebootInstances for usage and error information.
  11724. //
  11725. // Creating a request object using this method should be used when you want to inject
  11726. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11727. // access properties on the request object before or after sending the request. If
  11728. // you just want the service response, call the RebootInstances method directly
  11729. // instead.
  11730. //
  11731. // Note: You must call the "Send" method on the returned request object in order
  11732. // to execute the request.
  11733. //
  11734. // // Example sending a request using the RebootInstancesRequest method.
  11735. // req, resp := client.RebootInstancesRequest(params)
  11736. //
  11737. // err := req.Send()
  11738. // if err == nil { // resp is now filled
  11739. // fmt.Println(resp)
  11740. // }
  11741. //
  11742. func (c *EC2) RebootInstancesRequest(input *RebootInstancesInput) (req *request.Request, output *RebootInstancesOutput) {
  11743. op := &request.Operation{
  11744. Name: opRebootInstances,
  11745. HTTPMethod: "POST",
  11746. HTTPPath: "/",
  11747. }
  11748. if input == nil {
  11749. input = &RebootInstancesInput{}
  11750. }
  11751. req = c.newRequest(op, input, output)
  11752. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  11753. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  11754. output = &RebootInstancesOutput{}
  11755. req.Data = output
  11756. return
  11757. }
  11758. // RebootInstances API operation for Amazon Elastic Compute Cloud.
  11759. //
  11760. // Requests a reboot of one or more instances. This operation is asynchronous;
  11761. // it only queues a request to reboot the specified instances. The operation
  11762. // succeeds if the instances are valid and belong to you. Requests to reboot
  11763. // terminated instances are ignored.
  11764. //
  11765. // If an instance does not cleanly shut down within four minutes, Amazon EC2
  11766. // performs a hard reboot.
  11767. //
  11768. // For more information about troubleshooting, see Getting Console Output and
  11769. // Rebooting Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html)
  11770. // in the Amazon Elastic Compute Cloud User Guide.
  11771. //
  11772. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11773. // with awserr.Error's Code and Message methods to get detailed information about
  11774. // the error.
  11775. //
  11776. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11777. // API operation RebootInstances for usage and error information.
  11778. func (c *EC2) RebootInstances(input *RebootInstancesInput) (*RebootInstancesOutput, error) {
  11779. req, out := c.RebootInstancesRequest(input)
  11780. err := req.Send()
  11781. return out, err
  11782. }
  11783. const opRegisterImage = "RegisterImage"
  11784. // RegisterImageRequest generates a "aws/request.Request" representing the
  11785. // client's request for the RegisterImage operation. The "output" return
  11786. // value can be used to capture response data after the request's "Send" method
  11787. // is called.
  11788. //
  11789. // See RegisterImage for usage and error information.
  11790. //
  11791. // Creating a request object using this method should be used when you want to inject
  11792. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11793. // access properties on the request object before or after sending the request. If
  11794. // you just want the service response, call the RegisterImage method directly
  11795. // instead.
  11796. //
  11797. // Note: You must call the "Send" method on the returned request object in order
  11798. // to execute the request.
  11799. //
  11800. // // Example sending a request using the RegisterImageRequest method.
  11801. // req, resp := client.RegisterImageRequest(params)
  11802. //
  11803. // err := req.Send()
  11804. // if err == nil { // resp is now filled
  11805. // fmt.Println(resp)
  11806. // }
  11807. //
  11808. func (c *EC2) RegisterImageRequest(input *RegisterImageInput) (req *request.Request, output *RegisterImageOutput) {
  11809. op := &request.Operation{
  11810. Name: opRegisterImage,
  11811. HTTPMethod: "POST",
  11812. HTTPPath: "/",
  11813. }
  11814. if input == nil {
  11815. input = &RegisterImageInput{}
  11816. }
  11817. req = c.newRequest(op, input, output)
  11818. output = &RegisterImageOutput{}
  11819. req.Data = output
  11820. return
  11821. }
  11822. // RegisterImage API operation for Amazon Elastic Compute Cloud.
  11823. //
  11824. // Registers an AMI. When you're creating an AMI, this is the final step you
  11825. // must complete before you can launch an instance from the AMI. For more information
  11826. // about creating AMIs, see Creating Your Own AMIs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami.html)
  11827. // in the Amazon Elastic Compute Cloud User Guide.
  11828. //
  11829. // For Amazon EBS-backed instances, CreateImage creates and registers the AMI
  11830. // in a single request, so you don't have to register the AMI yourself.
  11831. //
  11832. // You can also use RegisterImage to create an Amazon EBS-backed Linux AMI from
  11833. // a snapshot of a root device volume. For more information, see Launching an
  11834. // Instance from a Snapshot (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_LaunchingInstanceFromSnapshot.html)
  11835. // in the Amazon Elastic Compute Cloud User Guide.
  11836. //
  11837. // Some Linux distributions, such as Red Hat Enterprise Linux (RHEL) and SUSE
  11838. // Linux Enterprise Server (SLES), use the EC2 billingProduct code associated
  11839. // with an AMI to verify subscription status for package updates. Creating an
  11840. // AMI from an EBS snapshot does not maintain this billing code, and subsequent
  11841. // instances launched from such an AMI will not be able to connect to package
  11842. // update infrastructure.
  11843. //
  11844. // Similarly, although you can create a Windows AMI from a snapshot, you can't
  11845. // successfully launch an instance from the AMI.
  11846. //
  11847. // To create Windows AMIs or to create AMIs for Linux operating systems that
  11848. // must retain AMI billing codes to work properly, see CreateImage.
  11849. //
  11850. // If needed, you can deregister an AMI at any time. Any modifications you make
  11851. // to an AMI backed by an instance store volume invalidates its registration.
  11852. // If you make changes to an image, deregister the previous image and register
  11853. // the new image.
  11854. //
  11855. // You can't register an image where a secondary (non-root) snapshot has AWS
  11856. // Marketplace product codes.
  11857. //
  11858. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11859. // with awserr.Error's Code and Message methods to get detailed information about
  11860. // the error.
  11861. //
  11862. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11863. // API operation RegisterImage for usage and error information.
  11864. func (c *EC2) RegisterImage(input *RegisterImageInput) (*RegisterImageOutput, error) {
  11865. req, out := c.RegisterImageRequest(input)
  11866. err := req.Send()
  11867. return out, err
  11868. }
  11869. const opRejectVpcPeeringConnection = "RejectVpcPeeringConnection"
  11870. // RejectVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
  11871. // client's request for the RejectVpcPeeringConnection operation. The "output" return
  11872. // value can be used to capture response data after the request's "Send" method
  11873. // is called.
  11874. //
  11875. // See RejectVpcPeeringConnection for usage and error information.
  11876. //
  11877. // Creating a request object using this method should be used when you want to inject
  11878. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11879. // access properties on the request object before or after sending the request. If
  11880. // you just want the service response, call the RejectVpcPeeringConnection method directly
  11881. // instead.
  11882. //
  11883. // Note: You must call the "Send" method on the returned request object in order
  11884. // to execute the request.
  11885. //
  11886. // // Example sending a request using the RejectVpcPeeringConnectionRequest method.
  11887. // req, resp := client.RejectVpcPeeringConnectionRequest(params)
  11888. //
  11889. // err := req.Send()
  11890. // if err == nil { // resp is now filled
  11891. // fmt.Println(resp)
  11892. // }
  11893. //
  11894. func (c *EC2) RejectVpcPeeringConnectionRequest(input *RejectVpcPeeringConnectionInput) (req *request.Request, output *RejectVpcPeeringConnectionOutput) {
  11895. op := &request.Operation{
  11896. Name: opRejectVpcPeeringConnection,
  11897. HTTPMethod: "POST",
  11898. HTTPPath: "/",
  11899. }
  11900. if input == nil {
  11901. input = &RejectVpcPeeringConnectionInput{}
  11902. }
  11903. req = c.newRequest(op, input, output)
  11904. output = &RejectVpcPeeringConnectionOutput{}
  11905. req.Data = output
  11906. return
  11907. }
  11908. // RejectVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
  11909. //
  11910. // Rejects a VPC peering connection request. The VPC peering connection must
  11911. // be in the pending-acceptance state. Use the DescribeVpcPeeringConnections
  11912. // request to view your outstanding VPC peering connection requests. To delete
  11913. // an active VPC peering connection, or to delete a VPC peering connection request
  11914. // that you initiated, use DeleteVpcPeeringConnection.
  11915. //
  11916. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11917. // with awserr.Error's Code and Message methods to get detailed information about
  11918. // the error.
  11919. //
  11920. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11921. // API operation RejectVpcPeeringConnection for usage and error information.
  11922. func (c *EC2) RejectVpcPeeringConnection(input *RejectVpcPeeringConnectionInput) (*RejectVpcPeeringConnectionOutput, error) {
  11923. req, out := c.RejectVpcPeeringConnectionRequest(input)
  11924. err := req.Send()
  11925. return out, err
  11926. }
  11927. const opReleaseAddress = "ReleaseAddress"
  11928. // ReleaseAddressRequest generates a "aws/request.Request" representing the
  11929. // client's request for the ReleaseAddress operation. The "output" return
  11930. // value can be used to capture response data after the request's "Send" method
  11931. // is called.
  11932. //
  11933. // See ReleaseAddress for usage and error information.
  11934. //
  11935. // Creating a request object using this method should be used when you want to inject
  11936. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11937. // access properties on the request object before or after sending the request. If
  11938. // you just want the service response, call the ReleaseAddress method directly
  11939. // instead.
  11940. //
  11941. // Note: You must call the "Send" method on the returned request object in order
  11942. // to execute the request.
  11943. //
  11944. // // Example sending a request using the ReleaseAddressRequest method.
  11945. // req, resp := client.ReleaseAddressRequest(params)
  11946. //
  11947. // err := req.Send()
  11948. // if err == nil { // resp is now filled
  11949. // fmt.Println(resp)
  11950. // }
  11951. //
  11952. func (c *EC2) ReleaseAddressRequest(input *ReleaseAddressInput) (req *request.Request, output *ReleaseAddressOutput) {
  11953. op := &request.Operation{
  11954. Name: opReleaseAddress,
  11955. HTTPMethod: "POST",
  11956. HTTPPath: "/",
  11957. }
  11958. if input == nil {
  11959. input = &ReleaseAddressInput{}
  11960. }
  11961. req = c.newRequest(op, input, output)
  11962. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  11963. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  11964. output = &ReleaseAddressOutput{}
  11965. req.Data = output
  11966. return
  11967. }
  11968. // ReleaseAddress API operation for Amazon Elastic Compute Cloud.
  11969. //
  11970. // Releases the specified Elastic IP address.
  11971. //
  11972. // After releasing an Elastic IP address, it is released to the IP address pool
  11973. // and might be unavailable to you. Be sure to update your DNS records and any
  11974. // servers or devices that communicate with the address. If you attempt to release
  11975. // an Elastic IP address that you already released, you'll get an AuthFailure
  11976. // error if the address is already allocated to another AWS account.
  11977. //
  11978. // [EC2-Classic, default VPC] Releasing an Elastic IP address automatically
  11979. // disassociates it from any instance that it's associated with. To disassociate
  11980. // an Elastic IP address without releasing it, use DisassociateAddress.
  11981. //
  11982. // [Nondefault VPC] You must use DisassociateAddress to disassociate the Elastic
  11983. // IP address before you try to release it. Otherwise, Amazon EC2 returns an
  11984. // error (InvalidIPAddress.InUse).
  11985. //
  11986. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11987. // with awserr.Error's Code and Message methods to get detailed information about
  11988. // the error.
  11989. //
  11990. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11991. // API operation ReleaseAddress for usage and error information.
  11992. func (c *EC2) ReleaseAddress(input *ReleaseAddressInput) (*ReleaseAddressOutput, error) {
  11993. req, out := c.ReleaseAddressRequest(input)
  11994. err := req.Send()
  11995. return out, err
  11996. }
  11997. const opReleaseHosts = "ReleaseHosts"
  11998. // ReleaseHostsRequest generates a "aws/request.Request" representing the
  11999. // client's request for the ReleaseHosts operation. The "output" return
  12000. // value can be used to capture response data after the request's "Send" method
  12001. // is called.
  12002. //
  12003. // See ReleaseHosts for usage and error information.
  12004. //
  12005. // Creating a request object using this method should be used when you want to inject
  12006. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12007. // access properties on the request object before or after sending the request. If
  12008. // you just want the service response, call the ReleaseHosts method directly
  12009. // instead.
  12010. //
  12011. // Note: You must call the "Send" method on the returned request object in order
  12012. // to execute the request.
  12013. //
  12014. // // Example sending a request using the ReleaseHostsRequest method.
  12015. // req, resp := client.ReleaseHostsRequest(params)
  12016. //
  12017. // err := req.Send()
  12018. // if err == nil { // resp is now filled
  12019. // fmt.Println(resp)
  12020. // }
  12021. //
  12022. func (c *EC2) ReleaseHostsRequest(input *ReleaseHostsInput) (req *request.Request, output *ReleaseHostsOutput) {
  12023. op := &request.Operation{
  12024. Name: opReleaseHosts,
  12025. HTTPMethod: "POST",
  12026. HTTPPath: "/",
  12027. }
  12028. if input == nil {
  12029. input = &ReleaseHostsInput{}
  12030. }
  12031. req = c.newRequest(op, input, output)
  12032. output = &ReleaseHostsOutput{}
  12033. req.Data = output
  12034. return
  12035. }
  12036. // ReleaseHosts API operation for Amazon Elastic Compute Cloud.
  12037. //
  12038. // When you no longer want to use an On-Demand Dedicated Host it can be released.
  12039. // On-Demand billing is stopped and the host goes into released state. The host
  12040. // ID of Dedicated Hosts that have been released can no longer be specified
  12041. // in another request, e.g., ModifyHosts. You must stop or terminate all instances
  12042. // on a host before it can be released.
  12043. //
  12044. // When Dedicated Hosts are released, it make take some time for them to stop
  12045. // counting toward your limit and you may receive capacity errors when trying
  12046. // to allocate new Dedicated hosts. Try waiting a few minutes, and then try
  12047. // again.
  12048. //
  12049. // Released hosts will still appear in a DescribeHosts response.
  12050. //
  12051. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12052. // with awserr.Error's Code and Message methods to get detailed information about
  12053. // the error.
  12054. //
  12055. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12056. // API operation ReleaseHosts for usage and error information.
  12057. func (c *EC2) ReleaseHosts(input *ReleaseHostsInput) (*ReleaseHostsOutput, error) {
  12058. req, out := c.ReleaseHostsRequest(input)
  12059. err := req.Send()
  12060. return out, err
  12061. }
  12062. const opReplaceNetworkAclAssociation = "ReplaceNetworkAclAssociation"
  12063. // ReplaceNetworkAclAssociationRequest generates a "aws/request.Request" representing the
  12064. // client's request for the ReplaceNetworkAclAssociation operation. The "output" return
  12065. // value can be used to capture response data after the request's "Send" method
  12066. // is called.
  12067. //
  12068. // See ReplaceNetworkAclAssociation for usage and error information.
  12069. //
  12070. // Creating a request object using this method should be used when you want to inject
  12071. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12072. // access properties on the request object before or after sending the request. If
  12073. // you just want the service response, call the ReplaceNetworkAclAssociation method directly
  12074. // instead.
  12075. //
  12076. // Note: You must call the "Send" method on the returned request object in order
  12077. // to execute the request.
  12078. //
  12079. // // Example sending a request using the ReplaceNetworkAclAssociationRequest method.
  12080. // req, resp := client.ReplaceNetworkAclAssociationRequest(params)
  12081. //
  12082. // err := req.Send()
  12083. // if err == nil { // resp is now filled
  12084. // fmt.Println(resp)
  12085. // }
  12086. //
  12087. func (c *EC2) ReplaceNetworkAclAssociationRequest(input *ReplaceNetworkAclAssociationInput) (req *request.Request, output *ReplaceNetworkAclAssociationOutput) {
  12088. op := &request.Operation{
  12089. Name: opReplaceNetworkAclAssociation,
  12090. HTTPMethod: "POST",
  12091. HTTPPath: "/",
  12092. }
  12093. if input == nil {
  12094. input = &ReplaceNetworkAclAssociationInput{}
  12095. }
  12096. req = c.newRequest(op, input, output)
  12097. output = &ReplaceNetworkAclAssociationOutput{}
  12098. req.Data = output
  12099. return
  12100. }
  12101. // ReplaceNetworkAclAssociation API operation for Amazon Elastic Compute Cloud.
  12102. //
  12103. // Changes which network ACL a subnet is associated with. By default when you
  12104. // create a subnet, it's automatically associated with the default network ACL.
  12105. // For more information about network ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  12106. // in the Amazon Virtual Private Cloud User Guide.
  12107. //
  12108. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12109. // with awserr.Error's Code and Message methods to get detailed information about
  12110. // the error.
  12111. //
  12112. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12113. // API operation ReplaceNetworkAclAssociation for usage and error information.
  12114. func (c *EC2) ReplaceNetworkAclAssociation(input *ReplaceNetworkAclAssociationInput) (*ReplaceNetworkAclAssociationOutput, error) {
  12115. req, out := c.ReplaceNetworkAclAssociationRequest(input)
  12116. err := req.Send()
  12117. return out, err
  12118. }
  12119. const opReplaceNetworkAclEntry = "ReplaceNetworkAclEntry"
  12120. // ReplaceNetworkAclEntryRequest generates a "aws/request.Request" representing the
  12121. // client's request for the ReplaceNetworkAclEntry operation. The "output" return
  12122. // value can be used to capture response data after the request's "Send" method
  12123. // is called.
  12124. //
  12125. // See ReplaceNetworkAclEntry for usage and error information.
  12126. //
  12127. // Creating a request object using this method should be used when you want to inject
  12128. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12129. // access properties on the request object before or after sending the request. If
  12130. // you just want the service response, call the ReplaceNetworkAclEntry method directly
  12131. // instead.
  12132. //
  12133. // Note: You must call the "Send" method on the returned request object in order
  12134. // to execute the request.
  12135. //
  12136. // // Example sending a request using the ReplaceNetworkAclEntryRequest method.
  12137. // req, resp := client.ReplaceNetworkAclEntryRequest(params)
  12138. //
  12139. // err := req.Send()
  12140. // if err == nil { // resp is now filled
  12141. // fmt.Println(resp)
  12142. // }
  12143. //
  12144. func (c *EC2) ReplaceNetworkAclEntryRequest(input *ReplaceNetworkAclEntryInput) (req *request.Request, output *ReplaceNetworkAclEntryOutput) {
  12145. op := &request.Operation{
  12146. Name: opReplaceNetworkAclEntry,
  12147. HTTPMethod: "POST",
  12148. HTTPPath: "/",
  12149. }
  12150. if input == nil {
  12151. input = &ReplaceNetworkAclEntryInput{}
  12152. }
  12153. req = c.newRequest(op, input, output)
  12154. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  12155. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  12156. output = &ReplaceNetworkAclEntryOutput{}
  12157. req.Data = output
  12158. return
  12159. }
  12160. // ReplaceNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
  12161. //
  12162. // Replaces an entry (rule) in a network ACL. For more information about network
  12163. // ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  12164. // in the Amazon Virtual Private Cloud User Guide.
  12165. //
  12166. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12167. // with awserr.Error's Code and Message methods to get detailed information about
  12168. // the error.
  12169. //
  12170. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12171. // API operation ReplaceNetworkAclEntry for usage and error information.
  12172. func (c *EC2) ReplaceNetworkAclEntry(input *ReplaceNetworkAclEntryInput) (*ReplaceNetworkAclEntryOutput, error) {
  12173. req, out := c.ReplaceNetworkAclEntryRequest(input)
  12174. err := req.Send()
  12175. return out, err
  12176. }
  12177. const opReplaceRoute = "ReplaceRoute"
  12178. // ReplaceRouteRequest generates a "aws/request.Request" representing the
  12179. // client's request for the ReplaceRoute operation. The "output" return
  12180. // value can be used to capture response data after the request's "Send" method
  12181. // is called.
  12182. //
  12183. // See ReplaceRoute for usage and error information.
  12184. //
  12185. // Creating a request object using this method should be used when you want to inject
  12186. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12187. // access properties on the request object before or after sending the request. If
  12188. // you just want the service response, call the ReplaceRoute method directly
  12189. // instead.
  12190. //
  12191. // Note: You must call the "Send" method on the returned request object in order
  12192. // to execute the request.
  12193. //
  12194. // // Example sending a request using the ReplaceRouteRequest method.
  12195. // req, resp := client.ReplaceRouteRequest(params)
  12196. //
  12197. // err := req.Send()
  12198. // if err == nil { // resp is now filled
  12199. // fmt.Println(resp)
  12200. // }
  12201. //
  12202. func (c *EC2) ReplaceRouteRequest(input *ReplaceRouteInput) (req *request.Request, output *ReplaceRouteOutput) {
  12203. op := &request.Operation{
  12204. Name: opReplaceRoute,
  12205. HTTPMethod: "POST",
  12206. HTTPPath: "/",
  12207. }
  12208. if input == nil {
  12209. input = &ReplaceRouteInput{}
  12210. }
  12211. req = c.newRequest(op, input, output)
  12212. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  12213. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  12214. output = &ReplaceRouteOutput{}
  12215. req.Data = output
  12216. return
  12217. }
  12218. // ReplaceRoute API operation for Amazon Elastic Compute Cloud.
  12219. //
  12220. // Replaces an existing route within a route table in a VPC. You must provide
  12221. // only one of the following: Internet gateway or virtual private gateway, NAT
  12222. // instance, NAT gateway, VPC peering connection, or network interface.
  12223. //
  12224. // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  12225. // in the Amazon Virtual Private Cloud User Guide.
  12226. //
  12227. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12228. // with awserr.Error's Code and Message methods to get detailed information about
  12229. // the error.
  12230. //
  12231. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12232. // API operation ReplaceRoute for usage and error information.
  12233. func (c *EC2) ReplaceRoute(input *ReplaceRouteInput) (*ReplaceRouteOutput, error) {
  12234. req, out := c.ReplaceRouteRequest(input)
  12235. err := req.Send()
  12236. return out, err
  12237. }
  12238. const opReplaceRouteTableAssociation = "ReplaceRouteTableAssociation"
  12239. // ReplaceRouteTableAssociationRequest generates a "aws/request.Request" representing the
  12240. // client's request for the ReplaceRouteTableAssociation operation. The "output" return
  12241. // value can be used to capture response data after the request's "Send" method
  12242. // is called.
  12243. //
  12244. // See ReplaceRouteTableAssociation for usage and error information.
  12245. //
  12246. // Creating a request object using this method should be used when you want to inject
  12247. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12248. // access properties on the request object before or after sending the request. If
  12249. // you just want the service response, call the ReplaceRouteTableAssociation method directly
  12250. // instead.
  12251. //
  12252. // Note: You must call the "Send" method on the returned request object in order
  12253. // to execute the request.
  12254. //
  12255. // // Example sending a request using the ReplaceRouteTableAssociationRequest method.
  12256. // req, resp := client.ReplaceRouteTableAssociationRequest(params)
  12257. //
  12258. // err := req.Send()
  12259. // if err == nil { // resp is now filled
  12260. // fmt.Println(resp)
  12261. // }
  12262. //
  12263. func (c *EC2) ReplaceRouteTableAssociationRequest(input *ReplaceRouteTableAssociationInput) (req *request.Request, output *ReplaceRouteTableAssociationOutput) {
  12264. op := &request.Operation{
  12265. Name: opReplaceRouteTableAssociation,
  12266. HTTPMethod: "POST",
  12267. HTTPPath: "/",
  12268. }
  12269. if input == nil {
  12270. input = &ReplaceRouteTableAssociationInput{}
  12271. }
  12272. req = c.newRequest(op, input, output)
  12273. output = &ReplaceRouteTableAssociationOutput{}
  12274. req.Data = output
  12275. return
  12276. }
  12277. // ReplaceRouteTableAssociation API operation for Amazon Elastic Compute Cloud.
  12278. //
  12279. // Changes the route table associated with a given subnet in a VPC. After the
  12280. // operation completes, the subnet uses the routes in the new route table it's
  12281. // associated with. For more information about route tables, see Route Tables
  12282. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  12283. // in the Amazon Virtual Private Cloud User Guide.
  12284. //
  12285. // You can also use ReplaceRouteTableAssociation to change which table is the
  12286. // main route table in the VPC. You just specify the main route table's association
  12287. // ID and the route table to be the new main route table.
  12288. //
  12289. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12290. // with awserr.Error's Code and Message methods to get detailed information about
  12291. // the error.
  12292. //
  12293. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12294. // API operation ReplaceRouteTableAssociation for usage and error information.
  12295. func (c *EC2) ReplaceRouteTableAssociation(input *ReplaceRouteTableAssociationInput) (*ReplaceRouteTableAssociationOutput, error) {
  12296. req, out := c.ReplaceRouteTableAssociationRequest(input)
  12297. err := req.Send()
  12298. return out, err
  12299. }
  12300. const opReportInstanceStatus = "ReportInstanceStatus"
  12301. // ReportInstanceStatusRequest generates a "aws/request.Request" representing the
  12302. // client's request for the ReportInstanceStatus operation. The "output" return
  12303. // value can be used to capture response data after the request's "Send" method
  12304. // is called.
  12305. //
  12306. // See ReportInstanceStatus for usage and error information.
  12307. //
  12308. // Creating a request object using this method should be used when you want to inject
  12309. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12310. // access properties on the request object before or after sending the request. If
  12311. // you just want the service response, call the ReportInstanceStatus method directly
  12312. // instead.
  12313. //
  12314. // Note: You must call the "Send" method on the returned request object in order
  12315. // to execute the request.
  12316. //
  12317. // // Example sending a request using the ReportInstanceStatusRequest method.
  12318. // req, resp := client.ReportInstanceStatusRequest(params)
  12319. //
  12320. // err := req.Send()
  12321. // if err == nil { // resp is now filled
  12322. // fmt.Println(resp)
  12323. // }
  12324. //
  12325. func (c *EC2) ReportInstanceStatusRequest(input *ReportInstanceStatusInput) (req *request.Request, output *ReportInstanceStatusOutput) {
  12326. op := &request.Operation{
  12327. Name: opReportInstanceStatus,
  12328. HTTPMethod: "POST",
  12329. HTTPPath: "/",
  12330. }
  12331. if input == nil {
  12332. input = &ReportInstanceStatusInput{}
  12333. }
  12334. req = c.newRequest(op, input, output)
  12335. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  12336. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  12337. output = &ReportInstanceStatusOutput{}
  12338. req.Data = output
  12339. return
  12340. }
  12341. // ReportInstanceStatus API operation for Amazon Elastic Compute Cloud.
  12342. //
  12343. // Submits feedback about the status of an instance. The instance must be in
  12344. // the running state. If your experience with the instance differs from the
  12345. // instance status returned by DescribeInstanceStatus, use ReportInstanceStatus
  12346. // to report your experience with the instance. Amazon EC2 collects this information
  12347. // to improve the accuracy of status checks.
  12348. //
  12349. // Use of this action does not change the value returned by DescribeInstanceStatus.
  12350. //
  12351. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12352. // with awserr.Error's Code and Message methods to get detailed information about
  12353. // the error.
  12354. //
  12355. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12356. // API operation ReportInstanceStatus for usage and error information.
  12357. func (c *EC2) ReportInstanceStatus(input *ReportInstanceStatusInput) (*ReportInstanceStatusOutput, error) {
  12358. req, out := c.ReportInstanceStatusRequest(input)
  12359. err := req.Send()
  12360. return out, err
  12361. }
  12362. const opRequestSpotFleet = "RequestSpotFleet"
  12363. // RequestSpotFleetRequest generates a "aws/request.Request" representing the
  12364. // client's request for the RequestSpotFleet operation. The "output" return
  12365. // value can be used to capture response data after the request's "Send" method
  12366. // is called.
  12367. //
  12368. // See RequestSpotFleet for usage and error information.
  12369. //
  12370. // Creating a request object using this method should be used when you want to inject
  12371. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12372. // access properties on the request object before or after sending the request. If
  12373. // you just want the service response, call the RequestSpotFleet method directly
  12374. // instead.
  12375. //
  12376. // Note: You must call the "Send" method on the returned request object in order
  12377. // to execute the request.
  12378. //
  12379. // // Example sending a request using the RequestSpotFleetRequest method.
  12380. // req, resp := client.RequestSpotFleetRequest(params)
  12381. //
  12382. // err := req.Send()
  12383. // if err == nil { // resp is now filled
  12384. // fmt.Println(resp)
  12385. // }
  12386. //
  12387. func (c *EC2) RequestSpotFleetRequest(input *RequestSpotFleetInput) (req *request.Request, output *RequestSpotFleetOutput) {
  12388. op := &request.Operation{
  12389. Name: opRequestSpotFleet,
  12390. HTTPMethod: "POST",
  12391. HTTPPath: "/",
  12392. }
  12393. if input == nil {
  12394. input = &RequestSpotFleetInput{}
  12395. }
  12396. req = c.newRequest(op, input, output)
  12397. output = &RequestSpotFleetOutput{}
  12398. req.Data = output
  12399. return
  12400. }
  12401. // RequestSpotFleet API operation for Amazon Elastic Compute Cloud.
  12402. //
  12403. // Creates a Spot fleet request.
  12404. //
  12405. // You can submit a single request that includes multiple launch specifications
  12406. // that vary by instance type, AMI, Availability Zone, or subnet.
  12407. //
  12408. // By default, the Spot fleet requests Spot instances in the Spot pool where
  12409. // the price per unit is the lowest. Each launch specification can include its
  12410. // own instance weighting that reflects the value of the instance type to your
  12411. // application workload.
  12412. //
  12413. // Alternatively, you can specify that the Spot fleet distribute the target
  12414. // capacity across the Spot pools included in its launch specifications. By
  12415. // ensuring that the Spot instances in your Spot fleet are in different Spot
  12416. // pools, you can improve the availability of your fleet.
  12417. //
  12418. // For more information, see Spot Fleet Requests (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html)
  12419. // in the Amazon Elastic Compute Cloud User Guide.
  12420. //
  12421. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12422. // with awserr.Error's Code and Message methods to get detailed information about
  12423. // the error.
  12424. //
  12425. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12426. // API operation RequestSpotFleet for usage and error information.
  12427. func (c *EC2) RequestSpotFleet(input *RequestSpotFleetInput) (*RequestSpotFleetOutput, error) {
  12428. req, out := c.RequestSpotFleetRequest(input)
  12429. err := req.Send()
  12430. return out, err
  12431. }
  12432. const opRequestSpotInstances = "RequestSpotInstances"
  12433. // RequestSpotInstancesRequest generates a "aws/request.Request" representing the
  12434. // client's request for the RequestSpotInstances operation. The "output" return
  12435. // value can be used to capture response data after the request's "Send" method
  12436. // is called.
  12437. //
  12438. // See RequestSpotInstances for usage and error information.
  12439. //
  12440. // Creating a request object using this method should be used when you want to inject
  12441. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12442. // access properties on the request object before or after sending the request. If
  12443. // you just want the service response, call the RequestSpotInstances method directly
  12444. // instead.
  12445. //
  12446. // Note: You must call the "Send" method on the returned request object in order
  12447. // to execute the request.
  12448. //
  12449. // // Example sending a request using the RequestSpotInstancesRequest method.
  12450. // req, resp := client.RequestSpotInstancesRequest(params)
  12451. //
  12452. // err := req.Send()
  12453. // if err == nil { // resp is now filled
  12454. // fmt.Println(resp)
  12455. // }
  12456. //
  12457. func (c *EC2) RequestSpotInstancesRequest(input *RequestSpotInstancesInput) (req *request.Request, output *RequestSpotInstancesOutput) {
  12458. op := &request.Operation{
  12459. Name: opRequestSpotInstances,
  12460. HTTPMethod: "POST",
  12461. HTTPPath: "/",
  12462. }
  12463. if input == nil {
  12464. input = &RequestSpotInstancesInput{}
  12465. }
  12466. req = c.newRequest(op, input, output)
  12467. output = &RequestSpotInstancesOutput{}
  12468. req.Data = output
  12469. return
  12470. }
  12471. // RequestSpotInstances API operation for Amazon Elastic Compute Cloud.
  12472. //
  12473. // Creates a Spot instance request. Spot instances are instances that Amazon
  12474. // EC2 launches when the bid price that you specify exceeds the current Spot
  12475. // price. Amazon EC2 periodically sets the Spot price based on available Spot
  12476. // Instance capacity and current Spot instance requests. For more information,
  12477. // see Spot Instance Requests (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html)
  12478. // in the Amazon Elastic Compute Cloud User Guide.
  12479. //
  12480. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12481. // with awserr.Error's Code and Message methods to get detailed information about
  12482. // the error.
  12483. //
  12484. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12485. // API operation RequestSpotInstances for usage and error information.
  12486. func (c *EC2) RequestSpotInstances(input *RequestSpotInstancesInput) (*RequestSpotInstancesOutput, error) {
  12487. req, out := c.RequestSpotInstancesRequest(input)
  12488. err := req.Send()
  12489. return out, err
  12490. }
  12491. const opResetImageAttribute = "ResetImageAttribute"
  12492. // ResetImageAttributeRequest generates a "aws/request.Request" representing the
  12493. // client's request for the ResetImageAttribute operation. The "output" return
  12494. // value can be used to capture response data after the request's "Send" method
  12495. // is called.
  12496. //
  12497. // See ResetImageAttribute for usage and error information.
  12498. //
  12499. // Creating a request object using this method should be used when you want to inject
  12500. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12501. // access properties on the request object before or after sending the request. If
  12502. // you just want the service response, call the ResetImageAttribute method directly
  12503. // instead.
  12504. //
  12505. // Note: You must call the "Send" method on the returned request object in order
  12506. // to execute the request.
  12507. //
  12508. // // Example sending a request using the ResetImageAttributeRequest method.
  12509. // req, resp := client.ResetImageAttributeRequest(params)
  12510. //
  12511. // err := req.Send()
  12512. // if err == nil { // resp is now filled
  12513. // fmt.Println(resp)
  12514. // }
  12515. //
  12516. func (c *EC2) ResetImageAttributeRequest(input *ResetImageAttributeInput) (req *request.Request, output *ResetImageAttributeOutput) {
  12517. op := &request.Operation{
  12518. Name: opResetImageAttribute,
  12519. HTTPMethod: "POST",
  12520. HTTPPath: "/",
  12521. }
  12522. if input == nil {
  12523. input = &ResetImageAttributeInput{}
  12524. }
  12525. req = c.newRequest(op, input, output)
  12526. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  12527. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  12528. output = &ResetImageAttributeOutput{}
  12529. req.Data = output
  12530. return
  12531. }
  12532. // ResetImageAttribute API operation for Amazon Elastic Compute Cloud.
  12533. //
  12534. // Resets an attribute of an AMI to its default value.
  12535. //
  12536. // The productCodes attribute can't be reset.
  12537. //
  12538. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12539. // with awserr.Error's Code and Message methods to get detailed information about
  12540. // the error.
  12541. //
  12542. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12543. // API operation ResetImageAttribute for usage and error information.
  12544. func (c *EC2) ResetImageAttribute(input *ResetImageAttributeInput) (*ResetImageAttributeOutput, error) {
  12545. req, out := c.ResetImageAttributeRequest(input)
  12546. err := req.Send()
  12547. return out, err
  12548. }
  12549. const opResetInstanceAttribute = "ResetInstanceAttribute"
  12550. // ResetInstanceAttributeRequest generates a "aws/request.Request" representing the
  12551. // client's request for the ResetInstanceAttribute operation. The "output" return
  12552. // value can be used to capture response data after the request's "Send" method
  12553. // is called.
  12554. //
  12555. // See ResetInstanceAttribute for usage and error information.
  12556. //
  12557. // Creating a request object using this method should be used when you want to inject
  12558. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12559. // access properties on the request object before or after sending the request. If
  12560. // you just want the service response, call the ResetInstanceAttribute method directly
  12561. // instead.
  12562. //
  12563. // Note: You must call the "Send" method on the returned request object in order
  12564. // to execute the request.
  12565. //
  12566. // // Example sending a request using the ResetInstanceAttributeRequest method.
  12567. // req, resp := client.ResetInstanceAttributeRequest(params)
  12568. //
  12569. // err := req.Send()
  12570. // if err == nil { // resp is now filled
  12571. // fmt.Println(resp)
  12572. // }
  12573. //
  12574. func (c *EC2) ResetInstanceAttributeRequest(input *ResetInstanceAttributeInput) (req *request.Request, output *ResetInstanceAttributeOutput) {
  12575. op := &request.Operation{
  12576. Name: opResetInstanceAttribute,
  12577. HTTPMethod: "POST",
  12578. HTTPPath: "/",
  12579. }
  12580. if input == nil {
  12581. input = &ResetInstanceAttributeInput{}
  12582. }
  12583. req = c.newRequest(op, input, output)
  12584. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  12585. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  12586. output = &ResetInstanceAttributeOutput{}
  12587. req.Data = output
  12588. return
  12589. }
  12590. // ResetInstanceAttribute API operation for Amazon Elastic Compute Cloud.
  12591. //
  12592. // Resets an attribute of an instance to its default value. To reset the kernel
  12593. // or ramdisk, the instance must be in a stopped state. To reset the sourceDestCheck,
  12594. // the instance can be either running or stopped.
  12595. //
  12596. // The sourceDestCheck attribute controls whether source/destination checking
  12597. // is enabled. The default value is true, which means checking is enabled. This
  12598. // value must be false for a NAT instance to perform NAT. For more information,
  12599. // see NAT Instances (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
  12600. // in the Amazon Virtual Private Cloud User Guide.
  12601. //
  12602. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12603. // with awserr.Error's Code and Message methods to get detailed information about
  12604. // the error.
  12605. //
  12606. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12607. // API operation ResetInstanceAttribute for usage and error information.
  12608. func (c *EC2) ResetInstanceAttribute(input *ResetInstanceAttributeInput) (*ResetInstanceAttributeOutput, error) {
  12609. req, out := c.ResetInstanceAttributeRequest(input)
  12610. err := req.Send()
  12611. return out, err
  12612. }
  12613. const opResetNetworkInterfaceAttribute = "ResetNetworkInterfaceAttribute"
  12614. // ResetNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
  12615. // client's request for the ResetNetworkInterfaceAttribute operation. The "output" return
  12616. // value can be used to capture response data after the request's "Send" method
  12617. // is called.
  12618. //
  12619. // See ResetNetworkInterfaceAttribute for usage and error information.
  12620. //
  12621. // Creating a request object using this method should be used when you want to inject
  12622. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12623. // access properties on the request object before or after sending the request. If
  12624. // you just want the service response, call the ResetNetworkInterfaceAttribute method directly
  12625. // instead.
  12626. //
  12627. // Note: You must call the "Send" method on the returned request object in order
  12628. // to execute the request.
  12629. //
  12630. // // Example sending a request using the ResetNetworkInterfaceAttributeRequest method.
  12631. // req, resp := client.ResetNetworkInterfaceAttributeRequest(params)
  12632. //
  12633. // err := req.Send()
  12634. // if err == nil { // resp is now filled
  12635. // fmt.Println(resp)
  12636. // }
  12637. //
  12638. func (c *EC2) ResetNetworkInterfaceAttributeRequest(input *ResetNetworkInterfaceAttributeInput) (req *request.Request, output *ResetNetworkInterfaceAttributeOutput) {
  12639. op := &request.Operation{
  12640. Name: opResetNetworkInterfaceAttribute,
  12641. HTTPMethod: "POST",
  12642. HTTPPath: "/",
  12643. }
  12644. if input == nil {
  12645. input = &ResetNetworkInterfaceAttributeInput{}
  12646. }
  12647. req = c.newRequest(op, input, output)
  12648. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  12649. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  12650. output = &ResetNetworkInterfaceAttributeOutput{}
  12651. req.Data = output
  12652. return
  12653. }
  12654. // ResetNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
  12655. //
  12656. // Resets a network interface attribute. You can specify only one attribute
  12657. // at a time.
  12658. //
  12659. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12660. // with awserr.Error's Code and Message methods to get detailed information about
  12661. // the error.
  12662. //
  12663. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12664. // API operation ResetNetworkInterfaceAttribute for usage and error information.
  12665. func (c *EC2) ResetNetworkInterfaceAttribute(input *ResetNetworkInterfaceAttributeInput) (*ResetNetworkInterfaceAttributeOutput, error) {
  12666. req, out := c.ResetNetworkInterfaceAttributeRequest(input)
  12667. err := req.Send()
  12668. return out, err
  12669. }
  12670. const opResetSnapshotAttribute = "ResetSnapshotAttribute"
  12671. // ResetSnapshotAttributeRequest generates a "aws/request.Request" representing the
  12672. // client's request for the ResetSnapshotAttribute operation. The "output" return
  12673. // value can be used to capture response data after the request's "Send" method
  12674. // is called.
  12675. //
  12676. // See ResetSnapshotAttribute for usage and error information.
  12677. //
  12678. // Creating a request object using this method should be used when you want to inject
  12679. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12680. // access properties on the request object before or after sending the request. If
  12681. // you just want the service response, call the ResetSnapshotAttribute method directly
  12682. // instead.
  12683. //
  12684. // Note: You must call the "Send" method on the returned request object in order
  12685. // to execute the request.
  12686. //
  12687. // // Example sending a request using the ResetSnapshotAttributeRequest method.
  12688. // req, resp := client.ResetSnapshotAttributeRequest(params)
  12689. //
  12690. // err := req.Send()
  12691. // if err == nil { // resp is now filled
  12692. // fmt.Println(resp)
  12693. // }
  12694. //
  12695. func (c *EC2) ResetSnapshotAttributeRequest(input *ResetSnapshotAttributeInput) (req *request.Request, output *ResetSnapshotAttributeOutput) {
  12696. op := &request.Operation{
  12697. Name: opResetSnapshotAttribute,
  12698. HTTPMethod: "POST",
  12699. HTTPPath: "/",
  12700. }
  12701. if input == nil {
  12702. input = &ResetSnapshotAttributeInput{}
  12703. }
  12704. req = c.newRequest(op, input, output)
  12705. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  12706. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  12707. output = &ResetSnapshotAttributeOutput{}
  12708. req.Data = output
  12709. return
  12710. }
  12711. // ResetSnapshotAttribute API operation for Amazon Elastic Compute Cloud.
  12712. //
  12713. // Resets permission settings for the specified snapshot.
  12714. //
  12715. // For more information on modifying snapshot permissions, see Sharing Snapshots
  12716. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html)
  12717. // in the Amazon Elastic Compute Cloud User Guide.
  12718. //
  12719. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12720. // with awserr.Error's Code and Message methods to get detailed information about
  12721. // the error.
  12722. //
  12723. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12724. // API operation ResetSnapshotAttribute for usage and error information.
  12725. func (c *EC2) ResetSnapshotAttribute(input *ResetSnapshotAttributeInput) (*ResetSnapshotAttributeOutput, error) {
  12726. req, out := c.ResetSnapshotAttributeRequest(input)
  12727. err := req.Send()
  12728. return out, err
  12729. }
  12730. const opRestoreAddressToClassic = "RestoreAddressToClassic"
  12731. // RestoreAddressToClassicRequest generates a "aws/request.Request" representing the
  12732. // client's request for the RestoreAddressToClassic operation. The "output" return
  12733. // value can be used to capture response data after the request's "Send" method
  12734. // is called.
  12735. //
  12736. // See RestoreAddressToClassic for usage and error information.
  12737. //
  12738. // Creating a request object using this method should be used when you want to inject
  12739. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12740. // access properties on the request object before or after sending the request. If
  12741. // you just want the service response, call the RestoreAddressToClassic method directly
  12742. // instead.
  12743. //
  12744. // Note: You must call the "Send" method on the returned request object in order
  12745. // to execute the request.
  12746. //
  12747. // // Example sending a request using the RestoreAddressToClassicRequest method.
  12748. // req, resp := client.RestoreAddressToClassicRequest(params)
  12749. //
  12750. // err := req.Send()
  12751. // if err == nil { // resp is now filled
  12752. // fmt.Println(resp)
  12753. // }
  12754. //
  12755. func (c *EC2) RestoreAddressToClassicRequest(input *RestoreAddressToClassicInput) (req *request.Request, output *RestoreAddressToClassicOutput) {
  12756. op := &request.Operation{
  12757. Name: opRestoreAddressToClassic,
  12758. HTTPMethod: "POST",
  12759. HTTPPath: "/",
  12760. }
  12761. if input == nil {
  12762. input = &RestoreAddressToClassicInput{}
  12763. }
  12764. req = c.newRequest(op, input, output)
  12765. output = &RestoreAddressToClassicOutput{}
  12766. req.Data = output
  12767. return
  12768. }
  12769. // RestoreAddressToClassic API operation for Amazon Elastic Compute Cloud.
  12770. //
  12771. // Restores an Elastic IP address that was previously moved to the EC2-VPC platform
  12772. // back to the EC2-Classic platform. You cannot move an Elastic IP address that
  12773. // was originally allocated for use in EC2-VPC. The Elastic IP address must
  12774. // not be associated with an instance or network interface.
  12775. //
  12776. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12777. // with awserr.Error's Code and Message methods to get detailed information about
  12778. // the error.
  12779. //
  12780. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12781. // API operation RestoreAddressToClassic for usage and error information.
  12782. func (c *EC2) RestoreAddressToClassic(input *RestoreAddressToClassicInput) (*RestoreAddressToClassicOutput, error) {
  12783. req, out := c.RestoreAddressToClassicRequest(input)
  12784. err := req.Send()
  12785. return out, err
  12786. }
  12787. const opRevokeSecurityGroupEgress = "RevokeSecurityGroupEgress"
  12788. // RevokeSecurityGroupEgressRequest generates a "aws/request.Request" representing the
  12789. // client's request for the RevokeSecurityGroupEgress operation. The "output" return
  12790. // value can be used to capture response data after the request's "Send" method
  12791. // is called.
  12792. //
  12793. // See RevokeSecurityGroupEgress for usage and error information.
  12794. //
  12795. // Creating a request object using this method should be used when you want to inject
  12796. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12797. // access properties on the request object before or after sending the request. If
  12798. // you just want the service response, call the RevokeSecurityGroupEgress method directly
  12799. // instead.
  12800. //
  12801. // Note: You must call the "Send" method on the returned request object in order
  12802. // to execute the request.
  12803. //
  12804. // // Example sending a request using the RevokeSecurityGroupEgressRequest method.
  12805. // req, resp := client.RevokeSecurityGroupEgressRequest(params)
  12806. //
  12807. // err := req.Send()
  12808. // if err == nil { // resp is now filled
  12809. // fmt.Println(resp)
  12810. // }
  12811. //
  12812. func (c *EC2) RevokeSecurityGroupEgressRequest(input *RevokeSecurityGroupEgressInput) (req *request.Request, output *RevokeSecurityGroupEgressOutput) {
  12813. op := &request.Operation{
  12814. Name: opRevokeSecurityGroupEgress,
  12815. HTTPMethod: "POST",
  12816. HTTPPath: "/",
  12817. }
  12818. if input == nil {
  12819. input = &RevokeSecurityGroupEgressInput{}
  12820. }
  12821. req = c.newRequest(op, input, output)
  12822. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  12823. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  12824. output = &RevokeSecurityGroupEgressOutput{}
  12825. req.Data = output
  12826. return
  12827. }
  12828. // RevokeSecurityGroupEgress API operation for Amazon Elastic Compute Cloud.
  12829. //
  12830. // [EC2-VPC only] Removes one or more egress rules from a security group for
  12831. // EC2-VPC. This action doesn't apply to security groups for use in EC2-Classic.
  12832. // The values that you specify in the revoke request (for example, ports) must
  12833. // match the existing rule's values for the rule to be revoked.
  12834. //
  12835. // Each rule consists of the protocol and the CIDR range or source security
  12836. // group. For the TCP and UDP protocols, you must also specify the destination
  12837. // port or range of ports. For the ICMP protocol, you must also specify the
  12838. // ICMP type and code.
  12839. //
  12840. // Rule changes are propagated to instances within the security group as quickly
  12841. // as possible. However, a small delay might occur.
  12842. //
  12843. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12844. // with awserr.Error's Code and Message methods to get detailed information about
  12845. // the error.
  12846. //
  12847. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12848. // API operation RevokeSecurityGroupEgress for usage and error information.
  12849. func (c *EC2) RevokeSecurityGroupEgress(input *RevokeSecurityGroupEgressInput) (*RevokeSecurityGroupEgressOutput, error) {
  12850. req, out := c.RevokeSecurityGroupEgressRequest(input)
  12851. err := req.Send()
  12852. return out, err
  12853. }
  12854. const opRevokeSecurityGroupIngress = "RevokeSecurityGroupIngress"
  12855. // RevokeSecurityGroupIngressRequest generates a "aws/request.Request" representing the
  12856. // client's request for the RevokeSecurityGroupIngress operation. The "output" return
  12857. // value can be used to capture response data after the request's "Send" method
  12858. // is called.
  12859. //
  12860. // See RevokeSecurityGroupIngress for usage and error information.
  12861. //
  12862. // Creating a request object using this method should be used when you want to inject
  12863. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12864. // access properties on the request object before or after sending the request. If
  12865. // you just want the service response, call the RevokeSecurityGroupIngress method directly
  12866. // instead.
  12867. //
  12868. // Note: You must call the "Send" method on the returned request object in order
  12869. // to execute the request.
  12870. //
  12871. // // Example sending a request using the RevokeSecurityGroupIngressRequest method.
  12872. // req, resp := client.RevokeSecurityGroupIngressRequest(params)
  12873. //
  12874. // err := req.Send()
  12875. // if err == nil { // resp is now filled
  12876. // fmt.Println(resp)
  12877. // }
  12878. //
  12879. func (c *EC2) RevokeSecurityGroupIngressRequest(input *RevokeSecurityGroupIngressInput) (req *request.Request, output *RevokeSecurityGroupIngressOutput) {
  12880. op := &request.Operation{
  12881. Name: opRevokeSecurityGroupIngress,
  12882. HTTPMethod: "POST",
  12883. HTTPPath: "/",
  12884. }
  12885. if input == nil {
  12886. input = &RevokeSecurityGroupIngressInput{}
  12887. }
  12888. req = c.newRequest(op, input, output)
  12889. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  12890. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  12891. output = &RevokeSecurityGroupIngressOutput{}
  12892. req.Data = output
  12893. return
  12894. }
  12895. // RevokeSecurityGroupIngress API operation for Amazon Elastic Compute Cloud.
  12896. //
  12897. // Removes one or more ingress rules from a security group. The values that
  12898. // you specify in the revoke request (for example, ports) must match the existing
  12899. // rule's values for the rule to be removed.
  12900. //
  12901. // Each rule consists of the protocol and the CIDR range or source security
  12902. // group. For the TCP and UDP protocols, you must also specify the destination
  12903. // port or range of ports. For the ICMP protocol, you must also specify the
  12904. // ICMP type and code.
  12905. //
  12906. // Rule changes are propagated to instances within the security group as quickly
  12907. // as possible. However, a small delay might occur.
  12908. //
  12909. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12910. // with awserr.Error's Code and Message methods to get detailed information about
  12911. // the error.
  12912. //
  12913. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12914. // API operation RevokeSecurityGroupIngress for usage and error information.
  12915. func (c *EC2) RevokeSecurityGroupIngress(input *RevokeSecurityGroupIngressInput) (*RevokeSecurityGroupIngressOutput, error) {
  12916. req, out := c.RevokeSecurityGroupIngressRequest(input)
  12917. err := req.Send()
  12918. return out, err
  12919. }
  12920. const opRunInstances = "RunInstances"
  12921. // RunInstancesRequest generates a "aws/request.Request" representing the
  12922. // client's request for the RunInstances operation. The "output" return
  12923. // value can be used to capture response data after the request's "Send" method
  12924. // is called.
  12925. //
  12926. // See RunInstances for usage and error information.
  12927. //
  12928. // Creating a request object using this method should be used when you want to inject
  12929. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12930. // access properties on the request object before or after sending the request. If
  12931. // you just want the service response, call the RunInstances method directly
  12932. // instead.
  12933. //
  12934. // Note: You must call the "Send" method on the returned request object in order
  12935. // to execute the request.
  12936. //
  12937. // // Example sending a request using the RunInstancesRequest method.
  12938. // req, resp := client.RunInstancesRequest(params)
  12939. //
  12940. // err := req.Send()
  12941. // if err == nil { // resp is now filled
  12942. // fmt.Println(resp)
  12943. // }
  12944. //
  12945. func (c *EC2) RunInstancesRequest(input *RunInstancesInput) (req *request.Request, output *Reservation) {
  12946. op := &request.Operation{
  12947. Name: opRunInstances,
  12948. HTTPMethod: "POST",
  12949. HTTPPath: "/",
  12950. }
  12951. if input == nil {
  12952. input = &RunInstancesInput{}
  12953. }
  12954. req = c.newRequest(op, input, output)
  12955. output = &Reservation{}
  12956. req.Data = output
  12957. return
  12958. }
  12959. // RunInstances API operation for Amazon Elastic Compute Cloud.
  12960. //
  12961. // Launches the specified number of instances using an AMI for which you have
  12962. // permissions.
  12963. //
  12964. // When you launch an instance, it enters the pending state. After the instance
  12965. // is ready for you, it enters the running state. To check the state of your
  12966. // instance, call DescribeInstances.
  12967. //
  12968. // To ensure faster instance launches, break up large requests into smaller
  12969. // batches. For example, create five separate launch requests for 100 instances
  12970. // each instead of one launch request for 500 instances.
  12971. //
  12972. // To tag your instance, ensure that it is running as CreateTags requires a
  12973. // resource ID. For more information about tagging, see Tagging Your Amazon
  12974. // EC2 Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html).
  12975. //
  12976. // If you don't specify a security group when launching an instance, Amazon
  12977. // EC2 uses the default security group. For more information, see Security Groups
  12978. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)
  12979. // in the Amazon Elastic Compute Cloud User Guide.
  12980. //
  12981. // [EC2-VPC only accounts] If you don't specify a subnet in the request, we
  12982. // choose a default subnet from your default VPC for you.
  12983. //
  12984. // [EC2-Classic accounts] If you're launching into EC2-Classic and you don't
  12985. // specify an Availability Zone, we choose one for you.
  12986. //
  12987. // Linux instances have access to the public key of the key pair at boot. You
  12988. // can use this key to provide secure access to the instance. Amazon EC2 public
  12989. // images use this feature to provide secure access without passwords. For more
  12990. // information, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
  12991. // in the Amazon Elastic Compute Cloud User Guide.
  12992. //
  12993. // You can provide optional user data when launching an instance. For more information,
  12994. // see Instance Metadata (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AESDG-chapter-instancedata.html)
  12995. // in the Amazon Elastic Compute Cloud User Guide.
  12996. //
  12997. // If any of the AMIs have a product code attached for which the user has not
  12998. // subscribed, RunInstances fails.
  12999. //
  13000. // Some instance types can only be launched into a VPC. If you do not have a
  13001. // default VPC, or if you do not specify a subnet ID in the request, RunInstances
  13002. // fails. 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).
  13003. //
  13004. // For more information about troubleshooting, see What To Do If An Instance
  13005. // Immediately Terminates (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_InstanceStraightToTerminated.html),
  13006. // and Troubleshooting Connecting to Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html)
  13007. // in the Amazon Elastic Compute Cloud User Guide.
  13008. //
  13009. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13010. // with awserr.Error's Code and Message methods to get detailed information about
  13011. // the error.
  13012. //
  13013. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13014. // API operation RunInstances for usage and error information.
  13015. func (c *EC2) RunInstances(input *RunInstancesInput) (*Reservation, error) {
  13016. req, out := c.RunInstancesRequest(input)
  13017. err := req.Send()
  13018. return out, err
  13019. }
  13020. const opRunScheduledInstances = "RunScheduledInstances"
  13021. // RunScheduledInstancesRequest generates a "aws/request.Request" representing the
  13022. // client's request for the RunScheduledInstances operation. The "output" return
  13023. // value can be used to capture response data after the request's "Send" method
  13024. // is called.
  13025. //
  13026. // See RunScheduledInstances for usage and error information.
  13027. //
  13028. // Creating a request object using this method should be used when you want to inject
  13029. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13030. // access properties on the request object before or after sending the request. If
  13031. // you just want the service response, call the RunScheduledInstances method directly
  13032. // instead.
  13033. //
  13034. // Note: You must call the "Send" method on the returned request object in order
  13035. // to execute the request.
  13036. //
  13037. // // Example sending a request using the RunScheduledInstancesRequest method.
  13038. // req, resp := client.RunScheduledInstancesRequest(params)
  13039. //
  13040. // err := req.Send()
  13041. // if err == nil { // resp is now filled
  13042. // fmt.Println(resp)
  13043. // }
  13044. //
  13045. func (c *EC2) RunScheduledInstancesRequest(input *RunScheduledInstancesInput) (req *request.Request, output *RunScheduledInstancesOutput) {
  13046. op := &request.Operation{
  13047. Name: opRunScheduledInstances,
  13048. HTTPMethod: "POST",
  13049. HTTPPath: "/",
  13050. }
  13051. if input == nil {
  13052. input = &RunScheduledInstancesInput{}
  13053. }
  13054. req = c.newRequest(op, input, output)
  13055. output = &RunScheduledInstancesOutput{}
  13056. req.Data = output
  13057. return
  13058. }
  13059. // RunScheduledInstances API operation for Amazon Elastic Compute Cloud.
  13060. //
  13061. // Launches the specified Scheduled Instances.
  13062. //
  13063. // Before you can launch a Scheduled Instance, you must purchase it and obtain
  13064. // an identifier using PurchaseScheduledInstances.
  13065. //
  13066. // You must launch a Scheduled Instance during its scheduled time period. You
  13067. // can't stop or reboot a Scheduled Instance, but you can terminate it as needed.
  13068. // If you terminate a Scheduled Instance before the current scheduled time period
  13069. // ends, you can launch it again after a few minutes. For more information,
  13070. // see Scheduled Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-scheduled-instances.html)
  13071. // in the Amazon Elastic Compute Cloud User Guide.
  13072. //
  13073. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13074. // with awserr.Error's Code and Message methods to get detailed information about
  13075. // the error.
  13076. //
  13077. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13078. // API operation RunScheduledInstances for usage and error information.
  13079. func (c *EC2) RunScheduledInstances(input *RunScheduledInstancesInput) (*RunScheduledInstancesOutput, error) {
  13080. req, out := c.RunScheduledInstancesRequest(input)
  13081. err := req.Send()
  13082. return out, err
  13083. }
  13084. const opStartInstances = "StartInstances"
  13085. // StartInstancesRequest generates a "aws/request.Request" representing the
  13086. // client's request for the StartInstances operation. The "output" return
  13087. // value can be used to capture response data after the request's "Send" method
  13088. // is called.
  13089. //
  13090. // See StartInstances for usage and error information.
  13091. //
  13092. // Creating a request object using this method should be used when you want to inject
  13093. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13094. // access properties on the request object before or after sending the request. If
  13095. // you just want the service response, call the StartInstances method directly
  13096. // instead.
  13097. //
  13098. // Note: You must call the "Send" method on the returned request object in order
  13099. // to execute the request.
  13100. //
  13101. // // Example sending a request using the StartInstancesRequest method.
  13102. // req, resp := client.StartInstancesRequest(params)
  13103. //
  13104. // err := req.Send()
  13105. // if err == nil { // resp is now filled
  13106. // fmt.Println(resp)
  13107. // }
  13108. //
  13109. func (c *EC2) StartInstancesRequest(input *StartInstancesInput) (req *request.Request, output *StartInstancesOutput) {
  13110. op := &request.Operation{
  13111. Name: opStartInstances,
  13112. HTTPMethod: "POST",
  13113. HTTPPath: "/",
  13114. }
  13115. if input == nil {
  13116. input = &StartInstancesInput{}
  13117. }
  13118. req = c.newRequest(op, input, output)
  13119. output = &StartInstancesOutput{}
  13120. req.Data = output
  13121. return
  13122. }
  13123. // StartInstances API operation for Amazon Elastic Compute Cloud.
  13124. //
  13125. // Starts an Amazon EBS-backed AMI that you've previously stopped.
  13126. //
  13127. // Instances that use Amazon EBS volumes as their root devices can be quickly
  13128. // stopped and started. When an instance is stopped, the compute resources are
  13129. // released and you are not billed for hourly instance usage. However, your
  13130. // root partition Amazon EBS volume remains, continues to persist your data,
  13131. // and you are charged for Amazon EBS volume usage. You can restart your instance
  13132. // at any time. Each time you transition an instance from stopped to started,
  13133. // Amazon EC2 charges a full instance hour, even if transitions happen multiple
  13134. // times within a single hour.
  13135. //
  13136. // Before stopping an instance, make sure it is in a state from which it can
  13137. // be restarted. Stopping an instance does not preserve data stored in RAM.
  13138. //
  13139. // Performing this operation on an instance that uses an instance store as its
  13140. // root device returns an error.
  13141. //
  13142. // For more information, see Stopping Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html)
  13143. // in the Amazon Elastic Compute Cloud User Guide.
  13144. //
  13145. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13146. // with awserr.Error's Code and Message methods to get detailed information about
  13147. // the error.
  13148. //
  13149. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13150. // API operation StartInstances for usage and error information.
  13151. func (c *EC2) StartInstances(input *StartInstancesInput) (*StartInstancesOutput, error) {
  13152. req, out := c.StartInstancesRequest(input)
  13153. err := req.Send()
  13154. return out, err
  13155. }
  13156. const opStopInstances = "StopInstances"
  13157. // StopInstancesRequest generates a "aws/request.Request" representing the
  13158. // client's request for the StopInstances operation. The "output" return
  13159. // value can be used to capture response data after the request's "Send" method
  13160. // is called.
  13161. //
  13162. // See StopInstances for usage and error information.
  13163. //
  13164. // Creating a request object using this method should be used when you want to inject
  13165. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13166. // access properties on the request object before or after sending the request. If
  13167. // you just want the service response, call the StopInstances method directly
  13168. // instead.
  13169. //
  13170. // Note: You must call the "Send" method on the returned request object in order
  13171. // to execute the request.
  13172. //
  13173. // // Example sending a request using the StopInstancesRequest method.
  13174. // req, resp := client.StopInstancesRequest(params)
  13175. //
  13176. // err := req.Send()
  13177. // if err == nil { // resp is now filled
  13178. // fmt.Println(resp)
  13179. // }
  13180. //
  13181. func (c *EC2) StopInstancesRequest(input *StopInstancesInput) (req *request.Request, output *StopInstancesOutput) {
  13182. op := &request.Operation{
  13183. Name: opStopInstances,
  13184. HTTPMethod: "POST",
  13185. HTTPPath: "/",
  13186. }
  13187. if input == nil {
  13188. input = &StopInstancesInput{}
  13189. }
  13190. req = c.newRequest(op, input, output)
  13191. output = &StopInstancesOutput{}
  13192. req.Data = output
  13193. return
  13194. }
  13195. // StopInstances API operation for Amazon Elastic Compute Cloud.
  13196. //
  13197. // Stops an Amazon EBS-backed instance.
  13198. //
  13199. // We don't charge hourly usage for a stopped instance, or data transfer fees;
  13200. // however, your root partition Amazon EBS volume remains, continues to persist
  13201. // your data, and you are charged for Amazon EBS volume usage. Each time you
  13202. // transition an instance from stopped to started, Amazon EC2 charges a full
  13203. // instance hour, even if transitions happen multiple times within a single
  13204. // hour.
  13205. //
  13206. // You can't start or stop Spot instances, and you can't stop instance store-backed
  13207. // instances.
  13208. //
  13209. // When you stop an instance, we shut it down. You can restart your instance
  13210. // at any time. Before stopping an instance, make sure it is in a state from
  13211. // which it can be restarted. Stopping an instance does not preserve data stored
  13212. // in RAM.
  13213. //
  13214. // Stopping an instance is different to rebooting or terminating it. For example,
  13215. // when you stop an instance, the root device and any other devices attached
  13216. // to the instance persist. When you terminate an instance, the root device
  13217. // and any other devices attached during the instance launch are automatically
  13218. // deleted. For more information about the differences between rebooting, stopping,
  13219. // and terminating instances, see Instance Lifecycle (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
  13220. // in the Amazon Elastic Compute Cloud User Guide.
  13221. //
  13222. // When you stop an instance, we attempt to shut it down forcibly after a short
  13223. // while. If your instance appears stuck in the stopping state after a period
  13224. // of time, there may be an issue with the underlying host computer. For more
  13225. // information, see Troubleshooting Stopping Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesStopping.html)
  13226. // in the Amazon Elastic Compute Cloud User Guide.
  13227. //
  13228. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13229. // with awserr.Error's Code and Message methods to get detailed information about
  13230. // the error.
  13231. //
  13232. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13233. // API operation StopInstances for usage and error information.
  13234. func (c *EC2) StopInstances(input *StopInstancesInput) (*StopInstancesOutput, error) {
  13235. req, out := c.StopInstancesRequest(input)
  13236. err := req.Send()
  13237. return out, err
  13238. }
  13239. const opTerminateInstances = "TerminateInstances"
  13240. // TerminateInstancesRequest generates a "aws/request.Request" representing the
  13241. // client's request for the TerminateInstances operation. The "output" return
  13242. // value can be used to capture response data after the request's "Send" method
  13243. // is called.
  13244. //
  13245. // See TerminateInstances for usage and error information.
  13246. //
  13247. // Creating a request object using this method should be used when you want to inject
  13248. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13249. // access properties on the request object before or after sending the request. If
  13250. // you just want the service response, call the TerminateInstances method directly
  13251. // instead.
  13252. //
  13253. // Note: You must call the "Send" method on the returned request object in order
  13254. // to execute the request.
  13255. //
  13256. // // Example sending a request using the TerminateInstancesRequest method.
  13257. // req, resp := client.TerminateInstancesRequest(params)
  13258. //
  13259. // err := req.Send()
  13260. // if err == nil { // resp is now filled
  13261. // fmt.Println(resp)
  13262. // }
  13263. //
  13264. func (c *EC2) TerminateInstancesRequest(input *TerminateInstancesInput) (req *request.Request, output *TerminateInstancesOutput) {
  13265. op := &request.Operation{
  13266. Name: opTerminateInstances,
  13267. HTTPMethod: "POST",
  13268. HTTPPath: "/",
  13269. }
  13270. if input == nil {
  13271. input = &TerminateInstancesInput{}
  13272. }
  13273. req = c.newRequest(op, input, output)
  13274. output = &TerminateInstancesOutput{}
  13275. req.Data = output
  13276. return
  13277. }
  13278. // TerminateInstances API operation for Amazon Elastic Compute Cloud.
  13279. //
  13280. // Shuts down one or more instances. This operation is idempotent; if you terminate
  13281. // an instance more than once, each call succeeds.
  13282. //
  13283. // If you specify multiple instances and the request fails (for example, because
  13284. // of a single incorrect instance ID), none of the instances are terminated.
  13285. //
  13286. // Terminated instances remain visible after termination (for approximately
  13287. // one hour).
  13288. //
  13289. // By default, Amazon EC2 deletes all EBS volumes that were attached when the
  13290. // instance launched. Volumes attached after instance launch continue running.
  13291. //
  13292. // You can stop, start, and terminate EBS-backed instances. You can only terminate
  13293. // instance store-backed instances. What happens to an instance differs if you
  13294. // stop it or terminate it. For example, when you stop an instance, the root
  13295. // device and any other devices attached to the instance persist. When you terminate
  13296. // an instance, any attached EBS volumes with the DeleteOnTermination block
  13297. // device mapping parameter set to true are automatically deleted. For more
  13298. // information about the differences between stopping and terminating instances,
  13299. // see Instance Lifecycle (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
  13300. // in the Amazon Elastic Compute Cloud User Guide.
  13301. //
  13302. // For more information about troubleshooting, see Troubleshooting Terminating
  13303. // Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesShuttingDown.html)
  13304. // in the Amazon Elastic Compute Cloud User Guide.
  13305. //
  13306. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13307. // with awserr.Error's Code and Message methods to get detailed information about
  13308. // the error.
  13309. //
  13310. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13311. // API operation TerminateInstances for usage and error information.
  13312. func (c *EC2) TerminateInstances(input *TerminateInstancesInput) (*TerminateInstancesOutput, error) {
  13313. req, out := c.TerminateInstancesRequest(input)
  13314. err := req.Send()
  13315. return out, err
  13316. }
  13317. const opUnassignPrivateIpAddresses = "UnassignPrivateIpAddresses"
  13318. // UnassignPrivateIpAddressesRequest generates a "aws/request.Request" representing the
  13319. // client's request for the UnassignPrivateIpAddresses operation. The "output" return
  13320. // value can be used to capture response data after the request's "Send" method
  13321. // is called.
  13322. //
  13323. // See UnassignPrivateIpAddresses for usage and error information.
  13324. //
  13325. // Creating a request object using this method should be used when you want to inject
  13326. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13327. // access properties on the request object before or after sending the request. If
  13328. // you just want the service response, call the UnassignPrivateIpAddresses method directly
  13329. // instead.
  13330. //
  13331. // Note: You must call the "Send" method on the returned request object in order
  13332. // to execute the request.
  13333. //
  13334. // // Example sending a request using the UnassignPrivateIpAddressesRequest method.
  13335. // req, resp := client.UnassignPrivateIpAddressesRequest(params)
  13336. //
  13337. // err := req.Send()
  13338. // if err == nil { // resp is now filled
  13339. // fmt.Println(resp)
  13340. // }
  13341. //
  13342. func (c *EC2) UnassignPrivateIpAddressesRequest(input *UnassignPrivateIpAddressesInput) (req *request.Request, output *UnassignPrivateIpAddressesOutput) {
  13343. op := &request.Operation{
  13344. Name: opUnassignPrivateIpAddresses,
  13345. HTTPMethod: "POST",
  13346. HTTPPath: "/",
  13347. }
  13348. if input == nil {
  13349. input = &UnassignPrivateIpAddressesInput{}
  13350. }
  13351. req = c.newRequest(op, input, output)
  13352. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  13353. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  13354. output = &UnassignPrivateIpAddressesOutput{}
  13355. req.Data = output
  13356. return
  13357. }
  13358. // UnassignPrivateIpAddresses API operation for Amazon Elastic Compute Cloud.
  13359. //
  13360. // Unassigns one or more secondary private IP addresses from a network interface.
  13361. //
  13362. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13363. // with awserr.Error's Code and Message methods to get detailed information about
  13364. // the error.
  13365. //
  13366. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13367. // API operation UnassignPrivateIpAddresses for usage and error information.
  13368. func (c *EC2) UnassignPrivateIpAddresses(input *UnassignPrivateIpAddressesInput) (*UnassignPrivateIpAddressesOutput, error) {
  13369. req, out := c.UnassignPrivateIpAddressesRequest(input)
  13370. err := req.Send()
  13371. return out, err
  13372. }
  13373. const opUnmonitorInstances = "UnmonitorInstances"
  13374. // UnmonitorInstancesRequest generates a "aws/request.Request" representing the
  13375. // client's request for the UnmonitorInstances operation. The "output" return
  13376. // value can be used to capture response data after the request's "Send" method
  13377. // is called.
  13378. //
  13379. // See UnmonitorInstances for usage and error information.
  13380. //
  13381. // Creating a request object using this method should be used when you want to inject
  13382. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13383. // access properties on the request object before or after sending the request. If
  13384. // you just want the service response, call the UnmonitorInstances method directly
  13385. // instead.
  13386. //
  13387. // Note: You must call the "Send" method on the returned request object in order
  13388. // to execute the request.
  13389. //
  13390. // // Example sending a request using the UnmonitorInstancesRequest method.
  13391. // req, resp := client.UnmonitorInstancesRequest(params)
  13392. //
  13393. // err := req.Send()
  13394. // if err == nil { // resp is now filled
  13395. // fmt.Println(resp)
  13396. // }
  13397. //
  13398. func (c *EC2) UnmonitorInstancesRequest(input *UnmonitorInstancesInput) (req *request.Request, output *UnmonitorInstancesOutput) {
  13399. op := &request.Operation{
  13400. Name: opUnmonitorInstances,
  13401. HTTPMethod: "POST",
  13402. HTTPPath: "/",
  13403. }
  13404. if input == nil {
  13405. input = &UnmonitorInstancesInput{}
  13406. }
  13407. req = c.newRequest(op, input, output)
  13408. output = &UnmonitorInstancesOutput{}
  13409. req.Data = output
  13410. return
  13411. }
  13412. // UnmonitorInstances API operation for Amazon Elastic Compute Cloud.
  13413. //
  13414. // Disables monitoring for a running instance. For more information about monitoring
  13415. // instances, see Monitoring Your Instances and Volumes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html)
  13416. // in the Amazon Elastic Compute Cloud User Guide.
  13417. //
  13418. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13419. // with awserr.Error's Code and Message methods to get detailed information about
  13420. // the error.
  13421. //
  13422. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13423. // API operation UnmonitorInstances for usage and error information.
  13424. func (c *EC2) UnmonitorInstances(input *UnmonitorInstancesInput) (*UnmonitorInstancesOutput, error) {
  13425. req, out := c.UnmonitorInstancesRequest(input)
  13426. err := req.Send()
  13427. return out, err
  13428. }
  13429. // Contains the parameters for accepting the quote.
  13430. type AcceptReservedInstancesExchangeQuoteInput struct {
  13431. _ struct{} `type:"structure"`
  13432. // Checks whether you have the required permissions for the action, without
  13433. // actually making the request, and provides an error response. If you have
  13434. // the required permissions, the error response is DryRunOperation. Otherwise,
  13435. // it is UnauthorizedOperation.
  13436. DryRun *bool `type:"boolean"`
  13437. // The IDs of the Convertible Reserved Instances that you want to exchange for
  13438. // other Convertible Reserved Instances of the same or higher value.
  13439. //
  13440. // ReservedInstanceIds is a required field
  13441. ReservedInstanceIds []*string `locationName:"ReservedInstanceId" locationNameList:"ReservedInstanceId" type:"list" required:"true"`
  13442. // The configurations of the Convertible Reserved Instance offerings you are
  13443. // purchasing in this exchange.
  13444. TargetConfigurations []*TargetConfigurationRequest `locationName:"TargetConfiguration" locationNameList:"TargetConfigurationRequest" type:"list"`
  13445. }
  13446. // String returns the string representation
  13447. func (s AcceptReservedInstancesExchangeQuoteInput) String() string {
  13448. return awsutil.Prettify(s)
  13449. }
  13450. // GoString returns the string representation
  13451. func (s AcceptReservedInstancesExchangeQuoteInput) GoString() string {
  13452. return s.String()
  13453. }
  13454. // Validate inspects the fields of the type to determine if they are valid.
  13455. func (s *AcceptReservedInstancesExchangeQuoteInput) Validate() error {
  13456. invalidParams := request.ErrInvalidParams{Context: "AcceptReservedInstancesExchangeQuoteInput"}
  13457. if s.ReservedInstanceIds == nil {
  13458. invalidParams.Add(request.NewErrParamRequired("ReservedInstanceIds"))
  13459. }
  13460. if s.TargetConfigurations != nil {
  13461. for i, v := range s.TargetConfigurations {
  13462. if v == nil {
  13463. continue
  13464. }
  13465. if err := v.Validate(); err != nil {
  13466. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetConfigurations", i), err.(request.ErrInvalidParams))
  13467. }
  13468. }
  13469. }
  13470. if invalidParams.Len() > 0 {
  13471. return invalidParams
  13472. }
  13473. return nil
  13474. }
  13475. // The result of the exchange and whether it was successful.
  13476. type AcceptReservedInstancesExchangeQuoteOutput struct {
  13477. _ struct{} `type:"structure"`
  13478. // The ID of the successful exchange.
  13479. ExchangeId *string `locationName:"exchangeId" type:"string"`
  13480. }
  13481. // String returns the string representation
  13482. func (s AcceptReservedInstancesExchangeQuoteOutput) String() string {
  13483. return awsutil.Prettify(s)
  13484. }
  13485. // GoString returns the string representation
  13486. func (s AcceptReservedInstancesExchangeQuoteOutput) GoString() string {
  13487. return s.String()
  13488. }
  13489. // Contains the parameters for AcceptVpcPeeringConnection.
  13490. type AcceptVpcPeeringConnectionInput struct {
  13491. _ struct{} `type:"structure"`
  13492. // Checks whether you have the required permissions for the action, without
  13493. // actually making the request, and provides an error response. If you have
  13494. // the required permissions, the error response is DryRunOperation. Otherwise,
  13495. // it is UnauthorizedOperation.
  13496. DryRun *bool `locationName:"dryRun" type:"boolean"`
  13497. // The ID of the VPC peering connection.
  13498. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  13499. }
  13500. // String returns the string representation
  13501. func (s AcceptVpcPeeringConnectionInput) String() string {
  13502. return awsutil.Prettify(s)
  13503. }
  13504. // GoString returns the string representation
  13505. func (s AcceptVpcPeeringConnectionInput) GoString() string {
  13506. return s.String()
  13507. }
  13508. // Contains the output of AcceptVpcPeeringConnection.
  13509. type AcceptVpcPeeringConnectionOutput struct {
  13510. _ struct{} `type:"structure"`
  13511. // Information about the VPC peering connection.
  13512. VpcPeeringConnection *VpcPeeringConnection `locationName:"vpcPeeringConnection" type:"structure"`
  13513. }
  13514. // String returns the string representation
  13515. func (s AcceptVpcPeeringConnectionOutput) String() string {
  13516. return awsutil.Prettify(s)
  13517. }
  13518. // GoString returns the string representation
  13519. func (s AcceptVpcPeeringConnectionOutput) GoString() string {
  13520. return s.String()
  13521. }
  13522. // Describes an account attribute.
  13523. type AccountAttribute struct {
  13524. _ struct{} `type:"structure"`
  13525. // The name of the account attribute.
  13526. AttributeName *string `locationName:"attributeName" type:"string"`
  13527. // One or more values for the account attribute.
  13528. AttributeValues []*AccountAttributeValue `locationName:"attributeValueSet" locationNameList:"item" type:"list"`
  13529. }
  13530. // String returns the string representation
  13531. func (s AccountAttribute) String() string {
  13532. return awsutil.Prettify(s)
  13533. }
  13534. // GoString returns the string representation
  13535. func (s AccountAttribute) GoString() string {
  13536. return s.String()
  13537. }
  13538. // Describes a value of an account attribute.
  13539. type AccountAttributeValue struct {
  13540. _ struct{} `type:"structure"`
  13541. // The value of the attribute.
  13542. AttributeValue *string `locationName:"attributeValue" type:"string"`
  13543. }
  13544. // String returns the string representation
  13545. func (s AccountAttributeValue) String() string {
  13546. return awsutil.Prettify(s)
  13547. }
  13548. // GoString returns the string representation
  13549. func (s AccountAttributeValue) GoString() string {
  13550. return s.String()
  13551. }
  13552. // Describes a running instance in a Spot fleet.
  13553. type ActiveInstance struct {
  13554. _ struct{} `type:"structure"`
  13555. // The ID of the instance.
  13556. InstanceId *string `locationName:"instanceId" type:"string"`
  13557. // The instance type.
  13558. InstanceType *string `locationName:"instanceType" type:"string"`
  13559. // The ID of the Spot instance request.
  13560. SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
  13561. }
  13562. // String returns the string representation
  13563. func (s ActiveInstance) String() string {
  13564. return awsutil.Prettify(s)
  13565. }
  13566. // GoString returns the string representation
  13567. func (s ActiveInstance) GoString() string {
  13568. return s.String()
  13569. }
  13570. // Describes an Elastic IP address.
  13571. type Address struct {
  13572. _ struct{} `type:"structure"`
  13573. // The ID representing the allocation of the address for use with EC2-VPC.
  13574. AllocationId *string `locationName:"allocationId" type:"string"`
  13575. // The ID representing the association of the address with an instance in a
  13576. // VPC.
  13577. AssociationId *string `locationName:"associationId" type:"string"`
  13578. // Indicates whether this Elastic IP address is for use with instances in EC2-Classic
  13579. // (standard) or instances in a VPC (vpc).
  13580. Domain *string `locationName:"domain" type:"string" enum:"DomainType"`
  13581. // The ID of the instance that the address is associated with (if any).
  13582. InstanceId *string `locationName:"instanceId" type:"string"`
  13583. // The ID of the network interface.
  13584. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  13585. // The ID of the AWS account that owns the network interface.
  13586. NetworkInterfaceOwnerId *string `locationName:"networkInterfaceOwnerId" type:"string"`
  13587. // The private IP address associated with the Elastic IP address.
  13588. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  13589. // The Elastic IP address.
  13590. PublicIp *string `locationName:"publicIp" type:"string"`
  13591. }
  13592. // String returns the string representation
  13593. func (s Address) String() string {
  13594. return awsutil.Prettify(s)
  13595. }
  13596. // GoString returns the string representation
  13597. func (s Address) GoString() string {
  13598. return s.String()
  13599. }
  13600. // Contains the parameters for AllocateAddress.
  13601. type AllocateAddressInput struct {
  13602. _ struct{} `type:"structure"`
  13603. // Set to vpc to allocate the address for use with instances in a VPC.
  13604. //
  13605. // Default: The address is for use with instances in EC2-Classic.
  13606. Domain *string `type:"string" enum:"DomainType"`
  13607. // Checks whether you have the required permissions for the action, without
  13608. // actually making the request, and provides an error response. If you have
  13609. // the required permissions, the error response is DryRunOperation. Otherwise,
  13610. // it is UnauthorizedOperation.
  13611. DryRun *bool `locationName:"dryRun" type:"boolean"`
  13612. }
  13613. // String returns the string representation
  13614. func (s AllocateAddressInput) String() string {
  13615. return awsutil.Prettify(s)
  13616. }
  13617. // GoString returns the string representation
  13618. func (s AllocateAddressInput) GoString() string {
  13619. return s.String()
  13620. }
  13621. // Contains the output of AllocateAddress.
  13622. type AllocateAddressOutput struct {
  13623. _ struct{} `type:"structure"`
  13624. // [EC2-VPC] The ID that AWS assigns to represent the allocation of the Elastic
  13625. // IP address for use with instances in a VPC.
  13626. AllocationId *string `locationName:"allocationId" type:"string"`
  13627. // Indicates whether this Elastic IP address is for use with instances in EC2-Classic
  13628. // (standard) or instances in a VPC (vpc).
  13629. Domain *string `locationName:"domain" type:"string" enum:"DomainType"`
  13630. // The Elastic IP address.
  13631. PublicIp *string `locationName:"publicIp" type:"string"`
  13632. }
  13633. // String returns the string representation
  13634. func (s AllocateAddressOutput) String() string {
  13635. return awsutil.Prettify(s)
  13636. }
  13637. // GoString returns the string representation
  13638. func (s AllocateAddressOutput) GoString() string {
  13639. return s.String()
  13640. }
  13641. // Contains the parameters for AllocateHosts.
  13642. type AllocateHostsInput struct {
  13643. _ struct{} `type:"structure"`
  13644. // This is enabled by default. This property allows instances to be automatically
  13645. // placed onto available Dedicated Hosts, when you are launching instances without
  13646. // specifying a host ID.
  13647. //
  13648. // Default: Enabled
  13649. AutoPlacement *string `locationName:"autoPlacement" type:"string" enum:"AutoPlacement"`
  13650. // The Availability Zone for the Dedicated Hosts.
  13651. //
  13652. // AvailabilityZone is a required field
  13653. AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
  13654. // Unique, case-sensitive identifier you provide to ensure idempotency of the
  13655. // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  13656. // in the Amazon Elastic Compute Cloud User Guide.
  13657. ClientToken *string `locationName:"clientToken" type:"string"`
  13658. // Specify the instance type that you want your Dedicated Hosts to be configured
  13659. // for. When you specify the instance type, that is the only instance type that
  13660. // you can launch onto that host.
  13661. //
  13662. // InstanceType is a required field
  13663. InstanceType *string `locationName:"instanceType" type:"string" required:"true"`
  13664. // The number of Dedicated Hosts you want to allocate to your account with these
  13665. // parameters.
  13666. //
  13667. // Quantity is a required field
  13668. Quantity *int64 `locationName:"quantity" type:"integer" required:"true"`
  13669. }
  13670. // String returns the string representation
  13671. func (s AllocateHostsInput) String() string {
  13672. return awsutil.Prettify(s)
  13673. }
  13674. // GoString returns the string representation
  13675. func (s AllocateHostsInput) GoString() string {
  13676. return s.String()
  13677. }
  13678. // Validate inspects the fields of the type to determine if they are valid.
  13679. func (s *AllocateHostsInput) Validate() error {
  13680. invalidParams := request.ErrInvalidParams{Context: "AllocateHostsInput"}
  13681. if s.AvailabilityZone == nil {
  13682. invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
  13683. }
  13684. if s.InstanceType == nil {
  13685. invalidParams.Add(request.NewErrParamRequired("InstanceType"))
  13686. }
  13687. if s.Quantity == nil {
  13688. invalidParams.Add(request.NewErrParamRequired("Quantity"))
  13689. }
  13690. if invalidParams.Len() > 0 {
  13691. return invalidParams
  13692. }
  13693. return nil
  13694. }
  13695. // Contains the output of AllocateHosts.
  13696. type AllocateHostsOutput struct {
  13697. _ struct{} `type:"structure"`
  13698. // The ID of the allocated Dedicated Host. This is used when you want to launch
  13699. // an instance onto a specific host.
  13700. HostIds []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
  13701. }
  13702. // String returns the string representation
  13703. func (s AllocateHostsOutput) String() string {
  13704. return awsutil.Prettify(s)
  13705. }
  13706. // GoString returns the string representation
  13707. func (s AllocateHostsOutput) GoString() string {
  13708. return s.String()
  13709. }
  13710. // Contains the parameters for AssignPrivateIpAddresses.
  13711. type AssignPrivateIpAddressesInput struct {
  13712. _ struct{} `type:"structure"`
  13713. // Indicates whether to allow an IP address that is already assigned to another
  13714. // network interface or instance to be reassigned to the specified network interface.
  13715. AllowReassignment *bool `locationName:"allowReassignment" type:"boolean"`
  13716. // The ID of the network interface.
  13717. //
  13718. // NetworkInterfaceId is a required field
  13719. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  13720. // One or more IP addresses to be assigned as a secondary private IP address
  13721. // to the network interface. You can't specify this parameter when also specifying
  13722. // a number of secondary IP addresses.
  13723. //
  13724. // If you don't specify an IP address, Amazon EC2 automatically selects an IP
  13725. // address within the subnet range.
  13726. PrivateIpAddresses []*string `locationName:"privateIpAddress" locationNameList:"PrivateIpAddress" type:"list"`
  13727. // The number of secondary IP addresses to assign to the network interface.
  13728. // You can't specify this parameter when also specifying private IP addresses.
  13729. SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
  13730. }
  13731. // String returns the string representation
  13732. func (s AssignPrivateIpAddressesInput) String() string {
  13733. return awsutil.Prettify(s)
  13734. }
  13735. // GoString returns the string representation
  13736. func (s AssignPrivateIpAddressesInput) GoString() string {
  13737. return s.String()
  13738. }
  13739. // Validate inspects the fields of the type to determine if they are valid.
  13740. func (s *AssignPrivateIpAddressesInput) Validate() error {
  13741. invalidParams := request.ErrInvalidParams{Context: "AssignPrivateIpAddressesInput"}
  13742. if s.NetworkInterfaceId == nil {
  13743. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  13744. }
  13745. if invalidParams.Len() > 0 {
  13746. return invalidParams
  13747. }
  13748. return nil
  13749. }
  13750. type AssignPrivateIpAddressesOutput struct {
  13751. _ struct{} `type:"structure"`
  13752. }
  13753. // String returns the string representation
  13754. func (s AssignPrivateIpAddressesOutput) String() string {
  13755. return awsutil.Prettify(s)
  13756. }
  13757. // GoString returns the string representation
  13758. func (s AssignPrivateIpAddressesOutput) GoString() string {
  13759. return s.String()
  13760. }
  13761. // Contains the parameters for AssociateAddress.
  13762. type AssociateAddressInput struct {
  13763. _ struct{} `type:"structure"`
  13764. // [EC2-VPC] The allocation ID. This is required for EC2-VPC.
  13765. AllocationId *string `type:"string"`
  13766. // [EC2-VPC] For a VPC in an EC2-Classic account, specify true to allow an Elastic
  13767. // IP address that is already associated with an instance or network interface
  13768. // to be reassociated with the specified instance or network interface. Otherwise,
  13769. // the operation fails. In a VPC in an EC2-VPC-only account, reassociation is
  13770. // automatic, therefore you can specify false to ensure the operation fails
  13771. // if the Elastic IP address is already associated with another resource.
  13772. AllowReassociation *bool `locationName:"allowReassociation" type:"boolean"`
  13773. // Checks whether you have the required permissions for the action, without
  13774. // actually making the request, and provides an error response. If you have
  13775. // the required permissions, the error response is DryRunOperation. Otherwise,
  13776. // it is UnauthorizedOperation.
  13777. DryRun *bool `locationName:"dryRun" type:"boolean"`
  13778. // The ID of the instance. This is required for EC2-Classic. For EC2-VPC, you
  13779. // can specify either the instance ID or the network interface ID, but not both.
  13780. // The operation fails if you specify an instance ID unless exactly one network
  13781. // interface is attached.
  13782. InstanceId *string `type:"string"`
  13783. // [EC2-VPC] The ID of the network interface. If the instance has more than
  13784. // one network interface, you must specify a network interface ID.
  13785. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  13786. // [EC2-VPC] The primary or secondary private IP address to associate with the
  13787. // Elastic IP address. If no private IP address is specified, the Elastic IP
  13788. // address is associated with the primary private IP address.
  13789. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  13790. // The Elastic IP address. This is required for EC2-Classic.
  13791. PublicIp *string `type:"string"`
  13792. }
  13793. // String returns the string representation
  13794. func (s AssociateAddressInput) String() string {
  13795. return awsutil.Prettify(s)
  13796. }
  13797. // GoString returns the string representation
  13798. func (s AssociateAddressInput) GoString() string {
  13799. return s.String()
  13800. }
  13801. // Contains the output of AssociateAddress.
  13802. type AssociateAddressOutput struct {
  13803. _ struct{} `type:"structure"`
  13804. // [EC2-VPC] The ID that represents the association of the Elastic IP address
  13805. // with an instance.
  13806. AssociationId *string `locationName:"associationId" type:"string"`
  13807. }
  13808. // String returns the string representation
  13809. func (s AssociateAddressOutput) String() string {
  13810. return awsutil.Prettify(s)
  13811. }
  13812. // GoString returns the string representation
  13813. func (s AssociateAddressOutput) GoString() string {
  13814. return s.String()
  13815. }
  13816. // Contains the parameters for AssociateDhcpOptions.
  13817. type AssociateDhcpOptionsInput struct {
  13818. _ struct{} `type:"structure"`
  13819. // The ID of the DHCP options set, or default to associate no DHCP options with
  13820. // the VPC.
  13821. //
  13822. // DhcpOptionsId is a required field
  13823. DhcpOptionsId *string `type:"string" required:"true"`
  13824. // Checks whether you have the required permissions for the action, without
  13825. // actually making the request, and provides an error response. If you have
  13826. // the required permissions, the error response is DryRunOperation. Otherwise,
  13827. // it is UnauthorizedOperation.
  13828. DryRun *bool `locationName:"dryRun" type:"boolean"`
  13829. // The ID of the VPC.
  13830. //
  13831. // VpcId is a required field
  13832. VpcId *string `type:"string" required:"true"`
  13833. }
  13834. // String returns the string representation
  13835. func (s AssociateDhcpOptionsInput) String() string {
  13836. return awsutil.Prettify(s)
  13837. }
  13838. // GoString returns the string representation
  13839. func (s AssociateDhcpOptionsInput) GoString() string {
  13840. return s.String()
  13841. }
  13842. // Validate inspects the fields of the type to determine if they are valid.
  13843. func (s *AssociateDhcpOptionsInput) Validate() error {
  13844. invalidParams := request.ErrInvalidParams{Context: "AssociateDhcpOptionsInput"}
  13845. if s.DhcpOptionsId == nil {
  13846. invalidParams.Add(request.NewErrParamRequired("DhcpOptionsId"))
  13847. }
  13848. if s.VpcId == nil {
  13849. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  13850. }
  13851. if invalidParams.Len() > 0 {
  13852. return invalidParams
  13853. }
  13854. return nil
  13855. }
  13856. type AssociateDhcpOptionsOutput struct {
  13857. _ struct{} `type:"structure"`
  13858. }
  13859. // String returns the string representation
  13860. func (s AssociateDhcpOptionsOutput) String() string {
  13861. return awsutil.Prettify(s)
  13862. }
  13863. // GoString returns the string representation
  13864. func (s AssociateDhcpOptionsOutput) GoString() string {
  13865. return s.String()
  13866. }
  13867. // Contains the parameters for AssociateRouteTable.
  13868. type AssociateRouteTableInput struct {
  13869. _ struct{} `type:"structure"`
  13870. // Checks whether you have the required permissions for the action, without
  13871. // actually making the request, and provides an error response. If you have
  13872. // the required permissions, the error response is DryRunOperation. Otherwise,
  13873. // it is UnauthorizedOperation.
  13874. DryRun *bool `locationName:"dryRun" type:"boolean"`
  13875. // The ID of the route table.
  13876. //
  13877. // RouteTableId is a required field
  13878. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  13879. // The ID of the subnet.
  13880. //
  13881. // SubnetId is a required field
  13882. SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
  13883. }
  13884. // String returns the string representation
  13885. func (s AssociateRouteTableInput) String() string {
  13886. return awsutil.Prettify(s)
  13887. }
  13888. // GoString returns the string representation
  13889. func (s AssociateRouteTableInput) GoString() string {
  13890. return s.String()
  13891. }
  13892. // Validate inspects the fields of the type to determine if they are valid.
  13893. func (s *AssociateRouteTableInput) Validate() error {
  13894. invalidParams := request.ErrInvalidParams{Context: "AssociateRouteTableInput"}
  13895. if s.RouteTableId == nil {
  13896. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  13897. }
  13898. if s.SubnetId == nil {
  13899. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  13900. }
  13901. if invalidParams.Len() > 0 {
  13902. return invalidParams
  13903. }
  13904. return nil
  13905. }
  13906. // Contains the output of AssociateRouteTable.
  13907. type AssociateRouteTableOutput struct {
  13908. _ struct{} `type:"structure"`
  13909. // The route table association ID (needed to disassociate the route table).
  13910. AssociationId *string `locationName:"associationId" type:"string"`
  13911. }
  13912. // String returns the string representation
  13913. func (s AssociateRouteTableOutput) String() string {
  13914. return awsutil.Prettify(s)
  13915. }
  13916. // GoString returns the string representation
  13917. func (s AssociateRouteTableOutput) GoString() string {
  13918. return s.String()
  13919. }
  13920. // Contains the parameters for AttachClassicLinkVpc.
  13921. type AttachClassicLinkVpcInput struct {
  13922. _ struct{} `type:"structure"`
  13923. // Checks whether you have the required permissions for the action, without
  13924. // actually making the request, and provides an error response. If you have
  13925. // the required permissions, the error response is DryRunOperation. Otherwise,
  13926. // it is UnauthorizedOperation.
  13927. DryRun *bool `locationName:"dryRun" type:"boolean"`
  13928. // The ID of one or more of the VPC's security groups. You cannot specify security
  13929. // groups from a different VPC.
  13930. //
  13931. // Groups is a required field
  13932. Groups []*string `locationName:"SecurityGroupId" locationNameList:"groupId" type:"list" required:"true"`
  13933. // The ID of an EC2-Classic instance to link to the ClassicLink-enabled VPC.
  13934. //
  13935. // InstanceId is a required field
  13936. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  13937. // The ID of a ClassicLink-enabled VPC.
  13938. //
  13939. // VpcId is a required field
  13940. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  13941. }
  13942. // String returns the string representation
  13943. func (s AttachClassicLinkVpcInput) String() string {
  13944. return awsutil.Prettify(s)
  13945. }
  13946. // GoString returns the string representation
  13947. func (s AttachClassicLinkVpcInput) GoString() string {
  13948. return s.String()
  13949. }
  13950. // Validate inspects the fields of the type to determine if they are valid.
  13951. func (s *AttachClassicLinkVpcInput) Validate() error {
  13952. invalidParams := request.ErrInvalidParams{Context: "AttachClassicLinkVpcInput"}
  13953. if s.Groups == nil {
  13954. invalidParams.Add(request.NewErrParamRequired("Groups"))
  13955. }
  13956. if s.InstanceId == nil {
  13957. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  13958. }
  13959. if s.VpcId == nil {
  13960. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  13961. }
  13962. if invalidParams.Len() > 0 {
  13963. return invalidParams
  13964. }
  13965. return nil
  13966. }
  13967. // Contains the output of AttachClassicLinkVpc.
  13968. type AttachClassicLinkVpcOutput struct {
  13969. _ struct{} `type:"structure"`
  13970. // Returns true if the request succeeds; otherwise, it returns an error.
  13971. Return *bool `locationName:"return" type:"boolean"`
  13972. }
  13973. // String returns the string representation
  13974. func (s AttachClassicLinkVpcOutput) String() string {
  13975. return awsutil.Prettify(s)
  13976. }
  13977. // GoString returns the string representation
  13978. func (s AttachClassicLinkVpcOutput) GoString() string {
  13979. return s.String()
  13980. }
  13981. // Contains the parameters for AttachInternetGateway.
  13982. type AttachInternetGatewayInput struct {
  13983. _ struct{} `type:"structure"`
  13984. // Checks whether you have the required permissions for the action, without
  13985. // actually making the request, and provides an error response. If you have
  13986. // the required permissions, the error response is DryRunOperation. Otherwise,
  13987. // it is UnauthorizedOperation.
  13988. DryRun *bool `locationName:"dryRun" type:"boolean"`
  13989. // The ID of the Internet gateway.
  13990. //
  13991. // InternetGatewayId is a required field
  13992. InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
  13993. // The ID of the VPC.
  13994. //
  13995. // VpcId is a required field
  13996. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  13997. }
  13998. // String returns the string representation
  13999. func (s AttachInternetGatewayInput) String() string {
  14000. return awsutil.Prettify(s)
  14001. }
  14002. // GoString returns the string representation
  14003. func (s AttachInternetGatewayInput) GoString() string {
  14004. return s.String()
  14005. }
  14006. // Validate inspects the fields of the type to determine if they are valid.
  14007. func (s *AttachInternetGatewayInput) Validate() error {
  14008. invalidParams := request.ErrInvalidParams{Context: "AttachInternetGatewayInput"}
  14009. if s.InternetGatewayId == nil {
  14010. invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
  14011. }
  14012. if s.VpcId == nil {
  14013. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  14014. }
  14015. if invalidParams.Len() > 0 {
  14016. return invalidParams
  14017. }
  14018. return nil
  14019. }
  14020. type AttachInternetGatewayOutput struct {
  14021. _ struct{} `type:"structure"`
  14022. }
  14023. // String returns the string representation
  14024. func (s AttachInternetGatewayOutput) String() string {
  14025. return awsutil.Prettify(s)
  14026. }
  14027. // GoString returns the string representation
  14028. func (s AttachInternetGatewayOutput) GoString() string {
  14029. return s.String()
  14030. }
  14031. // Contains the parameters for AttachNetworkInterface.
  14032. type AttachNetworkInterfaceInput struct {
  14033. _ struct{} `type:"structure"`
  14034. // The index of the device for the network interface attachment.
  14035. //
  14036. // DeviceIndex is a required field
  14037. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer" required:"true"`
  14038. // Checks whether you have the required permissions for the action, without
  14039. // actually making the request, and provides an error response. If you have
  14040. // the required permissions, the error response is DryRunOperation. Otherwise,
  14041. // it is UnauthorizedOperation.
  14042. DryRun *bool `locationName:"dryRun" type:"boolean"`
  14043. // The ID of the instance.
  14044. //
  14045. // InstanceId is a required field
  14046. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  14047. // The ID of the network interface.
  14048. //
  14049. // NetworkInterfaceId is a required field
  14050. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  14051. }
  14052. // String returns the string representation
  14053. func (s AttachNetworkInterfaceInput) String() string {
  14054. return awsutil.Prettify(s)
  14055. }
  14056. // GoString returns the string representation
  14057. func (s AttachNetworkInterfaceInput) GoString() string {
  14058. return s.String()
  14059. }
  14060. // Validate inspects the fields of the type to determine if they are valid.
  14061. func (s *AttachNetworkInterfaceInput) Validate() error {
  14062. invalidParams := request.ErrInvalidParams{Context: "AttachNetworkInterfaceInput"}
  14063. if s.DeviceIndex == nil {
  14064. invalidParams.Add(request.NewErrParamRequired("DeviceIndex"))
  14065. }
  14066. if s.InstanceId == nil {
  14067. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  14068. }
  14069. if s.NetworkInterfaceId == nil {
  14070. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  14071. }
  14072. if invalidParams.Len() > 0 {
  14073. return invalidParams
  14074. }
  14075. return nil
  14076. }
  14077. // Contains the output of AttachNetworkInterface.
  14078. type AttachNetworkInterfaceOutput struct {
  14079. _ struct{} `type:"structure"`
  14080. // The ID of the network interface attachment.
  14081. AttachmentId *string `locationName:"attachmentId" type:"string"`
  14082. }
  14083. // String returns the string representation
  14084. func (s AttachNetworkInterfaceOutput) String() string {
  14085. return awsutil.Prettify(s)
  14086. }
  14087. // GoString returns the string representation
  14088. func (s AttachNetworkInterfaceOutput) GoString() string {
  14089. return s.String()
  14090. }
  14091. // Contains the parameters for AttachVolume.
  14092. type AttachVolumeInput struct {
  14093. _ struct{} `type:"structure"`
  14094. // The device name to expose to the instance (for example, /dev/sdh or xvdh).
  14095. //
  14096. // Device is a required field
  14097. Device *string `type:"string" required:"true"`
  14098. // Checks whether you have the required permissions for the action, without
  14099. // actually making the request, and provides an error response. If you have
  14100. // the required permissions, the error response is DryRunOperation. Otherwise,
  14101. // it is UnauthorizedOperation.
  14102. DryRun *bool `locationName:"dryRun" type:"boolean"`
  14103. // The ID of the instance.
  14104. //
  14105. // InstanceId is a required field
  14106. InstanceId *string `type:"string" required:"true"`
  14107. // The ID of the EBS volume. The volume and instance must be within the same
  14108. // Availability Zone.
  14109. //
  14110. // VolumeId is a required field
  14111. VolumeId *string `type:"string" required:"true"`
  14112. }
  14113. // String returns the string representation
  14114. func (s AttachVolumeInput) String() string {
  14115. return awsutil.Prettify(s)
  14116. }
  14117. // GoString returns the string representation
  14118. func (s AttachVolumeInput) GoString() string {
  14119. return s.String()
  14120. }
  14121. // Validate inspects the fields of the type to determine if they are valid.
  14122. func (s *AttachVolumeInput) Validate() error {
  14123. invalidParams := request.ErrInvalidParams{Context: "AttachVolumeInput"}
  14124. if s.Device == nil {
  14125. invalidParams.Add(request.NewErrParamRequired("Device"))
  14126. }
  14127. if s.InstanceId == nil {
  14128. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  14129. }
  14130. if s.VolumeId == nil {
  14131. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  14132. }
  14133. if invalidParams.Len() > 0 {
  14134. return invalidParams
  14135. }
  14136. return nil
  14137. }
  14138. // Contains the parameters for AttachVpnGateway.
  14139. type AttachVpnGatewayInput struct {
  14140. _ struct{} `type:"structure"`
  14141. // Checks whether you have the required permissions for the action, without
  14142. // actually making the request, and provides an error response. If you have
  14143. // the required permissions, the error response is DryRunOperation. Otherwise,
  14144. // it is UnauthorizedOperation.
  14145. DryRun *bool `locationName:"dryRun" type:"boolean"`
  14146. // The ID of the VPC.
  14147. //
  14148. // VpcId is a required field
  14149. VpcId *string `type:"string" required:"true"`
  14150. // The ID of the virtual private gateway.
  14151. //
  14152. // VpnGatewayId is a required field
  14153. VpnGatewayId *string `type:"string" required:"true"`
  14154. }
  14155. // String returns the string representation
  14156. func (s AttachVpnGatewayInput) String() string {
  14157. return awsutil.Prettify(s)
  14158. }
  14159. // GoString returns the string representation
  14160. func (s AttachVpnGatewayInput) GoString() string {
  14161. return s.String()
  14162. }
  14163. // Validate inspects the fields of the type to determine if they are valid.
  14164. func (s *AttachVpnGatewayInput) Validate() error {
  14165. invalidParams := request.ErrInvalidParams{Context: "AttachVpnGatewayInput"}
  14166. if s.VpcId == nil {
  14167. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  14168. }
  14169. if s.VpnGatewayId == nil {
  14170. invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
  14171. }
  14172. if invalidParams.Len() > 0 {
  14173. return invalidParams
  14174. }
  14175. return nil
  14176. }
  14177. // Contains the output of AttachVpnGateway.
  14178. type AttachVpnGatewayOutput struct {
  14179. _ struct{} `type:"structure"`
  14180. // Information about the attachment.
  14181. VpcAttachment *VpcAttachment `locationName:"attachment" type:"structure"`
  14182. }
  14183. // String returns the string representation
  14184. func (s AttachVpnGatewayOutput) String() string {
  14185. return awsutil.Prettify(s)
  14186. }
  14187. // GoString returns the string representation
  14188. func (s AttachVpnGatewayOutput) GoString() string {
  14189. return s.String()
  14190. }
  14191. // Describes a value for a resource attribute that is a Boolean value.
  14192. type AttributeBooleanValue struct {
  14193. _ struct{} `type:"structure"`
  14194. // The attribute value. The valid values are true or false.
  14195. Value *bool `locationName:"value" type:"boolean"`
  14196. }
  14197. // String returns the string representation
  14198. func (s AttributeBooleanValue) String() string {
  14199. return awsutil.Prettify(s)
  14200. }
  14201. // GoString returns the string representation
  14202. func (s AttributeBooleanValue) GoString() string {
  14203. return s.String()
  14204. }
  14205. // Describes a value for a resource attribute that is a String.
  14206. type AttributeValue struct {
  14207. _ struct{} `type:"structure"`
  14208. // The attribute value. Note that the value is case-sensitive.
  14209. Value *string `locationName:"value" type:"string"`
  14210. }
  14211. // String returns the string representation
  14212. func (s AttributeValue) String() string {
  14213. return awsutil.Prettify(s)
  14214. }
  14215. // GoString returns the string representation
  14216. func (s AttributeValue) GoString() string {
  14217. return s.String()
  14218. }
  14219. // Contains the parameters for AuthorizeSecurityGroupEgress.
  14220. type AuthorizeSecurityGroupEgressInput struct {
  14221. _ struct{} `type:"structure"`
  14222. // The CIDR IP address range. We recommend that you specify the CIDR range in
  14223. // a set of IP permissions instead.
  14224. CidrIp *string `locationName:"cidrIp" type:"string"`
  14225. // Checks whether you have the required permissions for the action, without
  14226. // actually making the request, and provides an error response. If you have
  14227. // the required permissions, the error response is DryRunOperation. Otherwise,
  14228. // it is UnauthorizedOperation.
  14229. DryRun *bool `locationName:"dryRun" type:"boolean"`
  14230. // The start of port range for the TCP and UDP protocols, or an ICMP type number.
  14231. // We recommend that you specify the port range in a set of IP permissions instead.
  14232. FromPort *int64 `locationName:"fromPort" type:"integer"`
  14233. // The ID of the security group.
  14234. //
  14235. // GroupId is a required field
  14236. GroupId *string `locationName:"groupId" type:"string" required:"true"`
  14237. // A set of IP permissions. You can't specify a destination security group and
  14238. // a CIDR IP address range.
  14239. IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
  14240. // The IP protocol name or number. We recommend that you specify the protocol
  14241. // in a set of IP permissions instead.
  14242. IpProtocol *string `locationName:"ipProtocol" type:"string"`
  14243. // The name of a destination security group. To authorize outbound access to
  14244. // a destination security group, we recommend that you use a set of IP permissions
  14245. // instead.
  14246. SourceSecurityGroupName *string `locationName:"sourceSecurityGroupName" type:"string"`
  14247. // The AWS account number for a destination security group. To authorize outbound
  14248. // access to a destination security group, we recommend that you use a set of
  14249. // IP permissions instead.
  14250. SourceSecurityGroupOwnerId *string `locationName:"sourceSecurityGroupOwnerId" type:"string"`
  14251. // The end of port range for the TCP and UDP protocols, or an ICMP type number.
  14252. // We recommend that you specify the port range in a set of IP permissions instead.
  14253. ToPort *int64 `locationName:"toPort" type:"integer"`
  14254. }
  14255. // String returns the string representation
  14256. func (s AuthorizeSecurityGroupEgressInput) String() string {
  14257. return awsutil.Prettify(s)
  14258. }
  14259. // GoString returns the string representation
  14260. func (s AuthorizeSecurityGroupEgressInput) GoString() string {
  14261. return s.String()
  14262. }
  14263. // Validate inspects the fields of the type to determine if they are valid.
  14264. func (s *AuthorizeSecurityGroupEgressInput) Validate() error {
  14265. invalidParams := request.ErrInvalidParams{Context: "AuthorizeSecurityGroupEgressInput"}
  14266. if s.GroupId == nil {
  14267. invalidParams.Add(request.NewErrParamRequired("GroupId"))
  14268. }
  14269. if invalidParams.Len() > 0 {
  14270. return invalidParams
  14271. }
  14272. return nil
  14273. }
  14274. type AuthorizeSecurityGroupEgressOutput struct {
  14275. _ struct{} `type:"structure"`
  14276. }
  14277. // String returns the string representation
  14278. func (s AuthorizeSecurityGroupEgressOutput) String() string {
  14279. return awsutil.Prettify(s)
  14280. }
  14281. // GoString returns the string representation
  14282. func (s AuthorizeSecurityGroupEgressOutput) GoString() string {
  14283. return s.String()
  14284. }
  14285. // Contains the parameters for AuthorizeSecurityGroupIngress.
  14286. type AuthorizeSecurityGroupIngressInput struct {
  14287. _ struct{} `type:"structure"`
  14288. // The CIDR IP address range. You can't specify this parameter when specifying
  14289. // a source security group.
  14290. CidrIp *string `type:"string"`
  14291. // Checks whether you have the required permissions for the action, without
  14292. // actually making the request, and provides an error response. If you have
  14293. // the required permissions, the error response is DryRunOperation. Otherwise,
  14294. // it is UnauthorizedOperation.
  14295. DryRun *bool `locationName:"dryRun" type:"boolean"`
  14296. // The start of port range for the TCP and UDP protocols, or an ICMP type number.
  14297. // For the ICMP type number, use -1 to specify all ICMP types.
  14298. FromPort *int64 `type:"integer"`
  14299. // The ID of the security group. Required for a nondefault VPC.
  14300. GroupId *string `type:"string"`
  14301. // [EC2-Classic, default VPC] The name of the security group.
  14302. GroupName *string `type:"string"`
  14303. // A set of IP permissions. Can be used to specify multiple rules in a single
  14304. // command.
  14305. IpPermissions []*IpPermission `locationNameList:"item" type:"list"`
  14306. // The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
  14307. // (VPC only) Use -1 to specify all traffic. If you specify -1, traffic on all
  14308. // ports is allowed, regardless of any ports you specify.
  14309. IpProtocol *string `type:"string"`
  14310. // [EC2-Classic, default VPC] The name of the source security group. You can't
  14311. // specify this parameter in combination with the following parameters: the
  14312. // CIDR IP address range, the start of the port range, the IP protocol, and
  14313. // the end of the port range. Creates rules that grant full ICMP, UDP, and TCP
  14314. // access. To create a rule with a specific IP protocol and port range, use
  14315. // a set of IP permissions instead. For EC2-VPC, the source security group must
  14316. // be in the same VPC.
  14317. SourceSecurityGroupName *string `type:"string"`
  14318. // [EC2-Classic] The AWS account number for the source security group, if the
  14319. // source security group is in a different account. You can't specify this parameter
  14320. // in combination with the following parameters: the CIDR IP address range,
  14321. // the IP protocol, the start of the port range, and the end of the port range.
  14322. // Creates rules that grant full ICMP, UDP, and TCP access. To create a rule
  14323. // with a specific IP protocol and port range, use a set of IP permissions instead.
  14324. SourceSecurityGroupOwnerId *string `type:"string"`
  14325. // The end of port range for the TCP and UDP protocols, or an ICMP code number.
  14326. // For the ICMP code number, use -1 to specify all ICMP codes for the ICMP type.
  14327. ToPort *int64 `type:"integer"`
  14328. }
  14329. // String returns the string representation
  14330. func (s AuthorizeSecurityGroupIngressInput) String() string {
  14331. return awsutil.Prettify(s)
  14332. }
  14333. // GoString returns the string representation
  14334. func (s AuthorizeSecurityGroupIngressInput) GoString() string {
  14335. return s.String()
  14336. }
  14337. type AuthorizeSecurityGroupIngressOutput struct {
  14338. _ struct{} `type:"structure"`
  14339. }
  14340. // String returns the string representation
  14341. func (s AuthorizeSecurityGroupIngressOutput) String() string {
  14342. return awsutil.Prettify(s)
  14343. }
  14344. // GoString returns the string representation
  14345. func (s AuthorizeSecurityGroupIngressOutput) GoString() string {
  14346. return s.String()
  14347. }
  14348. // Describes an Availability Zone.
  14349. type AvailabilityZone struct {
  14350. _ struct{} `type:"structure"`
  14351. // Any messages about the Availability Zone.
  14352. Messages []*AvailabilityZoneMessage `locationName:"messageSet" locationNameList:"item" type:"list"`
  14353. // The name of the region.
  14354. RegionName *string `locationName:"regionName" type:"string"`
  14355. // The state of the Availability Zone.
  14356. State *string `locationName:"zoneState" type:"string" enum:"AvailabilityZoneState"`
  14357. // The name of the Availability Zone.
  14358. ZoneName *string `locationName:"zoneName" type:"string"`
  14359. }
  14360. // String returns the string representation
  14361. func (s AvailabilityZone) String() string {
  14362. return awsutil.Prettify(s)
  14363. }
  14364. // GoString returns the string representation
  14365. func (s AvailabilityZone) GoString() string {
  14366. return s.String()
  14367. }
  14368. // Describes a message about an Availability Zone.
  14369. type AvailabilityZoneMessage struct {
  14370. _ struct{} `type:"structure"`
  14371. // The message about the Availability Zone.
  14372. Message *string `locationName:"message" type:"string"`
  14373. }
  14374. // String returns the string representation
  14375. func (s AvailabilityZoneMessage) String() string {
  14376. return awsutil.Prettify(s)
  14377. }
  14378. // GoString returns the string representation
  14379. func (s AvailabilityZoneMessage) GoString() string {
  14380. return s.String()
  14381. }
  14382. // The capacity information for instances launched onto the Dedicated Host.
  14383. type AvailableCapacity struct {
  14384. _ struct{} `type:"structure"`
  14385. // The total number of instances that the Dedicated Host supports.
  14386. AvailableInstanceCapacity []*InstanceCapacity `locationName:"availableInstanceCapacity" locationNameList:"item" type:"list"`
  14387. // The number of vCPUs available on the Dedicated Host.
  14388. AvailableVCpus *int64 `locationName:"availableVCpus" type:"integer"`
  14389. }
  14390. // String returns the string representation
  14391. func (s AvailableCapacity) String() string {
  14392. return awsutil.Prettify(s)
  14393. }
  14394. // GoString returns the string representation
  14395. func (s AvailableCapacity) GoString() string {
  14396. return s.String()
  14397. }
  14398. type BlobAttributeValue struct {
  14399. _ struct{} `type:"structure"`
  14400. // Value is automatically base64 encoded/decoded by the SDK.
  14401. Value []byte `locationName:"value" type:"blob"`
  14402. }
  14403. // String returns the string representation
  14404. func (s BlobAttributeValue) String() string {
  14405. return awsutil.Prettify(s)
  14406. }
  14407. // GoString returns the string representation
  14408. func (s BlobAttributeValue) GoString() string {
  14409. return s.String()
  14410. }
  14411. // Describes a block device mapping.
  14412. type BlockDeviceMapping struct {
  14413. _ struct{} `type:"structure"`
  14414. // The device name exposed to the instance (for example, /dev/sdh or xvdh).
  14415. DeviceName *string `locationName:"deviceName" type:"string"`
  14416. // Parameters used to automatically set up EBS volumes when the instance is
  14417. // launched.
  14418. Ebs *EbsBlockDevice `locationName:"ebs" type:"structure"`
  14419. // Suppresses the specified device included in the block device mapping of the
  14420. // AMI.
  14421. NoDevice *string `locationName:"noDevice" type:"string"`
  14422. // The virtual device name (ephemeralN). Instance store volumes are numbered
  14423. // starting from 0. An instance type with 2 available instance store volumes
  14424. // can specify mappings for ephemeral0 and ephemeral1.The number of available
  14425. // instance store volumes depends on the instance type. After you connect to
  14426. // the instance, you must mount the volume.
  14427. //
  14428. // Constraints: For M3 instances, you must specify instance store volumes in
  14429. // the block device mapping for the instance. When you launch an M3 instance,
  14430. // we ignore any instance store volumes specified in the block device mapping
  14431. // for the AMI.
  14432. VirtualName *string `locationName:"virtualName" type:"string"`
  14433. }
  14434. // String returns the string representation
  14435. func (s BlockDeviceMapping) String() string {
  14436. return awsutil.Prettify(s)
  14437. }
  14438. // GoString returns the string representation
  14439. func (s BlockDeviceMapping) GoString() string {
  14440. return s.String()
  14441. }
  14442. // Contains the parameters for BundleInstance.
  14443. type BundleInstanceInput struct {
  14444. _ struct{} `type:"structure"`
  14445. // Checks whether you have the required permissions for the action, without
  14446. // actually making the request, and provides an error response. If you have
  14447. // the required permissions, the error response is DryRunOperation. Otherwise,
  14448. // it is UnauthorizedOperation.
  14449. DryRun *bool `locationName:"dryRun" type:"boolean"`
  14450. // The ID of the instance to bundle.
  14451. //
  14452. // Type: String
  14453. //
  14454. // Default: None
  14455. //
  14456. // Required: Yes
  14457. //
  14458. // InstanceId is a required field
  14459. InstanceId *string `type:"string" required:"true"`
  14460. // The bucket in which to store the AMI. You can specify a bucket that you already
  14461. // own or a new bucket that Amazon EC2 creates on your behalf. If you specify
  14462. // a bucket that belongs to someone else, Amazon EC2 returns an error.
  14463. //
  14464. // Storage is a required field
  14465. Storage *Storage `type:"structure" required:"true"`
  14466. }
  14467. // String returns the string representation
  14468. func (s BundleInstanceInput) String() string {
  14469. return awsutil.Prettify(s)
  14470. }
  14471. // GoString returns the string representation
  14472. func (s BundleInstanceInput) GoString() string {
  14473. return s.String()
  14474. }
  14475. // Validate inspects the fields of the type to determine if they are valid.
  14476. func (s *BundleInstanceInput) Validate() error {
  14477. invalidParams := request.ErrInvalidParams{Context: "BundleInstanceInput"}
  14478. if s.InstanceId == nil {
  14479. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  14480. }
  14481. if s.Storage == nil {
  14482. invalidParams.Add(request.NewErrParamRequired("Storage"))
  14483. }
  14484. if invalidParams.Len() > 0 {
  14485. return invalidParams
  14486. }
  14487. return nil
  14488. }
  14489. // Contains the output of BundleInstance.
  14490. type BundleInstanceOutput struct {
  14491. _ struct{} `type:"structure"`
  14492. // Information about the bundle task.
  14493. BundleTask *BundleTask `locationName:"bundleInstanceTask" type:"structure"`
  14494. }
  14495. // String returns the string representation
  14496. func (s BundleInstanceOutput) String() string {
  14497. return awsutil.Prettify(s)
  14498. }
  14499. // GoString returns the string representation
  14500. func (s BundleInstanceOutput) GoString() string {
  14501. return s.String()
  14502. }
  14503. // Describes a bundle task.
  14504. type BundleTask struct {
  14505. _ struct{} `type:"structure"`
  14506. // The ID of the bundle task.
  14507. BundleId *string `locationName:"bundleId" type:"string"`
  14508. // If the task fails, a description of the error.
  14509. BundleTaskError *BundleTaskError `locationName:"error" type:"structure"`
  14510. // The ID of the instance associated with this bundle task.
  14511. InstanceId *string `locationName:"instanceId" type:"string"`
  14512. // The level of task completion, as a percent (for example, 20%).
  14513. Progress *string `locationName:"progress" type:"string"`
  14514. // The time this task started.
  14515. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
  14516. // The state of the task.
  14517. State *string `locationName:"state" type:"string" enum:"BundleTaskState"`
  14518. // The Amazon S3 storage locations.
  14519. Storage *Storage `locationName:"storage" type:"structure"`
  14520. // The time of the most recent update for the task.
  14521. UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" timestampFormat:"iso8601"`
  14522. }
  14523. // String returns the string representation
  14524. func (s BundleTask) String() string {
  14525. return awsutil.Prettify(s)
  14526. }
  14527. // GoString returns the string representation
  14528. func (s BundleTask) GoString() string {
  14529. return s.String()
  14530. }
  14531. // Describes an error for BundleInstance.
  14532. type BundleTaskError struct {
  14533. _ struct{} `type:"structure"`
  14534. // The error code.
  14535. Code *string `locationName:"code" type:"string"`
  14536. // The error message.
  14537. Message *string `locationName:"message" type:"string"`
  14538. }
  14539. // String returns the string representation
  14540. func (s BundleTaskError) String() string {
  14541. return awsutil.Prettify(s)
  14542. }
  14543. // GoString returns the string representation
  14544. func (s BundleTaskError) GoString() string {
  14545. return s.String()
  14546. }
  14547. // Contains the parameters for CancelBundleTask.
  14548. type CancelBundleTaskInput struct {
  14549. _ struct{} `type:"structure"`
  14550. // The ID of the bundle task.
  14551. //
  14552. // BundleId is a required field
  14553. BundleId *string `type:"string" required:"true"`
  14554. // Checks whether you have the required permissions for the action, without
  14555. // actually making the request, and provides an error response. If you have
  14556. // the required permissions, the error response is DryRunOperation. Otherwise,
  14557. // it is UnauthorizedOperation.
  14558. DryRun *bool `locationName:"dryRun" type:"boolean"`
  14559. }
  14560. // String returns the string representation
  14561. func (s CancelBundleTaskInput) String() string {
  14562. return awsutil.Prettify(s)
  14563. }
  14564. // GoString returns the string representation
  14565. func (s CancelBundleTaskInput) GoString() string {
  14566. return s.String()
  14567. }
  14568. // Validate inspects the fields of the type to determine if they are valid.
  14569. func (s *CancelBundleTaskInput) Validate() error {
  14570. invalidParams := request.ErrInvalidParams{Context: "CancelBundleTaskInput"}
  14571. if s.BundleId == nil {
  14572. invalidParams.Add(request.NewErrParamRequired("BundleId"))
  14573. }
  14574. if invalidParams.Len() > 0 {
  14575. return invalidParams
  14576. }
  14577. return nil
  14578. }
  14579. // Contains the output of CancelBundleTask.
  14580. type CancelBundleTaskOutput struct {
  14581. _ struct{} `type:"structure"`
  14582. // Information about the bundle task.
  14583. BundleTask *BundleTask `locationName:"bundleInstanceTask" type:"structure"`
  14584. }
  14585. // String returns the string representation
  14586. func (s CancelBundleTaskOutput) String() string {
  14587. return awsutil.Prettify(s)
  14588. }
  14589. // GoString returns the string representation
  14590. func (s CancelBundleTaskOutput) GoString() string {
  14591. return s.String()
  14592. }
  14593. // Contains the parameters for CancelConversionTask.
  14594. type CancelConversionTaskInput struct {
  14595. _ struct{} `type:"structure"`
  14596. // The ID of the conversion task.
  14597. //
  14598. // ConversionTaskId is a required field
  14599. ConversionTaskId *string `locationName:"conversionTaskId" type:"string" required:"true"`
  14600. // Checks whether you have the required permissions for the action, without
  14601. // actually making the request, and provides an error response. If you have
  14602. // the required permissions, the error response is DryRunOperation. Otherwise,
  14603. // it is UnauthorizedOperation.
  14604. DryRun *bool `locationName:"dryRun" type:"boolean"`
  14605. // The reason for canceling the conversion task.
  14606. ReasonMessage *string `locationName:"reasonMessage" type:"string"`
  14607. }
  14608. // String returns the string representation
  14609. func (s CancelConversionTaskInput) String() string {
  14610. return awsutil.Prettify(s)
  14611. }
  14612. // GoString returns the string representation
  14613. func (s CancelConversionTaskInput) GoString() string {
  14614. return s.String()
  14615. }
  14616. // Validate inspects the fields of the type to determine if they are valid.
  14617. func (s *CancelConversionTaskInput) Validate() error {
  14618. invalidParams := request.ErrInvalidParams{Context: "CancelConversionTaskInput"}
  14619. if s.ConversionTaskId == nil {
  14620. invalidParams.Add(request.NewErrParamRequired("ConversionTaskId"))
  14621. }
  14622. if invalidParams.Len() > 0 {
  14623. return invalidParams
  14624. }
  14625. return nil
  14626. }
  14627. type CancelConversionTaskOutput struct {
  14628. _ struct{} `type:"structure"`
  14629. }
  14630. // String returns the string representation
  14631. func (s CancelConversionTaskOutput) String() string {
  14632. return awsutil.Prettify(s)
  14633. }
  14634. // GoString returns the string representation
  14635. func (s CancelConversionTaskOutput) GoString() string {
  14636. return s.String()
  14637. }
  14638. // Contains the parameters for CancelExportTask.
  14639. type CancelExportTaskInput struct {
  14640. _ struct{} `type:"structure"`
  14641. // The ID of the export task. This is the ID returned by CreateInstanceExportTask.
  14642. //
  14643. // ExportTaskId is a required field
  14644. ExportTaskId *string `locationName:"exportTaskId" type:"string" required:"true"`
  14645. }
  14646. // String returns the string representation
  14647. func (s CancelExportTaskInput) String() string {
  14648. return awsutil.Prettify(s)
  14649. }
  14650. // GoString returns the string representation
  14651. func (s CancelExportTaskInput) GoString() string {
  14652. return s.String()
  14653. }
  14654. // Validate inspects the fields of the type to determine if they are valid.
  14655. func (s *CancelExportTaskInput) Validate() error {
  14656. invalidParams := request.ErrInvalidParams{Context: "CancelExportTaskInput"}
  14657. if s.ExportTaskId == nil {
  14658. invalidParams.Add(request.NewErrParamRequired("ExportTaskId"))
  14659. }
  14660. if invalidParams.Len() > 0 {
  14661. return invalidParams
  14662. }
  14663. return nil
  14664. }
  14665. type CancelExportTaskOutput struct {
  14666. _ struct{} `type:"structure"`
  14667. }
  14668. // String returns the string representation
  14669. func (s CancelExportTaskOutput) String() string {
  14670. return awsutil.Prettify(s)
  14671. }
  14672. // GoString returns the string representation
  14673. func (s CancelExportTaskOutput) GoString() string {
  14674. return s.String()
  14675. }
  14676. // Contains the parameters for CancelImportTask.
  14677. type CancelImportTaskInput struct {
  14678. _ struct{} `type:"structure"`
  14679. // The reason for canceling the task.
  14680. CancelReason *string `type:"string"`
  14681. // Checks whether you have the required permissions for the action, without
  14682. // actually making the request, and provides an error response. If you have
  14683. // the required permissions, the error response is DryRunOperation. Otherwise,
  14684. // it is UnauthorizedOperation.
  14685. DryRun *bool `type:"boolean"`
  14686. // The ID of the import image or import snapshot task to be canceled.
  14687. ImportTaskId *string `type:"string"`
  14688. }
  14689. // String returns the string representation
  14690. func (s CancelImportTaskInput) String() string {
  14691. return awsutil.Prettify(s)
  14692. }
  14693. // GoString returns the string representation
  14694. func (s CancelImportTaskInput) GoString() string {
  14695. return s.String()
  14696. }
  14697. // Contains the output for CancelImportTask.
  14698. type CancelImportTaskOutput struct {
  14699. _ struct{} `type:"structure"`
  14700. // The ID of the task being canceled.
  14701. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  14702. // The current state of the task being canceled.
  14703. PreviousState *string `locationName:"previousState" type:"string"`
  14704. // The current state of the task being canceled.
  14705. State *string `locationName:"state" type:"string"`
  14706. }
  14707. // String returns the string representation
  14708. func (s CancelImportTaskOutput) String() string {
  14709. return awsutil.Prettify(s)
  14710. }
  14711. // GoString returns the string representation
  14712. func (s CancelImportTaskOutput) GoString() string {
  14713. return s.String()
  14714. }
  14715. // Contains the parameters for CancelReservedInstancesListing.
  14716. type CancelReservedInstancesListingInput struct {
  14717. _ struct{} `type:"structure"`
  14718. // The ID of the Reserved Instance listing.
  14719. //
  14720. // ReservedInstancesListingId is a required field
  14721. ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string" required:"true"`
  14722. }
  14723. // String returns the string representation
  14724. func (s CancelReservedInstancesListingInput) String() string {
  14725. return awsutil.Prettify(s)
  14726. }
  14727. // GoString returns the string representation
  14728. func (s CancelReservedInstancesListingInput) GoString() string {
  14729. return s.String()
  14730. }
  14731. // Validate inspects the fields of the type to determine if they are valid.
  14732. func (s *CancelReservedInstancesListingInput) Validate() error {
  14733. invalidParams := request.ErrInvalidParams{Context: "CancelReservedInstancesListingInput"}
  14734. if s.ReservedInstancesListingId == nil {
  14735. invalidParams.Add(request.NewErrParamRequired("ReservedInstancesListingId"))
  14736. }
  14737. if invalidParams.Len() > 0 {
  14738. return invalidParams
  14739. }
  14740. return nil
  14741. }
  14742. // Contains the output of CancelReservedInstancesListing.
  14743. type CancelReservedInstancesListingOutput struct {
  14744. _ struct{} `type:"structure"`
  14745. // The Reserved Instance listing.
  14746. ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
  14747. }
  14748. // String returns the string representation
  14749. func (s CancelReservedInstancesListingOutput) String() string {
  14750. return awsutil.Prettify(s)
  14751. }
  14752. // GoString returns the string representation
  14753. func (s CancelReservedInstancesListingOutput) GoString() string {
  14754. return s.String()
  14755. }
  14756. // Describes a Spot fleet error.
  14757. type CancelSpotFleetRequestsError struct {
  14758. _ struct{} `type:"structure"`
  14759. // The error code.
  14760. //
  14761. // Code is a required field
  14762. Code *string `locationName:"code" type:"string" required:"true" enum:"CancelBatchErrorCode"`
  14763. // The description for the error code.
  14764. //
  14765. // Message is a required field
  14766. Message *string `locationName:"message" type:"string" required:"true"`
  14767. }
  14768. // String returns the string representation
  14769. func (s CancelSpotFleetRequestsError) String() string {
  14770. return awsutil.Prettify(s)
  14771. }
  14772. // GoString returns the string representation
  14773. func (s CancelSpotFleetRequestsError) GoString() string {
  14774. return s.String()
  14775. }
  14776. // Describes a Spot fleet request that was not successfully canceled.
  14777. type CancelSpotFleetRequestsErrorItem struct {
  14778. _ struct{} `type:"structure"`
  14779. // The error.
  14780. //
  14781. // Error is a required field
  14782. Error *CancelSpotFleetRequestsError `locationName:"error" type:"structure" required:"true"`
  14783. // The ID of the Spot fleet request.
  14784. //
  14785. // SpotFleetRequestId is a required field
  14786. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  14787. }
  14788. // String returns the string representation
  14789. func (s CancelSpotFleetRequestsErrorItem) String() string {
  14790. return awsutil.Prettify(s)
  14791. }
  14792. // GoString returns the string representation
  14793. func (s CancelSpotFleetRequestsErrorItem) GoString() string {
  14794. return s.String()
  14795. }
  14796. // Contains the parameters for CancelSpotFleetRequests.
  14797. type CancelSpotFleetRequestsInput struct {
  14798. _ struct{} `type:"structure"`
  14799. // Checks whether you have the required permissions for the action, without
  14800. // actually making the request, and provides an error response. If you have
  14801. // the required permissions, the error response is DryRunOperation. Otherwise,
  14802. // it is UnauthorizedOperation.
  14803. DryRun *bool `locationName:"dryRun" type:"boolean"`
  14804. // The IDs of the Spot fleet requests.
  14805. //
  14806. // SpotFleetRequestIds is a required field
  14807. SpotFleetRequestIds []*string `locationName:"spotFleetRequestId" locationNameList:"item" type:"list" required:"true"`
  14808. // Indicates whether to terminate instances for a Spot fleet request if it is
  14809. // canceled successfully.
  14810. //
  14811. // TerminateInstances is a required field
  14812. TerminateInstances *bool `locationName:"terminateInstances" type:"boolean" required:"true"`
  14813. }
  14814. // String returns the string representation
  14815. func (s CancelSpotFleetRequestsInput) String() string {
  14816. return awsutil.Prettify(s)
  14817. }
  14818. // GoString returns the string representation
  14819. func (s CancelSpotFleetRequestsInput) GoString() string {
  14820. return s.String()
  14821. }
  14822. // Validate inspects the fields of the type to determine if they are valid.
  14823. func (s *CancelSpotFleetRequestsInput) Validate() error {
  14824. invalidParams := request.ErrInvalidParams{Context: "CancelSpotFleetRequestsInput"}
  14825. if s.SpotFleetRequestIds == nil {
  14826. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestIds"))
  14827. }
  14828. if s.TerminateInstances == nil {
  14829. invalidParams.Add(request.NewErrParamRequired("TerminateInstances"))
  14830. }
  14831. if invalidParams.Len() > 0 {
  14832. return invalidParams
  14833. }
  14834. return nil
  14835. }
  14836. // Contains the output of CancelSpotFleetRequests.
  14837. type CancelSpotFleetRequestsOutput struct {
  14838. _ struct{} `type:"structure"`
  14839. // Information about the Spot fleet requests that are successfully canceled.
  14840. SuccessfulFleetRequests []*CancelSpotFleetRequestsSuccessItem `locationName:"successfulFleetRequestSet" locationNameList:"item" type:"list"`
  14841. // Information about the Spot fleet requests that are not successfully canceled.
  14842. UnsuccessfulFleetRequests []*CancelSpotFleetRequestsErrorItem `locationName:"unsuccessfulFleetRequestSet" locationNameList:"item" type:"list"`
  14843. }
  14844. // String returns the string representation
  14845. func (s CancelSpotFleetRequestsOutput) String() string {
  14846. return awsutil.Prettify(s)
  14847. }
  14848. // GoString returns the string representation
  14849. func (s CancelSpotFleetRequestsOutput) GoString() string {
  14850. return s.String()
  14851. }
  14852. // Describes a Spot fleet request that was successfully canceled.
  14853. type CancelSpotFleetRequestsSuccessItem struct {
  14854. _ struct{} `type:"structure"`
  14855. // The current state of the Spot fleet request.
  14856. //
  14857. // CurrentSpotFleetRequestState is a required field
  14858. CurrentSpotFleetRequestState *string `locationName:"currentSpotFleetRequestState" type:"string" required:"true" enum:"BatchState"`
  14859. // The previous state of the Spot fleet request.
  14860. //
  14861. // PreviousSpotFleetRequestState is a required field
  14862. PreviousSpotFleetRequestState *string `locationName:"previousSpotFleetRequestState" type:"string" required:"true" enum:"BatchState"`
  14863. // The ID of the Spot fleet request.
  14864. //
  14865. // SpotFleetRequestId is a required field
  14866. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  14867. }
  14868. // String returns the string representation
  14869. func (s CancelSpotFleetRequestsSuccessItem) String() string {
  14870. return awsutil.Prettify(s)
  14871. }
  14872. // GoString returns the string representation
  14873. func (s CancelSpotFleetRequestsSuccessItem) GoString() string {
  14874. return s.String()
  14875. }
  14876. // Contains the parameters for CancelSpotInstanceRequests.
  14877. type CancelSpotInstanceRequestsInput struct {
  14878. _ struct{} `type:"structure"`
  14879. // Checks whether you have the required permissions for the action, without
  14880. // actually making the request, and provides an error response. If you have
  14881. // the required permissions, the error response is DryRunOperation. Otherwise,
  14882. // it is UnauthorizedOperation.
  14883. DryRun *bool `locationName:"dryRun" type:"boolean"`
  14884. // One or more Spot instance request IDs.
  14885. //
  14886. // SpotInstanceRequestIds is a required field
  14887. SpotInstanceRequestIds []*string `locationName:"SpotInstanceRequestId" locationNameList:"SpotInstanceRequestId" type:"list" required:"true"`
  14888. }
  14889. // String returns the string representation
  14890. func (s CancelSpotInstanceRequestsInput) String() string {
  14891. return awsutil.Prettify(s)
  14892. }
  14893. // GoString returns the string representation
  14894. func (s CancelSpotInstanceRequestsInput) GoString() string {
  14895. return s.String()
  14896. }
  14897. // Validate inspects the fields of the type to determine if they are valid.
  14898. func (s *CancelSpotInstanceRequestsInput) Validate() error {
  14899. invalidParams := request.ErrInvalidParams{Context: "CancelSpotInstanceRequestsInput"}
  14900. if s.SpotInstanceRequestIds == nil {
  14901. invalidParams.Add(request.NewErrParamRequired("SpotInstanceRequestIds"))
  14902. }
  14903. if invalidParams.Len() > 0 {
  14904. return invalidParams
  14905. }
  14906. return nil
  14907. }
  14908. // Contains the output of CancelSpotInstanceRequests.
  14909. type CancelSpotInstanceRequestsOutput struct {
  14910. _ struct{} `type:"structure"`
  14911. // One or more Spot instance requests.
  14912. CancelledSpotInstanceRequests []*CancelledSpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
  14913. }
  14914. // String returns the string representation
  14915. func (s CancelSpotInstanceRequestsOutput) String() string {
  14916. return awsutil.Prettify(s)
  14917. }
  14918. // GoString returns the string representation
  14919. func (s CancelSpotInstanceRequestsOutput) GoString() string {
  14920. return s.String()
  14921. }
  14922. // Describes a request to cancel a Spot instance.
  14923. type CancelledSpotInstanceRequest struct {
  14924. _ struct{} `type:"structure"`
  14925. // The ID of the Spot instance request.
  14926. SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
  14927. // The state of the Spot instance request.
  14928. State *string `locationName:"state" type:"string" enum:"CancelSpotInstanceRequestState"`
  14929. }
  14930. // String returns the string representation
  14931. func (s CancelledSpotInstanceRequest) String() string {
  14932. return awsutil.Prettify(s)
  14933. }
  14934. // GoString returns the string representation
  14935. func (s CancelledSpotInstanceRequest) GoString() string {
  14936. return s.String()
  14937. }
  14938. // Describes the ClassicLink DNS support status of a VPC.
  14939. type ClassicLinkDnsSupport struct {
  14940. _ struct{} `type:"structure"`
  14941. // Indicates whether ClassicLink DNS support is enabled for the VPC.
  14942. ClassicLinkDnsSupported *bool `locationName:"classicLinkDnsSupported" type:"boolean"`
  14943. // The ID of the VPC.
  14944. VpcId *string `locationName:"vpcId" type:"string"`
  14945. }
  14946. // String returns the string representation
  14947. func (s ClassicLinkDnsSupport) String() string {
  14948. return awsutil.Prettify(s)
  14949. }
  14950. // GoString returns the string representation
  14951. func (s ClassicLinkDnsSupport) GoString() string {
  14952. return s.String()
  14953. }
  14954. // Describes a linked EC2-Classic instance.
  14955. type ClassicLinkInstance struct {
  14956. _ struct{} `type:"structure"`
  14957. // A list of security groups.
  14958. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  14959. // The ID of the instance.
  14960. InstanceId *string `locationName:"instanceId" type:"string"`
  14961. // Any tags assigned to the instance.
  14962. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  14963. // The ID of the VPC.
  14964. VpcId *string `locationName:"vpcId" type:"string"`
  14965. }
  14966. // String returns the string representation
  14967. func (s ClassicLinkInstance) String() string {
  14968. return awsutil.Prettify(s)
  14969. }
  14970. // GoString returns the string representation
  14971. func (s ClassicLinkInstance) GoString() string {
  14972. return s.String()
  14973. }
  14974. // Describes the client-specific data.
  14975. type ClientData struct {
  14976. _ struct{} `type:"structure"`
  14977. // A user-defined comment about the disk upload.
  14978. Comment *string `type:"string"`
  14979. // The time that the disk upload ends.
  14980. UploadEnd *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  14981. // The size of the uploaded disk image, in GiB.
  14982. UploadSize *float64 `type:"double"`
  14983. // The time that the disk upload starts.
  14984. UploadStart *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  14985. }
  14986. // String returns the string representation
  14987. func (s ClientData) String() string {
  14988. return awsutil.Prettify(s)
  14989. }
  14990. // GoString returns the string representation
  14991. func (s ClientData) GoString() string {
  14992. return s.String()
  14993. }
  14994. // Contains the parameters for ConfirmProductInstance.
  14995. type ConfirmProductInstanceInput struct {
  14996. _ struct{} `type:"structure"`
  14997. // Checks whether you have the required permissions for the action, without
  14998. // actually making the request, and provides an error response. If you have
  14999. // the required permissions, the error response is DryRunOperation. Otherwise,
  15000. // it is UnauthorizedOperation.
  15001. DryRun *bool `locationName:"dryRun" type:"boolean"`
  15002. // The ID of the instance.
  15003. //
  15004. // InstanceId is a required field
  15005. InstanceId *string `type:"string" required:"true"`
  15006. // The product code. This must be a product code that you own.
  15007. //
  15008. // ProductCode is a required field
  15009. ProductCode *string `type:"string" required:"true"`
  15010. }
  15011. // String returns the string representation
  15012. func (s ConfirmProductInstanceInput) String() string {
  15013. return awsutil.Prettify(s)
  15014. }
  15015. // GoString returns the string representation
  15016. func (s ConfirmProductInstanceInput) GoString() string {
  15017. return s.String()
  15018. }
  15019. // Validate inspects the fields of the type to determine if they are valid.
  15020. func (s *ConfirmProductInstanceInput) Validate() error {
  15021. invalidParams := request.ErrInvalidParams{Context: "ConfirmProductInstanceInput"}
  15022. if s.InstanceId == nil {
  15023. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  15024. }
  15025. if s.ProductCode == nil {
  15026. invalidParams.Add(request.NewErrParamRequired("ProductCode"))
  15027. }
  15028. if invalidParams.Len() > 0 {
  15029. return invalidParams
  15030. }
  15031. return nil
  15032. }
  15033. // Contains the output of ConfirmProductInstance.
  15034. type ConfirmProductInstanceOutput struct {
  15035. _ struct{} `type:"structure"`
  15036. // The AWS account ID of the instance owner. This is only present if the product
  15037. // code is attached to the instance.
  15038. OwnerId *string `locationName:"ownerId" type:"string"`
  15039. // The return value of the request. Returns true if the specified product code
  15040. // is owned by the requester and associated with the specified instance.
  15041. Return *bool `locationName:"return" type:"boolean"`
  15042. }
  15043. // String returns the string representation
  15044. func (s ConfirmProductInstanceOutput) String() string {
  15045. return awsutil.Prettify(s)
  15046. }
  15047. // GoString returns the string representation
  15048. func (s ConfirmProductInstanceOutput) GoString() string {
  15049. return s.String()
  15050. }
  15051. // Describes a conversion task.
  15052. type ConversionTask struct {
  15053. _ struct{} `type:"structure"`
  15054. // The ID of the conversion task.
  15055. //
  15056. // ConversionTaskId is a required field
  15057. ConversionTaskId *string `locationName:"conversionTaskId" type:"string" required:"true"`
  15058. // The time when the task expires. If the upload isn't complete before the expiration
  15059. // time, we automatically cancel the task.
  15060. ExpirationTime *string `locationName:"expirationTime" type:"string"`
  15061. // If the task is for importing an instance, this contains information about
  15062. // the import instance task.
  15063. ImportInstance *ImportInstanceTaskDetails `locationName:"importInstance" type:"structure"`
  15064. // If the task is for importing a volume, this contains information about the
  15065. // import volume task.
  15066. ImportVolume *ImportVolumeTaskDetails `locationName:"importVolume" type:"structure"`
  15067. // The state of the conversion task.
  15068. //
  15069. // State is a required field
  15070. State *string `locationName:"state" type:"string" required:"true" enum:"ConversionTaskState"`
  15071. // The status message related to the conversion task.
  15072. StatusMessage *string `locationName:"statusMessage" type:"string"`
  15073. // Any tags assigned to the task.
  15074. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  15075. }
  15076. // String returns the string representation
  15077. func (s ConversionTask) String() string {
  15078. return awsutil.Prettify(s)
  15079. }
  15080. // GoString returns the string representation
  15081. func (s ConversionTask) GoString() string {
  15082. return s.String()
  15083. }
  15084. // Contains the parameters for CopyImage.
  15085. type CopyImageInput struct {
  15086. _ struct{} `type:"structure"`
  15087. // Unique, case-sensitive identifier you provide to ensure idempotency of the
  15088. // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  15089. // in the Amazon Elastic Compute Cloud User Guide.
  15090. ClientToken *string `type:"string"`
  15091. // A description for the new AMI in the destination region.
  15092. Description *string `type:"string"`
  15093. // Checks whether you have the required permissions for the action, without
  15094. // actually making the request, and provides an error response. If you have
  15095. // the required permissions, the error response is DryRunOperation. Otherwise,
  15096. // it is UnauthorizedOperation.
  15097. DryRun *bool `locationName:"dryRun" type:"boolean"`
  15098. // Specifies whether the destination snapshots of the copied image should be
  15099. // encrypted. The default CMK for EBS is used unless a non-default AWS Key Management
  15100. // Service (AWS KMS) CMK is specified with KmsKeyId. For more information, see
  15101. // Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  15102. // in the Amazon Elastic Compute Cloud User Guide.
  15103. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  15104. // The full ARN of the AWS Key Management Service (AWS KMS) CMK to use when
  15105. // encrypting the snapshots of an image during a copy operation. This parameter
  15106. // is only required if you want to use a non-default CMK; if this parameter
  15107. // is not specified, the default CMK for EBS is used. The ARN contains the arn:aws:kms
  15108. // namespace, followed by the region of the CMK, the AWS account ID of the CMK
  15109. // owner, the key namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
  15110. // The specified CMK must exist in the region that the snapshot is being copied
  15111. // to. If a KmsKeyId is specified, the Encrypted flag must also be set.
  15112. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  15113. // The name of the new AMI in the destination region.
  15114. //
  15115. // Name is a required field
  15116. Name *string `type:"string" required:"true"`
  15117. // The ID of the AMI to copy.
  15118. //
  15119. // SourceImageId is a required field
  15120. SourceImageId *string `type:"string" required:"true"`
  15121. // The name of the region that contains the AMI to copy.
  15122. //
  15123. // SourceRegion is a required field
  15124. SourceRegion *string `type:"string" required:"true"`
  15125. }
  15126. // String returns the string representation
  15127. func (s CopyImageInput) String() string {
  15128. return awsutil.Prettify(s)
  15129. }
  15130. // GoString returns the string representation
  15131. func (s CopyImageInput) GoString() string {
  15132. return s.String()
  15133. }
  15134. // Validate inspects the fields of the type to determine if they are valid.
  15135. func (s *CopyImageInput) Validate() error {
  15136. invalidParams := request.ErrInvalidParams{Context: "CopyImageInput"}
  15137. if s.Name == nil {
  15138. invalidParams.Add(request.NewErrParamRequired("Name"))
  15139. }
  15140. if s.SourceImageId == nil {
  15141. invalidParams.Add(request.NewErrParamRequired("SourceImageId"))
  15142. }
  15143. if s.SourceRegion == nil {
  15144. invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
  15145. }
  15146. if invalidParams.Len() > 0 {
  15147. return invalidParams
  15148. }
  15149. return nil
  15150. }
  15151. // Contains the output of CopyImage.
  15152. type CopyImageOutput struct {
  15153. _ struct{} `type:"structure"`
  15154. // The ID of the new AMI.
  15155. ImageId *string `locationName:"imageId" type:"string"`
  15156. }
  15157. // String returns the string representation
  15158. func (s CopyImageOutput) String() string {
  15159. return awsutil.Prettify(s)
  15160. }
  15161. // GoString returns the string representation
  15162. func (s CopyImageOutput) GoString() string {
  15163. return s.String()
  15164. }
  15165. // Contains the parameters for CopySnapshot.
  15166. type CopySnapshotInput struct {
  15167. _ struct{} `type:"structure"`
  15168. // A description for the EBS snapshot.
  15169. Description *string `type:"string"`
  15170. // The destination region to use in the PresignedUrl parameter of a snapshot
  15171. // copy operation. This parameter is only valid for specifying the destination
  15172. // region in a PresignedUrl parameter, where it is required.
  15173. //
  15174. // CopySnapshot sends the snapshot copy to the regional endpoint that you send
  15175. // the HTTP request to, such as ec2.us-east-1.amazonaws.com (in the AWS CLI,
  15176. // this is specified with the --region parameter or the default region in your
  15177. // AWS configuration file).
  15178. DestinationRegion *string `locationName:"destinationRegion" type:"string"`
  15179. // Checks whether you have the required permissions for the action, without
  15180. // actually making the request, and provides an error response. If you have
  15181. // the required permissions, the error response is DryRunOperation. Otherwise,
  15182. // it is UnauthorizedOperation.
  15183. DryRun *bool `locationName:"dryRun" type:"boolean"`
  15184. // Specifies whether the destination snapshot should be encrypted. You can encrypt
  15185. // a copy of an unencrypted snapshot using this flag, but you cannot use it
  15186. // to create an unencrypted copy from an encrypted snapshot. Your default CMK
  15187. // for EBS is used unless a non-default AWS Key Management Service (AWS KMS)
  15188. // CMK is specified with KmsKeyId. For more information, see Amazon EBS Encryption
  15189. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) in
  15190. // the Amazon Elastic Compute Cloud User Guide.
  15191. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  15192. // The full ARN of the AWS Key Management Service (AWS KMS) CMK to use when
  15193. // creating the snapshot copy. This parameter is only required if you want to
  15194. // use a non-default CMK; if this parameter is not specified, the default CMK
  15195. // for EBS is used. The ARN contains the arn:aws:kms namespace, followed by
  15196. // the region of the CMK, the AWS account ID of the CMK owner, the key namespace,
  15197. // and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
  15198. // The specified CMK must exist in the region that the snapshot is being copied
  15199. // to. If a KmsKeyId is specified, the Encrypted flag must also be set.
  15200. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  15201. // The pre-signed URL that facilitates copying an encrypted snapshot. This parameter
  15202. // is only required when copying an encrypted snapshot with the Amazon EC2 Query
  15203. // API; it is available as an optional parameter in all other cases. The PresignedUrl
  15204. // should use the snapshot source endpoint, the CopySnapshot action, and include
  15205. // the SourceRegion, SourceSnapshotId, and DestinationRegion parameters. The
  15206. // PresignedUrl must be signed using AWS Signature Version 4. Because EBS snapshots
  15207. // are stored in Amazon S3, the signing algorithm for this parameter uses the
  15208. // same logic that is described in Authenticating Requests by Using Query Parameters
  15209. // (AWS Signature Version 4) (http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
  15210. // in the Amazon Simple Storage Service API Reference. An invalid or improperly
  15211. // signed PresignedUrl will cause the copy operation to fail asynchronously,
  15212. // and the snapshot will move to an error state.
  15213. PresignedUrl *string `locationName:"presignedUrl" type:"string"`
  15214. // The ID of the region that contains the snapshot to be copied.
  15215. //
  15216. // SourceRegion is a required field
  15217. SourceRegion *string `type:"string" required:"true"`
  15218. // The ID of the EBS snapshot to copy.
  15219. //
  15220. // SourceSnapshotId is a required field
  15221. SourceSnapshotId *string `type:"string" required:"true"`
  15222. }
  15223. // String returns the string representation
  15224. func (s CopySnapshotInput) String() string {
  15225. return awsutil.Prettify(s)
  15226. }
  15227. // GoString returns the string representation
  15228. func (s CopySnapshotInput) GoString() string {
  15229. return s.String()
  15230. }
  15231. // Validate inspects the fields of the type to determine if they are valid.
  15232. func (s *CopySnapshotInput) Validate() error {
  15233. invalidParams := request.ErrInvalidParams{Context: "CopySnapshotInput"}
  15234. if s.SourceRegion == nil {
  15235. invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
  15236. }
  15237. if s.SourceSnapshotId == nil {
  15238. invalidParams.Add(request.NewErrParamRequired("SourceSnapshotId"))
  15239. }
  15240. if invalidParams.Len() > 0 {
  15241. return invalidParams
  15242. }
  15243. return nil
  15244. }
  15245. // Contains the output of CopySnapshot.
  15246. type CopySnapshotOutput struct {
  15247. _ struct{} `type:"structure"`
  15248. // The ID of the new snapshot.
  15249. SnapshotId *string `locationName:"snapshotId" type:"string"`
  15250. }
  15251. // String returns the string representation
  15252. func (s CopySnapshotOutput) String() string {
  15253. return awsutil.Prettify(s)
  15254. }
  15255. // GoString returns the string representation
  15256. func (s CopySnapshotOutput) GoString() string {
  15257. return s.String()
  15258. }
  15259. // Contains the parameters for CreateCustomerGateway.
  15260. type CreateCustomerGatewayInput struct {
  15261. _ struct{} `type:"structure"`
  15262. // For devices that support BGP, the customer gateway's BGP ASN.
  15263. //
  15264. // Default: 65000
  15265. //
  15266. // BgpAsn is a required field
  15267. BgpAsn *int64 `type:"integer" required:"true"`
  15268. // Checks whether you have the required permissions for the action, without
  15269. // actually making the request, and provides an error response. If you have
  15270. // the required permissions, the error response is DryRunOperation. Otherwise,
  15271. // it is UnauthorizedOperation.
  15272. DryRun *bool `locationName:"dryRun" type:"boolean"`
  15273. // The Internet-routable IP address for the customer gateway's outside interface.
  15274. // The address must be static.
  15275. //
  15276. // PublicIp is a required field
  15277. PublicIp *string `locationName:"IpAddress" type:"string" required:"true"`
  15278. // The type of VPN connection that this customer gateway supports (ipsec.1).
  15279. //
  15280. // Type is a required field
  15281. Type *string `type:"string" required:"true" enum:"GatewayType"`
  15282. }
  15283. // String returns the string representation
  15284. func (s CreateCustomerGatewayInput) String() string {
  15285. return awsutil.Prettify(s)
  15286. }
  15287. // GoString returns the string representation
  15288. func (s CreateCustomerGatewayInput) GoString() string {
  15289. return s.String()
  15290. }
  15291. // Validate inspects the fields of the type to determine if they are valid.
  15292. func (s *CreateCustomerGatewayInput) Validate() error {
  15293. invalidParams := request.ErrInvalidParams{Context: "CreateCustomerGatewayInput"}
  15294. if s.BgpAsn == nil {
  15295. invalidParams.Add(request.NewErrParamRequired("BgpAsn"))
  15296. }
  15297. if s.PublicIp == nil {
  15298. invalidParams.Add(request.NewErrParamRequired("PublicIp"))
  15299. }
  15300. if s.Type == nil {
  15301. invalidParams.Add(request.NewErrParamRequired("Type"))
  15302. }
  15303. if invalidParams.Len() > 0 {
  15304. return invalidParams
  15305. }
  15306. return nil
  15307. }
  15308. // Contains the output of CreateCustomerGateway.
  15309. type CreateCustomerGatewayOutput struct {
  15310. _ struct{} `type:"structure"`
  15311. // Information about the customer gateway.
  15312. CustomerGateway *CustomerGateway `locationName:"customerGateway" type:"structure"`
  15313. }
  15314. // String returns the string representation
  15315. func (s CreateCustomerGatewayOutput) String() string {
  15316. return awsutil.Prettify(s)
  15317. }
  15318. // GoString returns the string representation
  15319. func (s CreateCustomerGatewayOutput) GoString() string {
  15320. return s.String()
  15321. }
  15322. // Contains the parameters for CreateDhcpOptions.
  15323. type CreateDhcpOptionsInput struct {
  15324. _ struct{} `type:"structure"`
  15325. // A DHCP configuration option.
  15326. //
  15327. // DhcpConfigurations is a required field
  15328. DhcpConfigurations []*NewDhcpConfiguration `locationName:"dhcpConfiguration" locationNameList:"item" type:"list" required:"true"`
  15329. // Checks whether you have the required permissions for the action, without
  15330. // actually making the request, and provides an error response. If you have
  15331. // the required permissions, the error response is DryRunOperation. Otherwise,
  15332. // it is UnauthorizedOperation.
  15333. DryRun *bool `locationName:"dryRun" type:"boolean"`
  15334. }
  15335. // String returns the string representation
  15336. func (s CreateDhcpOptionsInput) String() string {
  15337. return awsutil.Prettify(s)
  15338. }
  15339. // GoString returns the string representation
  15340. func (s CreateDhcpOptionsInput) GoString() string {
  15341. return s.String()
  15342. }
  15343. // Validate inspects the fields of the type to determine if they are valid.
  15344. func (s *CreateDhcpOptionsInput) Validate() error {
  15345. invalidParams := request.ErrInvalidParams{Context: "CreateDhcpOptionsInput"}
  15346. if s.DhcpConfigurations == nil {
  15347. invalidParams.Add(request.NewErrParamRequired("DhcpConfigurations"))
  15348. }
  15349. if invalidParams.Len() > 0 {
  15350. return invalidParams
  15351. }
  15352. return nil
  15353. }
  15354. // Contains the output of CreateDhcpOptions.
  15355. type CreateDhcpOptionsOutput struct {
  15356. _ struct{} `type:"structure"`
  15357. // A set of DHCP options.
  15358. DhcpOptions *DhcpOptions `locationName:"dhcpOptions" type:"structure"`
  15359. }
  15360. // String returns the string representation
  15361. func (s CreateDhcpOptionsOutput) String() string {
  15362. return awsutil.Prettify(s)
  15363. }
  15364. // GoString returns the string representation
  15365. func (s CreateDhcpOptionsOutput) GoString() string {
  15366. return s.String()
  15367. }
  15368. // Contains the parameters for CreateFlowLogs.
  15369. type CreateFlowLogsInput struct {
  15370. _ struct{} `type:"structure"`
  15371. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  15372. // the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
  15373. ClientToken *string `type:"string"`
  15374. // The ARN for the IAM role that's used to post flow logs to a CloudWatch Logs
  15375. // log group.
  15376. //
  15377. // DeliverLogsPermissionArn is a required field
  15378. DeliverLogsPermissionArn *string `type:"string" required:"true"`
  15379. // The name of the CloudWatch log group.
  15380. //
  15381. // LogGroupName is a required field
  15382. LogGroupName *string `type:"string" required:"true"`
  15383. // One or more subnet, network interface, or VPC IDs.
  15384. //
  15385. // Constraints: Maximum of 1000 resources
  15386. //
  15387. // ResourceIds is a required field
  15388. ResourceIds []*string `locationName:"ResourceId" locationNameList:"item" type:"list" required:"true"`
  15389. // The type of resource on which to create the flow log.
  15390. //
  15391. // ResourceType is a required field
  15392. ResourceType *string `type:"string" required:"true" enum:"FlowLogsResourceType"`
  15393. // The type of traffic to log.
  15394. //
  15395. // TrafficType is a required field
  15396. TrafficType *string `type:"string" required:"true" enum:"TrafficType"`
  15397. }
  15398. // String returns the string representation
  15399. func (s CreateFlowLogsInput) String() string {
  15400. return awsutil.Prettify(s)
  15401. }
  15402. // GoString returns the string representation
  15403. func (s CreateFlowLogsInput) GoString() string {
  15404. return s.String()
  15405. }
  15406. // Validate inspects the fields of the type to determine if they are valid.
  15407. func (s *CreateFlowLogsInput) Validate() error {
  15408. invalidParams := request.ErrInvalidParams{Context: "CreateFlowLogsInput"}
  15409. if s.DeliverLogsPermissionArn == nil {
  15410. invalidParams.Add(request.NewErrParamRequired("DeliverLogsPermissionArn"))
  15411. }
  15412. if s.LogGroupName == nil {
  15413. invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
  15414. }
  15415. if s.ResourceIds == nil {
  15416. invalidParams.Add(request.NewErrParamRequired("ResourceIds"))
  15417. }
  15418. if s.ResourceType == nil {
  15419. invalidParams.Add(request.NewErrParamRequired("ResourceType"))
  15420. }
  15421. if s.TrafficType == nil {
  15422. invalidParams.Add(request.NewErrParamRequired("TrafficType"))
  15423. }
  15424. if invalidParams.Len() > 0 {
  15425. return invalidParams
  15426. }
  15427. return nil
  15428. }
  15429. // Contains the output of CreateFlowLogs.
  15430. type CreateFlowLogsOutput struct {
  15431. _ struct{} `type:"structure"`
  15432. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  15433. // the request.
  15434. ClientToken *string `locationName:"clientToken" type:"string"`
  15435. // The IDs of the flow logs.
  15436. FlowLogIds []*string `locationName:"flowLogIdSet" locationNameList:"item" type:"list"`
  15437. // Information about the flow logs that could not be created successfully.
  15438. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  15439. }
  15440. // String returns the string representation
  15441. func (s CreateFlowLogsOutput) String() string {
  15442. return awsutil.Prettify(s)
  15443. }
  15444. // GoString returns the string representation
  15445. func (s CreateFlowLogsOutput) GoString() string {
  15446. return s.String()
  15447. }
  15448. // Contains the parameters for CreateImage.
  15449. type CreateImageInput struct {
  15450. _ struct{} `type:"structure"`
  15451. // Information about one or more block device mappings.
  15452. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
  15453. // A description for the new image.
  15454. Description *string `locationName:"description" type:"string"`
  15455. // Checks whether you have the required permissions for the action, without
  15456. // actually making the request, and provides an error response. If you have
  15457. // the required permissions, the error response is DryRunOperation. Otherwise,
  15458. // it is UnauthorizedOperation.
  15459. DryRun *bool `locationName:"dryRun" type:"boolean"`
  15460. // The ID of the instance.
  15461. //
  15462. // InstanceId is a required field
  15463. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  15464. // A name for the new image.
  15465. //
  15466. // Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets
  15467. // ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('),
  15468. // at-signs (@), or underscores(_)
  15469. //
  15470. // Name is a required field
  15471. Name *string `locationName:"name" type:"string" required:"true"`
  15472. // By default, Amazon EC2 attempts to shut down and reboot the instance before
  15473. // creating the image. If the 'No Reboot' option is set, Amazon EC2 doesn't
  15474. // shut down the instance before creating the image. When this option is used,
  15475. // file system integrity on the created image can't be guaranteed.
  15476. NoReboot *bool `locationName:"noReboot" type:"boolean"`
  15477. }
  15478. // String returns the string representation
  15479. func (s CreateImageInput) String() string {
  15480. return awsutil.Prettify(s)
  15481. }
  15482. // GoString returns the string representation
  15483. func (s CreateImageInput) GoString() string {
  15484. return s.String()
  15485. }
  15486. // Validate inspects the fields of the type to determine if they are valid.
  15487. func (s *CreateImageInput) Validate() error {
  15488. invalidParams := request.ErrInvalidParams{Context: "CreateImageInput"}
  15489. if s.InstanceId == nil {
  15490. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  15491. }
  15492. if s.Name == nil {
  15493. invalidParams.Add(request.NewErrParamRequired("Name"))
  15494. }
  15495. if invalidParams.Len() > 0 {
  15496. return invalidParams
  15497. }
  15498. return nil
  15499. }
  15500. // Contains the output of CreateImage.
  15501. type CreateImageOutput struct {
  15502. _ struct{} `type:"structure"`
  15503. // The ID of the new AMI.
  15504. ImageId *string `locationName:"imageId" type:"string"`
  15505. }
  15506. // String returns the string representation
  15507. func (s CreateImageOutput) String() string {
  15508. return awsutil.Prettify(s)
  15509. }
  15510. // GoString returns the string representation
  15511. func (s CreateImageOutput) GoString() string {
  15512. return s.String()
  15513. }
  15514. // Contains the parameters for CreateInstanceExportTask.
  15515. type CreateInstanceExportTaskInput struct {
  15516. _ struct{} `type:"structure"`
  15517. // A description for the conversion task or the resource being exported. The
  15518. // maximum length is 255 bytes.
  15519. Description *string `locationName:"description" type:"string"`
  15520. // The format and location for an instance export task.
  15521. ExportToS3Task *ExportToS3TaskSpecification `locationName:"exportToS3" type:"structure"`
  15522. // The ID of the instance.
  15523. //
  15524. // InstanceId is a required field
  15525. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  15526. // The target virtualization environment.
  15527. TargetEnvironment *string `locationName:"targetEnvironment" type:"string" enum:"ExportEnvironment"`
  15528. }
  15529. // String returns the string representation
  15530. func (s CreateInstanceExportTaskInput) String() string {
  15531. return awsutil.Prettify(s)
  15532. }
  15533. // GoString returns the string representation
  15534. func (s CreateInstanceExportTaskInput) GoString() string {
  15535. return s.String()
  15536. }
  15537. // Validate inspects the fields of the type to determine if they are valid.
  15538. func (s *CreateInstanceExportTaskInput) Validate() error {
  15539. invalidParams := request.ErrInvalidParams{Context: "CreateInstanceExportTaskInput"}
  15540. if s.InstanceId == nil {
  15541. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  15542. }
  15543. if invalidParams.Len() > 0 {
  15544. return invalidParams
  15545. }
  15546. return nil
  15547. }
  15548. // Contains the output for CreateInstanceExportTask.
  15549. type CreateInstanceExportTaskOutput struct {
  15550. _ struct{} `type:"structure"`
  15551. // Information about the instance export task.
  15552. ExportTask *ExportTask `locationName:"exportTask" type:"structure"`
  15553. }
  15554. // String returns the string representation
  15555. func (s CreateInstanceExportTaskOutput) String() string {
  15556. return awsutil.Prettify(s)
  15557. }
  15558. // GoString returns the string representation
  15559. func (s CreateInstanceExportTaskOutput) GoString() string {
  15560. return s.String()
  15561. }
  15562. // Contains the parameters for CreateInternetGateway.
  15563. type CreateInternetGatewayInput struct {
  15564. _ struct{} `type:"structure"`
  15565. // Checks whether you have the required permissions for the action, without
  15566. // actually making the request, and provides an error response. If you have
  15567. // the required permissions, the error response is DryRunOperation. Otherwise,
  15568. // it is UnauthorizedOperation.
  15569. DryRun *bool `locationName:"dryRun" type:"boolean"`
  15570. }
  15571. // String returns the string representation
  15572. func (s CreateInternetGatewayInput) String() string {
  15573. return awsutil.Prettify(s)
  15574. }
  15575. // GoString returns the string representation
  15576. func (s CreateInternetGatewayInput) GoString() string {
  15577. return s.String()
  15578. }
  15579. // Contains the output of CreateInternetGateway.
  15580. type CreateInternetGatewayOutput struct {
  15581. _ struct{} `type:"structure"`
  15582. // Information about the Internet gateway.
  15583. InternetGateway *InternetGateway `locationName:"internetGateway" type:"structure"`
  15584. }
  15585. // String returns the string representation
  15586. func (s CreateInternetGatewayOutput) String() string {
  15587. return awsutil.Prettify(s)
  15588. }
  15589. // GoString returns the string representation
  15590. func (s CreateInternetGatewayOutput) GoString() string {
  15591. return s.String()
  15592. }
  15593. // Contains the parameters for CreateKeyPair.
  15594. type CreateKeyPairInput struct {
  15595. _ struct{} `type:"structure"`
  15596. // Checks whether you have the required permissions for the action, without
  15597. // actually making the request, and provides an error response. If you have
  15598. // the required permissions, the error response is DryRunOperation. Otherwise,
  15599. // it is UnauthorizedOperation.
  15600. DryRun *bool `locationName:"dryRun" type:"boolean"`
  15601. // A unique name for the key pair.
  15602. //
  15603. // Constraints: Up to 255 ASCII characters
  15604. //
  15605. // KeyName is a required field
  15606. KeyName *string `type:"string" required:"true"`
  15607. }
  15608. // String returns the string representation
  15609. func (s CreateKeyPairInput) String() string {
  15610. return awsutil.Prettify(s)
  15611. }
  15612. // GoString returns the string representation
  15613. func (s CreateKeyPairInput) GoString() string {
  15614. return s.String()
  15615. }
  15616. // Validate inspects the fields of the type to determine if they are valid.
  15617. func (s *CreateKeyPairInput) Validate() error {
  15618. invalidParams := request.ErrInvalidParams{Context: "CreateKeyPairInput"}
  15619. if s.KeyName == nil {
  15620. invalidParams.Add(request.NewErrParamRequired("KeyName"))
  15621. }
  15622. if invalidParams.Len() > 0 {
  15623. return invalidParams
  15624. }
  15625. return nil
  15626. }
  15627. // Describes a key pair.
  15628. type CreateKeyPairOutput struct {
  15629. _ struct{} `type:"structure"`
  15630. // The SHA-1 digest of the DER encoded private key.
  15631. KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
  15632. // An unencrypted PEM encoded RSA private key.
  15633. KeyMaterial *string `locationName:"keyMaterial" type:"string"`
  15634. // The name of the key pair.
  15635. KeyName *string `locationName:"keyName" type:"string"`
  15636. }
  15637. // String returns the string representation
  15638. func (s CreateKeyPairOutput) String() string {
  15639. return awsutil.Prettify(s)
  15640. }
  15641. // GoString returns the string representation
  15642. func (s CreateKeyPairOutput) GoString() string {
  15643. return s.String()
  15644. }
  15645. // Contains the parameters for CreateNatGateway.
  15646. type CreateNatGatewayInput struct {
  15647. _ struct{} `type:"structure"`
  15648. // The allocation ID of an Elastic IP address to associate with the NAT gateway.
  15649. // If the Elastic IP address is associated with another resource, you must first
  15650. // disassociate it.
  15651. //
  15652. // AllocationId is a required field
  15653. AllocationId *string `type:"string" required:"true"`
  15654. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  15655. // the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  15656. //
  15657. // Constraint: Maximum 64 ASCII characters.
  15658. ClientToken *string `type:"string"`
  15659. // The subnet in which to create the NAT gateway.
  15660. //
  15661. // SubnetId is a required field
  15662. SubnetId *string `type:"string" required:"true"`
  15663. }
  15664. // String returns the string representation
  15665. func (s CreateNatGatewayInput) String() string {
  15666. return awsutil.Prettify(s)
  15667. }
  15668. // GoString returns the string representation
  15669. func (s CreateNatGatewayInput) GoString() string {
  15670. return s.String()
  15671. }
  15672. // Validate inspects the fields of the type to determine if they are valid.
  15673. func (s *CreateNatGatewayInput) Validate() error {
  15674. invalidParams := request.ErrInvalidParams{Context: "CreateNatGatewayInput"}
  15675. if s.AllocationId == nil {
  15676. invalidParams.Add(request.NewErrParamRequired("AllocationId"))
  15677. }
  15678. if s.SubnetId == nil {
  15679. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  15680. }
  15681. if invalidParams.Len() > 0 {
  15682. return invalidParams
  15683. }
  15684. return nil
  15685. }
  15686. // Contains the output of CreateNatGateway.
  15687. type CreateNatGatewayOutput struct {
  15688. _ struct{} `type:"structure"`
  15689. // Unique, case-sensitive identifier to ensure the idempotency of the request.
  15690. // Only returned if a client token was provided in the request.
  15691. ClientToken *string `locationName:"clientToken" type:"string"`
  15692. // Information about the NAT gateway.
  15693. NatGateway *NatGateway `locationName:"natGateway" type:"structure"`
  15694. }
  15695. // String returns the string representation
  15696. func (s CreateNatGatewayOutput) String() string {
  15697. return awsutil.Prettify(s)
  15698. }
  15699. // GoString returns the string representation
  15700. func (s CreateNatGatewayOutput) GoString() string {
  15701. return s.String()
  15702. }
  15703. // Contains the parameters for CreateNetworkAclEntry.
  15704. type CreateNetworkAclEntryInput struct {
  15705. _ struct{} `type:"structure"`
  15706. // The network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).
  15707. //
  15708. // CidrBlock is a required field
  15709. CidrBlock *string `locationName:"cidrBlock" type:"string" required:"true"`
  15710. // Checks whether you have the required permissions for the action, without
  15711. // actually making the request, and provides an error response. If you have
  15712. // the required permissions, the error response is DryRunOperation. Otherwise,
  15713. // it is UnauthorizedOperation.
  15714. DryRun *bool `locationName:"dryRun" type:"boolean"`
  15715. // Indicates whether this is an egress rule (rule is applied to traffic leaving
  15716. // the subnet).
  15717. //
  15718. // Egress is a required field
  15719. Egress *bool `locationName:"egress" type:"boolean" required:"true"`
  15720. // ICMP protocol: The ICMP type and code. Required if specifying ICMP for the
  15721. // protocol.
  15722. IcmpTypeCode *IcmpTypeCode `locationName:"Icmp" type:"structure"`
  15723. // The ID of the network ACL.
  15724. //
  15725. // NetworkAclId is a required field
  15726. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  15727. // TCP or UDP protocols: The range of ports the rule applies to.
  15728. PortRange *PortRange `locationName:"portRange" type:"structure"`
  15729. // The protocol. A value of -1 means all protocols.
  15730. //
  15731. // Protocol is a required field
  15732. Protocol *string `locationName:"protocol" type:"string" required:"true"`
  15733. // Indicates whether to allow or deny the traffic that matches the rule.
  15734. //
  15735. // RuleAction is a required field
  15736. RuleAction *string `locationName:"ruleAction" type:"string" required:"true" enum:"RuleAction"`
  15737. // The rule number for the entry (for example, 100). ACL entries are processed
  15738. // in ascending order by rule number.
  15739. //
  15740. // Constraints: Positive integer from 1 to 32766. The range 32767 to 65535 is
  15741. // reserved for internal use.
  15742. //
  15743. // RuleNumber is a required field
  15744. RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
  15745. }
  15746. // String returns the string representation
  15747. func (s CreateNetworkAclEntryInput) String() string {
  15748. return awsutil.Prettify(s)
  15749. }
  15750. // GoString returns the string representation
  15751. func (s CreateNetworkAclEntryInput) GoString() string {
  15752. return s.String()
  15753. }
  15754. // Validate inspects the fields of the type to determine if they are valid.
  15755. func (s *CreateNetworkAclEntryInput) Validate() error {
  15756. invalidParams := request.ErrInvalidParams{Context: "CreateNetworkAclEntryInput"}
  15757. if s.CidrBlock == nil {
  15758. invalidParams.Add(request.NewErrParamRequired("CidrBlock"))
  15759. }
  15760. if s.Egress == nil {
  15761. invalidParams.Add(request.NewErrParamRequired("Egress"))
  15762. }
  15763. if s.NetworkAclId == nil {
  15764. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  15765. }
  15766. if s.Protocol == nil {
  15767. invalidParams.Add(request.NewErrParamRequired("Protocol"))
  15768. }
  15769. if s.RuleAction == nil {
  15770. invalidParams.Add(request.NewErrParamRequired("RuleAction"))
  15771. }
  15772. if s.RuleNumber == nil {
  15773. invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
  15774. }
  15775. if invalidParams.Len() > 0 {
  15776. return invalidParams
  15777. }
  15778. return nil
  15779. }
  15780. type CreateNetworkAclEntryOutput struct {
  15781. _ struct{} `type:"structure"`
  15782. }
  15783. // String returns the string representation
  15784. func (s CreateNetworkAclEntryOutput) String() string {
  15785. return awsutil.Prettify(s)
  15786. }
  15787. // GoString returns the string representation
  15788. func (s CreateNetworkAclEntryOutput) GoString() string {
  15789. return s.String()
  15790. }
  15791. // Contains the parameters for CreateNetworkAcl.
  15792. type CreateNetworkAclInput struct {
  15793. _ struct{} `type:"structure"`
  15794. // Checks whether you have the required permissions for the action, without
  15795. // actually making the request, and provides an error response. If you have
  15796. // the required permissions, the error response is DryRunOperation. Otherwise,
  15797. // it is UnauthorizedOperation.
  15798. DryRun *bool `locationName:"dryRun" type:"boolean"`
  15799. // The ID of the VPC.
  15800. //
  15801. // VpcId is a required field
  15802. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  15803. }
  15804. // String returns the string representation
  15805. func (s CreateNetworkAclInput) String() string {
  15806. return awsutil.Prettify(s)
  15807. }
  15808. // GoString returns the string representation
  15809. func (s CreateNetworkAclInput) GoString() string {
  15810. return s.String()
  15811. }
  15812. // Validate inspects the fields of the type to determine if they are valid.
  15813. func (s *CreateNetworkAclInput) Validate() error {
  15814. invalidParams := request.ErrInvalidParams{Context: "CreateNetworkAclInput"}
  15815. if s.VpcId == nil {
  15816. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  15817. }
  15818. if invalidParams.Len() > 0 {
  15819. return invalidParams
  15820. }
  15821. return nil
  15822. }
  15823. // Contains the output of CreateNetworkAcl.
  15824. type CreateNetworkAclOutput struct {
  15825. _ struct{} `type:"structure"`
  15826. // Information about the network ACL.
  15827. NetworkAcl *NetworkAcl `locationName:"networkAcl" type:"structure"`
  15828. }
  15829. // String returns the string representation
  15830. func (s CreateNetworkAclOutput) String() string {
  15831. return awsutil.Prettify(s)
  15832. }
  15833. // GoString returns the string representation
  15834. func (s CreateNetworkAclOutput) GoString() string {
  15835. return s.String()
  15836. }
  15837. // Contains the parameters for CreateNetworkInterface.
  15838. type CreateNetworkInterfaceInput struct {
  15839. _ struct{} `type:"structure"`
  15840. // A description for the network interface.
  15841. Description *string `locationName:"description" type:"string"`
  15842. // Checks whether you have the required permissions for the action, without
  15843. // actually making the request, and provides an error response. If you have
  15844. // the required permissions, the error response is DryRunOperation. Otherwise,
  15845. // it is UnauthorizedOperation.
  15846. DryRun *bool `locationName:"dryRun" type:"boolean"`
  15847. // The IDs of one or more security groups.
  15848. Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  15849. // The primary private IP address of the network interface. If you don't specify
  15850. // an IP address, Amazon EC2 selects one for you from the subnet range. If you
  15851. // specify an IP address, you cannot indicate any IP addresses specified in
  15852. // privateIpAddresses as primary (only one IP address can be designated as primary).
  15853. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  15854. // One or more private IP addresses.
  15855. PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddresses" locationNameList:"item" type:"list"`
  15856. // The number of secondary private IP addresses to assign to a network interface.
  15857. // When you specify a number of secondary IP addresses, Amazon EC2 selects these
  15858. // IP addresses within the subnet range. You can't specify this option and specify
  15859. // more than one private IP address using privateIpAddresses.
  15860. //
  15861. // The number of IP addresses you can assign to a network interface varies by
  15862. // instance type. For more information, see Private IP Addresses Per ENI Per
  15863. // Instance Type (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI)
  15864. // in the Amazon Elastic Compute Cloud User Guide.
  15865. SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
  15866. // The ID of the subnet to associate with the network interface.
  15867. //
  15868. // SubnetId is a required field
  15869. SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
  15870. }
  15871. // String returns the string representation
  15872. func (s CreateNetworkInterfaceInput) String() string {
  15873. return awsutil.Prettify(s)
  15874. }
  15875. // GoString returns the string representation
  15876. func (s CreateNetworkInterfaceInput) GoString() string {
  15877. return s.String()
  15878. }
  15879. // Validate inspects the fields of the type to determine if they are valid.
  15880. func (s *CreateNetworkInterfaceInput) Validate() error {
  15881. invalidParams := request.ErrInvalidParams{Context: "CreateNetworkInterfaceInput"}
  15882. if s.SubnetId == nil {
  15883. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  15884. }
  15885. if s.PrivateIpAddresses != nil {
  15886. for i, v := range s.PrivateIpAddresses {
  15887. if v == nil {
  15888. continue
  15889. }
  15890. if err := v.Validate(); err != nil {
  15891. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PrivateIpAddresses", i), err.(request.ErrInvalidParams))
  15892. }
  15893. }
  15894. }
  15895. if invalidParams.Len() > 0 {
  15896. return invalidParams
  15897. }
  15898. return nil
  15899. }
  15900. // Contains the output of CreateNetworkInterface.
  15901. type CreateNetworkInterfaceOutput struct {
  15902. _ struct{} `type:"structure"`
  15903. // Information about the network interface.
  15904. NetworkInterface *NetworkInterface `locationName:"networkInterface" type:"structure"`
  15905. }
  15906. // String returns the string representation
  15907. func (s CreateNetworkInterfaceOutput) String() string {
  15908. return awsutil.Prettify(s)
  15909. }
  15910. // GoString returns the string representation
  15911. func (s CreateNetworkInterfaceOutput) GoString() string {
  15912. return s.String()
  15913. }
  15914. // Contains the parameters for CreatePlacementGroup.
  15915. type CreatePlacementGroupInput struct {
  15916. _ struct{} `type:"structure"`
  15917. // Checks whether you have the required permissions for the action, without
  15918. // actually making the request, and provides an error response. If you have
  15919. // the required permissions, the error response is DryRunOperation. Otherwise,
  15920. // it is UnauthorizedOperation.
  15921. DryRun *bool `locationName:"dryRun" type:"boolean"`
  15922. // A name for the placement group.
  15923. //
  15924. // Constraints: Up to 255 ASCII characters
  15925. //
  15926. // GroupName is a required field
  15927. GroupName *string `locationName:"groupName" type:"string" required:"true"`
  15928. // The placement strategy.
  15929. //
  15930. // Strategy is a required field
  15931. Strategy *string `locationName:"strategy" type:"string" required:"true" enum:"PlacementStrategy"`
  15932. }
  15933. // String returns the string representation
  15934. func (s CreatePlacementGroupInput) String() string {
  15935. return awsutil.Prettify(s)
  15936. }
  15937. // GoString returns the string representation
  15938. func (s CreatePlacementGroupInput) GoString() string {
  15939. return s.String()
  15940. }
  15941. // Validate inspects the fields of the type to determine if they are valid.
  15942. func (s *CreatePlacementGroupInput) Validate() error {
  15943. invalidParams := request.ErrInvalidParams{Context: "CreatePlacementGroupInput"}
  15944. if s.GroupName == nil {
  15945. invalidParams.Add(request.NewErrParamRequired("GroupName"))
  15946. }
  15947. if s.Strategy == nil {
  15948. invalidParams.Add(request.NewErrParamRequired("Strategy"))
  15949. }
  15950. if invalidParams.Len() > 0 {
  15951. return invalidParams
  15952. }
  15953. return nil
  15954. }
  15955. type CreatePlacementGroupOutput struct {
  15956. _ struct{} `type:"structure"`
  15957. }
  15958. // String returns the string representation
  15959. func (s CreatePlacementGroupOutput) String() string {
  15960. return awsutil.Prettify(s)
  15961. }
  15962. // GoString returns the string representation
  15963. func (s CreatePlacementGroupOutput) GoString() string {
  15964. return s.String()
  15965. }
  15966. // Contains the parameters for CreateReservedInstancesListing.
  15967. type CreateReservedInstancesListingInput struct {
  15968. _ struct{} `type:"structure"`
  15969. // Unique, case-sensitive identifier you provide to ensure idempotency of your
  15970. // listings. This helps avoid duplicate listings. For more information, see
  15971. // Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  15972. //
  15973. // ClientToken is a required field
  15974. ClientToken *string `locationName:"clientToken" type:"string" required:"true"`
  15975. // The number of instances that are a part of a Reserved Instance account to
  15976. // be listed in the Reserved Instance Marketplace. This number should be less
  15977. // than or equal to the instance count associated with the Reserved Instance
  15978. // ID specified in this call.
  15979. //
  15980. // InstanceCount is a required field
  15981. InstanceCount *int64 `locationName:"instanceCount" type:"integer" required:"true"`
  15982. // A list specifying the price of the Standard Reserved Instance for each month
  15983. // remaining in the Reserved Instance term.
  15984. //
  15985. // PriceSchedules is a required field
  15986. PriceSchedules []*PriceScheduleSpecification `locationName:"priceSchedules" locationNameList:"item" type:"list" required:"true"`
  15987. // The ID of the active Standard Reserved Instance.
  15988. //
  15989. // ReservedInstancesId is a required field
  15990. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string" required:"true"`
  15991. }
  15992. // String returns the string representation
  15993. func (s CreateReservedInstancesListingInput) String() string {
  15994. return awsutil.Prettify(s)
  15995. }
  15996. // GoString returns the string representation
  15997. func (s CreateReservedInstancesListingInput) GoString() string {
  15998. return s.String()
  15999. }
  16000. // Validate inspects the fields of the type to determine if they are valid.
  16001. func (s *CreateReservedInstancesListingInput) Validate() error {
  16002. invalidParams := request.ErrInvalidParams{Context: "CreateReservedInstancesListingInput"}
  16003. if s.ClientToken == nil {
  16004. invalidParams.Add(request.NewErrParamRequired("ClientToken"))
  16005. }
  16006. if s.InstanceCount == nil {
  16007. invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
  16008. }
  16009. if s.PriceSchedules == nil {
  16010. invalidParams.Add(request.NewErrParamRequired("PriceSchedules"))
  16011. }
  16012. if s.ReservedInstancesId == nil {
  16013. invalidParams.Add(request.NewErrParamRequired("ReservedInstancesId"))
  16014. }
  16015. if invalidParams.Len() > 0 {
  16016. return invalidParams
  16017. }
  16018. return nil
  16019. }
  16020. // Contains the output of CreateReservedInstancesListing.
  16021. type CreateReservedInstancesListingOutput struct {
  16022. _ struct{} `type:"structure"`
  16023. // Information about the Standard Reserved Instance listing.
  16024. ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
  16025. }
  16026. // String returns the string representation
  16027. func (s CreateReservedInstancesListingOutput) String() string {
  16028. return awsutil.Prettify(s)
  16029. }
  16030. // GoString returns the string representation
  16031. func (s CreateReservedInstancesListingOutput) GoString() string {
  16032. return s.String()
  16033. }
  16034. // Contains the parameters for CreateRoute.
  16035. type CreateRouteInput struct {
  16036. _ struct{} `type:"structure"`
  16037. // The CIDR address block used for the destination match. Routing decisions
  16038. // are based on the most specific match.
  16039. //
  16040. // DestinationCidrBlock is a required field
  16041. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string" required:"true"`
  16042. // Checks whether you have the required permissions for the action, without
  16043. // actually making the request, and provides an error response. If you have
  16044. // the required permissions, the error response is DryRunOperation. Otherwise,
  16045. // it is UnauthorizedOperation.
  16046. DryRun *bool `locationName:"dryRun" type:"boolean"`
  16047. // The ID of an Internet gateway or virtual private gateway attached to your
  16048. // VPC.
  16049. GatewayId *string `locationName:"gatewayId" type:"string"`
  16050. // The ID of a NAT instance in your VPC. The operation fails if you specify
  16051. // an instance ID unless exactly one network interface is attached.
  16052. InstanceId *string `locationName:"instanceId" type:"string"`
  16053. // The ID of a NAT gateway.
  16054. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  16055. // The ID of a network interface.
  16056. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  16057. // The ID of the route table for the route.
  16058. //
  16059. // RouteTableId is a required field
  16060. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  16061. // The ID of a VPC peering connection.
  16062. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  16063. }
  16064. // String returns the string representation
  16065. func (s CreateRouteInput) String() string {
  16066. return awsutil.Prettify(s)
  16067. }
  16068. // GoString returns the string representation
  16069. func (s CreateRouteInput) GoString() string {
  16070. return s.String()
  16071. }
  16072. // Validate inspects the fields of the type to determine if they are valid.
  16073. func (s *CreateRouteInput) Validate() error {
  16074. invalidParams := request.ErrInvalidParams{Context: "CreateRouteInput"}
  16075. if s.DestinationCidrBlock == nil {
  16076. invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
  16077. }
  16078. if s.RouteTableId == nil {
  16079. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  16080. }
  16081. if invalidParams.Len() > 0 {
  16082. return invalidParams
  16083. }
  16084. return nil
  16085. }
  16086. // Contains the output of CreateRoute.
  16087. type CreateRouteOutput struct {
  16088. _ struct{} `type:"structure"`
  16089. // Returns true if the request succeeds; otherwise, it returns an error.
  16090. Return *bool `locationName:"return" type:"boolean"`
  16091. }
  16092. // String returns the string representation
  16093. func (s CreateRouteOutput) String() string {
  16094. return awsutil.Prettify(s)
  16095. }
  16096. // GoString returns the string representation
  16097. func (s CreateRouteOutput) GoString() string {
  16098. return s.String()
  16099. }
  16100. // Contains the parameters for CreateRouteTable.
  16101. type CreateRouteTableInput struct {
  16102. _ struct{} `type:"structure"`
  16103. // Checks whether you have the required permissions for the action, without
  16104. // actually making the request, and provides an error response. If you have
  16105. // the required permissions, the error response is DryRunOperation. Otherwise,
  16106. // it is UnauthorizedOperation.
  16107. DryRun *bool `locationName:"dryRun" type:"boolean"`
  16108. // The ID of the VPC.
  16109. //
  16110. // VpcId is a required field
  16111. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  16112. }
  16113. // String returns the string representation
  16114. func (s CreateRouteTableInput) String() string {
  16115. return awsutil.Prettify(s)
  16116. }
  16117. // GoString returns the string representation
  16118. func (s CreateRouteTableInput) GoString() string {
  16119. return s.String()
  16120. }
  16121. // Validate inspects the fields of the type to determine if they are valid.
  16122. func (s *CreateRouteTableInput) Validate() error {
  16123. invalidParams := request.ErrInvalidParams{Context: "CreateRouteTableInput"}
  16124. if s.VpcId == nil {
  16125. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  16126. }
  16127. if invalidParams.Len() > 0 {
  16128. return invalidParams
  16129. }
  16130. return nil
  16131. }
  16132. // Contains the output of CreateRouteTable.
  16133. type CreateRouteTableOutput struct {
  16134. _ struct{} `type:"structure"`
  16135. // Information about the route table.
  16136. RouteTable *RouteTable `locationName:"routeTable" type:"structure"`
  16137. }
  16138. // String returns the string representation
  16139. func (s CreateRouteTableOutput) String() string {
  16140. return awsutil.Prettify(s)
  16141. }
  16142. // GoString returns the string representation
  16143. func (s CreateRouteTableOutput) GoString() string {
  16144. return s.String()
  16145. }
  16146. // Contains the parameters for CreateSecurityGroup.
  16147. type CreateSecurityGroupInput struct {
  16148. _ struct{} `type:"structure"`
  16149. // A description for the security group. This is informational only.
  16150. //
  16151. // Constraints: Up to 255 characters in length
  16152. //
  16153. // Constraints for EC2-Classic: ASCII characters
  16154. //
  16155. // Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
  16156. //
  16157. // Description is a required field
  16158. Description *string `locationName:"GroupDescription" type:"string" required:"true"`
  16159. // Checks whether you have the required permissions for the action, without
  16160. // actually making the request, and provides an error response. If you have
  16161. // the required permissions, the error response is DryRunOperation. Otherwise,
  16162. // it is UnauthorizedOperation.
  16163. DryRun *bool `locationName:"dryRun" type:"boolean"`
  16164. // The name of the security group.
  16165. //
  16166. // Constraints: Up to 255 characters in length
  16167. //
  16168. // Constraints for EC2-Classic: ASCII characters
  16169. //
  16170. // Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
  16171. //
  16172. // GroupName is a required field
  16173. GroupName *string `type:"string" required:"true"`
  16174. // [EC2-VPC] The ID of the VPC. Required for EC2-VPC.
  16175. VpcId *string `type:"string"`
  16176. }
  16177. // String returns the string representation
  16178. func (s CreateSecurityGroupInput) String() string {
  16179. return awsutil.Prettify(s)
  16180. }
  16181. // GoString returns the string representation
  16182. func (s CreateSecurityGroupInput) GoString() string {
  16183. return s.String()
  16184. }
  16185. // Validate inspects the fields of the type to determine if they are valid.
  16186. func (s *CreateSecurityGroupInput) Validate() error {
  16187. invalidParams := request.ErrInvalidParams{Context: "CreateSecurityGroupInput"}
  16188. if s.Description == nil {
  16189. invalidParams.Add(request.NewErrParamRequired("Description"))
  16190. }
  16191. if s.GroupName == nil {
  16192. invalidParams.Add(request.NewErrParamRequired("GroupName"))
  16193. }
  16194. if invalidParams.Len() > 0 {
  16195. return invalidParams
  16196. }
  16197. return nil
  16198. }
  16199. // Contains the output of CreateSecurityGroup.
  16200. type CreateSecurityGroupOutput struct {
  16201. _ struct{} `type:"structure"`
  16202. // The ID of the security group.
  16203. GroupId *string `locationName:"groupId" type:"string"`
  16204. }
  16205. // String returns the string representation
  16206. func (s CreateSecurityGroupOutput) String() string {
  16207. return awsutil.Prettify(s)
  16208. }
  16209. // GoString returns the string representation
  16210. func (s CreateSecurityGroupOutput) GoString() string {
  16211. return s.String()
  16212. }
  16213. // Contains the parameters for CreateSnapshot.
  16214. type CreateSnapshotInput struct {
  16215. _ struct{} `type:"structure"`
  16216. // A description for the snapshot.
  16217. Description *string `type:"string"`
  16218. // Checks whether you have the required permissions for the action, without
  16219. // actually making the request, and provides an error response. If you have
  16220. // the required permissions, the error response is DryRunOperation. Otherwise,
  16221. // it is UnauthorizedOperation.
  16222. DryRun *bool `locationName:"dryRun" type:"boolean"`
  16223. // The ID of the EBS volume.
  16224. //
  16225. // VolumeId is a required field
  16226. VolumeId *string `type:"string" required:"true"`
  16227. }
  16228. // String returns the string representation
  16229. func (s CreateSnapshotInput) String() string {
  16230. return awsutil.Prettify(s)
  16231. }
  16232. // GoString returns the string representation
  16233. func (s CreateSnapshotInput) GoString() string {
  16234. return s.String()
  16235. }
  16236. // Validate inspects the fields of the type to determine if they are valid.
  16237. func (s *CreateSnapshotInput) Validate() error {
  16238. invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotInput"}
  16239. if s.VolumeId == nil {
  16240. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  16241. }
  16242. if invalidParams.Len() > 0 {
  16243. return invalidParams
  16244. }
  16245. return nil
  16246. }
  16247. // Contains the parameters for CreateSpotDatafeedSubscription.
  16248. type CreateSpotDatafeedSubscriptionInput struct {
  16249. _ struct{} `type:"structure"`
  16250. // The Amazon S3 bucket in which to store the Spot instance data feed.
  16251. //
  16252. // Bucket is a required field
  16253. Bucket *string `locationName:"bucket" type:"string" required:"true"`
  16254. // Checks whether you have the required permissions for the action, without
  16255. // actually making the request, and provides an error response. If you have
  16256. // the required permissions, the error response is DryRunOperation. Otherwise,
  16257. // it is UnauthorizedOperation.
  16258. DryRun *bool `locationName:"dryRun" type:"boolean"`
  16259. // A prefix for the data feed file names.
  16260. Prefix *string `locationName:"prefix" type:"string"`
  16261. }
  16262. // String returns the string representation
  16263. func (s CreateSpotDatafeedSubscriptionInput) String() string {
  16264. return awsutil.Prettify(s)
  16265. }
  16266. // GoString returns the string representation
  16267. func (s CreateSpotDatafeedSubscriptionInput) GoString() string {
  16268. return s.String()
  16269. }
  16270. // Validate inspects the fields of the type to determine if they are valid.
  16271. func (s *CreateSpotDatafeedSubscriptionInput) Validate() error {
  16272. invalidParams := request.ErrInvalidParams{Context: "CreateSpotDatafeedSubscriptionInput"}
  16273. if s.Bucket == nil {
  16274. invalidParams.Add(request.NewErrParamRequired("Bucket"))
  16275. }
  16276. if invalidParams.Len() > 0 {
  16277. return invalidParams
  16278. }
  16279. return nil
  16280. }
  16281. // Contains the output of CreateSpotDatafeedSubscription.
  16282. type CreateSpotDatafeedSubscriptionOutput struct {
  16283. _ struct{} `type:"structure"`
  16284. // The Spot instance data feed subscription.
  16285. SpotDatafeedSubscription *SpotDatafeedSubscription `locationName:"spotDatafeedSubscription" type:"structure"`
  16286. }
  16287. // String returns the string representation
  16288. func (s CreateSpotDatafeedSubscriptionOutput) String() string {
  16289. return awsutil.Prettify(s)
  16290. }
  16291. // GoString returns the string representation
  16292. func (s CreateSpotDatafeedSubscriptionOutput) GoString() string {
  16293. return s.String()
  16294. }
  16295. // Contains the parameters for CreateSubnet.
  16296. type CreateSubnetInput struct {
  16297. _ struct{} `type:"structure"`
  16298. // The Availability Zone for the subnet.
  16299. //
  16300. // Default: AWS selects one for you. If you create more than one subnet in your
  16301. // VPC, we may not necessarily select a different zone for each subnet.
  16302. AvailabilityZone *string `type:"string"`
  16303. // The network range for the subnet, in CIDR notation. For example, 10.0.0.0/24.
  16304. //
  16305. // CidrBlock is a required field
  16306. CidrBlock *string `type:"string" required:"true"`
  16307. // Checks whether you have the required permissions for the action, without
  16308. // actually making the request, and provides an error response. If you have
  16309. // the required permissions, the error response is DryRunOperation. Otherwise,
  16310. // it is UnauthorizedOperation.
  16311. DryRun *bool `locationName:"dryRun" type:"boolean"`
  16312. // The ID of the VPC.
  16313. //
  16314. // VpcId is a required field
  16315. VpcId *string `type:"string" required:"true"`
  16316. }
  16317. // String returns the string representation
  16318. func (s CreateSubnetInput) String() string {
  16319. return awsutil.Prettify(s)
  16320. }
  16321. // GoString returns the string representation
  16322. func (s CreateSubnetInput) GoString() string {
  16323. return s.String()
  16324. }
  16325. // Validate inspects the fields of the type to determine if they are valid.
  16326. func (s *CreateSubnetInput) Validate() error {
  16327. invalidParams := request.ErrInvalidParams{Context: "CreateSubnetInput"}
  16328. if s.CidrBlock == nil {
  16329. invalidParams.Add(request.NewErrParamRequired("CidrBlock"))
  16330. }
  16331. if s.VpcId == nil {
  16332. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  16333. }
  16334. if invalidParams.Len() > 0 {
  16335. return invalidParams
  16336. }
  16337. return nil
  16338. }
  16339. // Contains the output of CreateSubnet.
  16340. type CreateSubnetOutput struct {
  16341. _ struct{} `type:"structure"`
  16342. // Information about the subnet.
  16343. Subnet *Subnet `locationName:"subnet" type:"structure"`
  16344. }
  16345. // String returns the string representation
  16346. func (s CreateSubnetOutput) String() string {
  16347. return awsutil.Prettify(s)
  16348. }
  16349. // GoString returns the string representation
  16350. func (s CreateSubnetOutput) GoString() string {
  16351. return s.String()
  16352. }
  16353. // Contains the parameters for CreateTags.
  16354. type CreateTagsInput struct {
  16355. _ struct{} `type:"structure"`
  16356. // Checks whether you have the required permissions for the action, without
  16357. // actually making the request, and provides an error response. If you have
  16358. // the required permissions, the error response is DryRunOperation. Otherwise,
  16359. // it is UnauthorizedOperation.
  16360. DryRun *bool `locationName:"dryRun" type:"boolean"`
  16361. // The IDs of one or more resources to tag. For example, ami-1a2b3c4d.
  16362. //
  16363. // Resources is a required field
  16364. Resources []*string `locationName:"ResourceId" type:"list" required:"true"`
  16365. // One or more tags. The value parameter is required, but if you don't want
  16366. // the tag to have a value, specify the parameter with no value, and we set
  16367. // the value to an empty string.
  16368. //
  16369. // Tags is a required field
  16370. Tags []*Tag `locationName:"Tag" locationNameList:"item" type:"list" required:"true"`
  16371. }
  16372. // String returns the string representation
  16373. func (s CreateTagsInput) String() string {
  16374. return awsutil.Prettify(s)
  16375. }
  16376. // GoString returns the string representation
  16377. func (s CreateTagsInput) GoString() string {
  16378. return s.String()
  16379. }
  16380. // Validate inspects the fields of the type to determine if they are valid.
  16381. func (s *CreateTagsInput) Validate() error {
  16382. invalidParams := request.ErrInvalidParams{Context: "CreateTagsInput"}
  16383. if s.Resources == nil {
  16384. invalidParams.Add(request.NewErrParamRequired("Resources"))
  16385. }
  16386. if s.Tags == nil {
  16387. invalidParams.Add(request.NewErrParamRequired("Tags"))
  16388. }
  16389. if invalidParams.Len() > 0 {
  16390. return invalidParams
  16391. }
  16392. return nil
  16393. }
  16394. type CreateTagsOutput struct {
  16395. _ struct{} `type:"structure"`
  16396. }
  16397. // String returns the string representation
  16398. func (s CreateTagsOutput) String() string {
  16399. return awsutil.Prettify(s)
  16400. }
  16401. // GoString returns the string representation
  16402. func (s CreateTagsOutput) GoString() string {
  16403. return s.String()
  16404. }
  16405. // Contains the parameters for CreateVolume.
  16406. type CreateVolumeInput struct {
  16407. _ struct{} `type:"structure"`
  16408. // The Availability Zone in which to create the volume. Use DescribeAvailabilityZones
  16409. // to list the Availability Zones that are currently available to you.
  16410. //
  16411. // AvailabilityZone is a required field
  16412. AvailabilityZone *string `type:"string" required:"true"`
  16413. // Checks whether you have the required permissions for the action, without
  16414. // actually making the request, and provides an error response. If you have
  16415. // the required permissions, the error response is DryRunOperation. Otherwise,
  16416. // it is UnauthorizedOperation.
  16417. DryRun *bool `locationName:"dryRun" type:"boolean"`
  16418. // Specifies whether the volume should be encrypted. Encrypted Amazon EBS volumes
  16419. // may only be attached to instances that support Amazon EBS encryption. Volumes
  16420. // that are created from encrypted snapshots are automatically encrypted. There
  16421. // is no way to create an encrypted volume from an unencrypted snapshot or vice
  16422. // versa. If your AMI uses encrypted volumes, you can only launch it on supported
  16423. // instance types. For more information, see Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  16424. // in the Amazon Elastic Compute Cloud User Guide.
  16425. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  16426. // Only valid for Provisioned IOPS SSD volumes. The number of I/O operations
  16427. // per second (IOPS) to provision for the volume, with a maximum ratio of 30
  16428. // IOPS/GiB.
  16429. //
  16430. // Constraint: Range is 100 to 20000 for Provisioned IOPS SSD volumes
  16431. Iops *int64 `type:"integer"`
  16432. // The full ARN of the AWS Key Management Service (AWS KMS) customer master
  16433. // key (CMK) to use when creating the encrypted volume. This parameter is only
  16434. // required if you want to use a non-default CMK; if this parameter is not specified,
  16435. // the default CMK for EBS is used. The ARN contains the arn:aws:kms namespace,
  16436. // followed by the region of the CMK, the AWS account ID of the CMK owner, the
  16437. // key namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
  16438. // If a KmsKeyId is specified, the Encrypted flag must also be set.
  16439. KmsKeyId *string `type:"string"`
  16440. // The size of the volume, in GiBs.
  16441. //
  16442. // Constraints: 1-16384 for gp2, 4-16384 for io1, 500-16384 for st1, 500-16384
  16443. // for sc1, and 1-1024 for standard. If you specify a snapshot, the volume size
  16444. // must be equal to or larger than the snapshot size.
  16445. //
  16446. // Default: If you're creating the volume from a snapshot and don't specify
  16447. // a volume size, the default is the snapshot size.
  16448. Size *int64 `type:"integer"`
  16449. // The snapshot from which to create the volume.
  16450. SnapshotId *string `type:"string"`
  16451. // The volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned
  16452. // IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard
  16453. // for Magnetic volumes.
  16454. //
  16455. // Default: standard
  16456. VolumeType *string `type:"string" enum:"VolumeType"`
  16457. }
  16458. // String returns the string representation
  16459. func (s CreateVolumeInput) String() string {
  16460. return awsutil.Prettify(s)
  16461. }
  16462. // GoString returns the string representation
  16463. func (s CreateVolumeInput) GoString() string {
  16464. return s.String()
  16465. }
  16466. // Validate inspects the fields of the type to determine if they are valid.
  16467. func (s *CreateVolumeInput) Validate() error {
  16468. invalidParams := request.ErrInvalidParams{Context: "CreateVolumeInput"}
  16469. if s.AvailabilityZone == nil {
  16470. invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
  16471. }
  16472. if invalidParams.Len() > 0 {
  16473. return invalidParams
  16474. }
  16475. return nil
  16476. }
  16477. // Describes the user or group to be added or removed from the permissions for
  16478. // a volume.
  16479. type CreateVolumePermission struct {
  16480. _ struct{} `type:"structure"`
  16481. // The specific group that is to be added or removed from a volume's list of
  16482. // create volume permissions.
  16483. Group *string `locationName:"group" type:"string" enum:"PermissionGroup"`
  16484. // The specific AWS account ID that is to be added or removed from a volume's
  16485. // list of create volume permissions.
  16486. UserId *string `locationName:"userId" type:"string"`
  16487. }
  16488. // String returns the string representation
  16489. func (s CreateVolumePermission) String() string {
  16490. return awsutil.Prettify(s)
  16491. }
  16492. // GoString returns the string representation
  16493. func (s CreateVolumePermission) GoString() string {
  16494. return s.String()
  16495. }
  16496. // Describes modifications to the permissions for a volume.
  16497. type CreateVolumePermissionModifications struct {
  16498. _ struct{} `type:"structure"`
  16499. // Adds a specific AWS account ID or group to a volume's list of create volume
  16500. // permissions.
  16501. Add []*CreateVolumePermission `locationNameList:"item" type:"list"`
  16502. // Removes a specific AWS account ID or group from a volume's list of create
  16503. // volume permissions.
  16504. Remove []*CreateVolumePermission `locationNameList:"item" type:"list"`
  16505. }
  16506. // String returns the string representation
  16507. func (s CreateVolumePermissionModifications) String() string {
  16508. return awsutil.Prettify(s)
  16509. }
  16510. // GoString returns the string representation
  16511. func (s CreateVolumePermissionModifications) GoString() string {
  16512. return s.String()
  16513. }
  16514. // Contains the parameters for CreateVpcEndpoint.
  16515. type CreateVpcEndpointInput struct {
  16516. _ struct{} `type:"structure"`
  16517. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  16518. // the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  16519. ClientToken *string `type:"string"`
  16520. // Checks whether you have the required permissions for the action, without
  16521. // actually making the request, and provides an error response. If you have
  16522. // the required permissions, the error response is DryRunOperation. Otherwise,
  16523. // it is UnauthorizedOperation.
  16524. DryRun *bool `type:"boolean"`
  16525. // A policy to attach to the endpoint that controls access to the service. The
  16526. // policy must be in valid JSON format. If this parameter is not specified,
  16527. // we attach a default policy that allows full access to the service.
  16528. PolicyDocument *string `type:"string"`
  16529. // One or more route table IDs.
  16530. RouteTableIds []*string `locationName:"RouteTableId" locationNameList:"item" type:"list"`
  16531. // The AWS service name, in the form com.amazonaws.region.service. To get a
  16532. // list of available services, use the DescribeVpcEndpointServices request.
  16533. //
  16534. // ServiceName is a required field
  16535. ServiceName *string `type:"string" required:"true"`
  16536. // The ID of the VPC in which the endpoint will be used.
  16537. //
  16538. // VpcId is a required field
  16539. VpcId *string `type:"string" required:"true"`
  16540. }
  16541. // String returns the string representation
  16542. func (s CreateVpcEndpointInput) String() string {
  16543. return awsutil.Prettify(s)
  16544. }
  16545. // GoString returns the string representation
  16546. func (s CreateVpcEndpointInput) GoString() string {
  16547. return s.String()
  16548. }
  16549. // Validate inspects the fields of the type to determine if they are valid.
  16550. func (s *CreateVpcEndpointInput) Validate() error {
  16551. invalidParams := request.ErrInvalidParams{Context: "CreateVpcEndpointInput"}
  16552. if s.ServiceName == nil {
  16553. invalidParams.Add(request.NewErrParamRequired("ServiceName"))
  16554. }
  16555. if s.VpcId == nil {
  16556. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  16557. }
  16558. if invalidParams.Len() > 0 {
  16559. return invalidParams
  16560. }
  16561. return nil
  16562. }
  16563. // Contains the output of CreateVpcEndpoint.
  16564. type CreateVpcEndpointOutput struct {
  16565. _ struct{} `type:"structure"`
  16566. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  16567. // the request.
  16568. ClientToken *string `locationName:"clientToken" type:"string"`
  16569. // Information about the endpoint.
  16570. VpcEndpoint *VpcEndpoint `locationName:"vpcEndpoint" type:"structure"`
  16571. }
  16572. // String returns the string representation
  16573. func (s CreateVpcEndpointOutput) String() string {
  16574. return awsutil.Prettify(s)
  16575. }
  16576. // GoString returns the string representation
  16577. func (s CreateVpcEndpointOutput) GoString() string {
  16578. return s.String()
  16579. }
  16580. // Contains the parameters for CreateVpc.
  16581. type CreateVpcInput struct {
  16582. _ struct{} `type:"structure"`
  16583. // The network range for the VPC, in CIDR notation. For example, 10.0.0.0/16.
  16584. //
  16585. // CidrBlock is a required field
  16586. CidrBlock *string `type:"string" required:"true"`
  16587. // Checks whether you have the required permissions for the action, without
  16588. // actually making the request, and provides an error response. If you have
  16589. // the required permissions, the error response is DryRunOperation. Otherwise,
  16590. // it is UnauthorizedOperation.
  16591. DryRun *bool `locationName:"dryRun" type:"boolean"`
  16592. // The tenancy options for instances launched into the VPC. For default, instances
  16593. // are launched with shared tenancy by default. You can launch instances with
  16594. // any tenancy into a shared tenancy VPC. For dedicated, instances are launched
  16595. // as dedicated tenancy instances by default. You can only launch instances
  16596. // with a tenancy of dedicated or host into a dedicated tenancy VPC.
  16597. //
  16598. // Important: The host value cannot be used with this parameter. Use the default
  16599. // or dedicated values only.
  16600. //
  16601. // Default: default
  16602. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  16603. }
  16604. // String returns the string representation
  16605. func (s CreateVpcInput) String() string {
  16606. return awsutil.Prettify(s)
  16607. }
  16608. // GoString returns the string representation
  16609. func (s CreateVpcInput) GoString() string {
  16610. return s.String()
  16611. }
  16612. // Validate inspects the fields of the type to determine if they are valid.
  16613. func (s *CreateVpcInput) Validate() error {
  16614. invalidParams := request.ErrInvalidParams{Context: "CreateVpcInput"}
  16615. if s.CidrBlock == nil {
  16616. invalidParams.Add(request.NewErrParamRequired("CidrBlock"))
  16617. }
  16618. if invalidParams.Len() > 0 {
  16619. return invalidParams
  16620. }
  16621. return nil
  16622. }
  16623. // Contains the output of CreateVpc.
  16624. type CreateVpcOutput struct {
  16625. _ struct{} `type:"structure"`
  16626. // Information about the VPC.
  16627. Vpc *Vpc `locationName:"vpc" type:"structure"`
  16628. }
  16629. // String returns the string representation
  16630. func (s CreateVpcOutput) String() string {
  16631. return awsutil.Prettify(s)
  16632. }
  16633. // GoString returns the string representation
  16634. func (s CreateVpcOutput) GoString() string {
  16635. return s.String()
  16636. }
  16637. // Contains the parameters for CreateVpcPeeringConnection.
  16638. type CreateVpcPeeringConnectionInput struct {
  16639. _ struct{} `type:"structure"`
  16640. // Checks whether you have the required permissions for the action, without
  16641. // actually making the request, and provides an error response. If you have
  16642. // the required permissions, the error response is DryRunOperation. Otherwise,
  16643. // it is UnauthorizedOperation.
  16644. DryRun *bool `locationName:"dryRun" type:"boolean"`
  16645. // The AWS account ID of the owner of the peer VPC.
  16646. //
  16647. // Default: Your AWS account ID
  16648. PeerOwnerId *string `locationName:"peerOwnerId" type:"string"`
  16649. // The ID of the VPC with which you are creating the VPC peering connection.
  16650. PeerVpcId *string `locationName:"peerVpcId" type:"string"`
  16651. // The ID of the requester VPC.
  16652. VpcId *string `locationName:"vpcId" type:"string"`
  16653. }
  16654. // String returns the string representation
  16655. func (s CreateVpcPeeringConnectionInput) String() string {
  16656. return awsutil.Prettify(s)
  16657. }
  16658. // GoString returns the string representation
  16659. func (s CreateVpcPeeringConnectionInput) GoString() string {
  16660. return s.String()
  16661. }
  16662. // Contains the output of CreateVpcPeeringConnection.
  16663. type CreateVpcPeeringConnectionOutput struct {
  16664. _ struct{} `type:"structure"`
  16665. // Information about the VPC peering connection.
  16666. VpcPeeringConnection *VpcPeeringConnection `locationName:"vpcPeeringConnection" type:"structure"`
  16667. }
  16668. // String returns the string representation
  16669. func (s CreateVpcPeeringConnectionOutput) String() string {
  16670. return awsutil.Prettify(s)
  16671. }
  16672. // GoString returns the string representation
  16673. func (s CreateVpcPeeringConnectionOutput) GoString() string {
  16674. return s.String()
  16675. }
  16676. // Contains the parameters for CreateVpnConnection.
  16677. type CreateVpnConnectionInput struct {
  16678. _ struct{} `type:"structure"`
  16679. // The ID of the customer gateway.
  16680. //
  16681. // CustomerGatewayId is a required field
  16682. CustomerGatewayId *string `type:"string" required:"true"`
  16683. // Checks whether you have the required permissions for the action, without
  16684. // actually making the request, and provides an error response. If you have
  16685. // the required permissions, the error response is DryRunOperation. Otherwise,
  16686. // it is UnauthorizedOperation.
  16687. DryRun *bool `locationName:"dryRun" type:"boolean"`
  16688. // Indicates whether the VPN connection requires static routes. If you are creating
  16689. // a VPN connection for a device that does not support BGP, you must specify
  16690. // true.
  16691. //
  16692. // Default: false
  16693. Options *VpnConnectionOptionsSpecification `locationName:"options" type:"structure"`
  16694. // The type of VPN connection (ipsec.1).
  16695. //
  16696. // Type is a required field
  16697. Type *string `type:"string" required:"true"`
  16698. // The ID of the virtual private gateway.
  16699. //
  16700. // VpnGatewayId is a required field
  16701. VpnGatewayId *string `type:"string" required:"true"`
  16702. }
  16703. // String returns the string representation
  16704. func (s CreateVpnConnectionInput) String() string {
  16705. return awsutil.Prettify(s)
  16706. }
  16707. // GoString returns the string representation
  16708. func (s CreateVpnConnectionInput) GoString() string {
  16709. return s.String()
  16710. }
  16711. // Validate inspects the fields of the type to determine if they are valid.
  16712. func (s *CreateVpnConnectionInput) Validate() error {
  16713. invalidParams := request.ErrInvalidParams{Context: "CreateVpnConnectionInput"}
  16714. if s.CustomerGatewayId == nil {
  16715. invalidParams.Add(request.NewErrParamRequired("CustomerGatewayId"))
  16716. }
  16717. if s.Type == nil {
  16718. invalidParams.Add(request.NewErrParamRequired("Type"))
  16719. }
  16720. if s.VpnGatewayId == nil {
  16721. invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
  16722. }
  16723. if invalidParams.Len() > 0 {
  16724. return invalidParams
  16725. }
  16726. return nil
  16727. }
  16728. // Contains the output of CreateVpnConnection.
  16729. type CreateVpnConnectionOutput struct {
  16730. _ struct{} `type:"structure"`
  16731. // Information about the VPN connection.
  16732. VpnConnection *VpnConnection `locationName:"vpnConnection" type:"structure"`
  16733. }
  16734. // String returns the string representation
  16735. func (s CreateVpnConnectionOutput) String() string {
  16736. return awsutil.Prettify(s)
  16737. }
  16738. // GoString returns the string representation
  16739. func (s CreateVpnConnectionOutput) GoString() string {
  16740. return s.String()
  16741. }
  16742. // Contains the parameters for CreateVpnConnectionRoute.
  16743. type CreateVpnConnectionRouteInput struct {
  16744. _ struct{} `type:"structure"`
  16745. // The CIDR block associated with the local subnet of the customer network.
  16746. //
  16747. // DestinationCidrBlock is a required field
  16748. DestinationCidrBlock *string `type:"string" required:"true"`
  16749. // The ID of the VPN connection.
  16750. //
  16751. // VpnConnectionId is a required field
  16752. VpnConnectionId *string `type:"string" required:"true"`
  16753. }
  16754. // String returns the string representation
  16755. func (s CreateVpnConnectionRouteInput) String() string {
  16756. return awsutil.Prettify(s)
  16757. }
  16758. // GoString returns the string representation
  16759. func (s CreateVpnConnectionRouteInput) GoString() string {
  16760. return s.String()
  16761. }
  16762. // Validate inspects the fields of the type to determine if they are valid.
  16763. func (s *CreateVpnConnectionRouteInput) Validate() error {
  16764. invalidParams := request.ErrInvalidParams{Context: "CreateVpnConnectionRouteInput"}
  16765. if s.DestinationCidrBlock == nil {
  16766. invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
  16767. }
  16768. if s.VpnConnectionId == nil {
  16769. invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
  16770. }
  16771. if invalidParams.Len() > 0 {
  16772. return invalidParams
  16773. }
  16774. return nil
  16775. }
  16776. type CreateVpnConnectionRouteOutput struct {
  16777. _ struct{} `type:"structure"`
  16778. }
  16779. // String returns the string representation
  16780. func (s CreateVpnConnectionRouteOutput) String() string {
  16781. return awsutil.Prettify(s)
  16782. }
  16783. // GoString returns the string representation
  16784. func (s CreateVpnConnectionRouteOutput) GoString() string {
  16785. return s.String()
  16786. }
  16787. // Contains the parameters for CreateVpnGateway.
  16788. type CreateVpnGatewayInput struct {
  16789. _ struct{} `type:"structure"`
  16790. // The Availability Zone for the virtual private gateway.
  16791. AvailabilityZone *string `type:"string"`
  16792. // Checks whether you have the required permissions for the action, without
  16793. // actually making the request, and provides an error response. If you have
  16794. // the required permissions, the error response is DryRunOperation. Otherwise,
  16795. // it is UnauthorizedOperation.
  16796. DryRun *bool `locationName:"dryRun" type:"boolean"`
  16797. // The type of VPN connection this virtual private gateway supports.
  16798. //
  16799. // Type is a required field
  16800. Type *string `type:"string" required:"true" enum:"GatewayType"`
  16801. }
  16802. // String returns the string representation
  16803. func (s CreateVpnGatewayInput) String() string {
  16804. return awsutil.Prettify(s)
  16805. }
  16806. // GoString returns the string representation
  16807. func (s CreateVpnGatewayInput) GoString() string {
  16808. return s.String()
  16809. }
  16810. // Validate inspects the fields of the type to determine if they are valid.
  16811. func (s *CreateVpnGatewayInput) Validate() error {
  16812. invalidParams := request.ErrInvalidParams{Context: "CreateVpnGatewayInput"}
  16813. if s.Type == nil {
  16814. invalidParams.Add(request.NewErrParamRequired("Type"))
  16815. }
  16816. if invalidParams.Len() > 0 {
  16817. return invalidParams
  16818. }
  16819. return nil
  16820. }
  16821. // Contains the output of CreateVpnGateway.
  16822. type CreateVpnGatewayOutput struct {
  16823. _ struct{} `type:"structure"`
  16824. // Information about the virtual private gateway.
  16825. VpnGateway *VpnGateway `locationName:"vpnGateway" type:"structure"`
  16826. }
  16827. // String returns the string representation
  16828. func (s CreateVpnGatewayOutput) String() string {
  16829. return awsutil.Prettify(s)
  16830. }
  16831. // GoString returns the string representation
  16832. func (s CreateVpnGatewayOutput) GoString() string {
  16833. return s.String()
  16834. }
  16835. // Describes a customer gateway.
  16836. type CustomerGateway struct {
  16837. _ struct{} `type:"structure"`
  16838. // The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number
  16839. // (ASN).
  16840. BgpAsn *string `locationName:"bgpAsn" type:"string"`
  16841. // The ID of the customer gateway.
  16842. CustomerGatewayId *string `locationName:"customerGatewayId" type:"string"`
  16843. // The Internet-routable IP address of the customer gateway's outside interface.
  16844. IpAddress *string `locationName:"ipAddress" type:"string"`
  16845. // The current state of the customer gateway (pending | available | deleting
  16846. // | deleted).
  16847. State *string `locationName:"state" type:"string"`
  16848. // Any tags assigned to the customer gateway.
  16849. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  16850. // The type of VPN connection the customer gateway supports (ipsec.1).
  16851. Type *string `locationName:"type" type:"string"`
  16852. }
  16853. // String returns the string representation
  16854. func (s CustomerGateway) String() string {
  16855. return awsutil.Prettify(s)
  16856. }
  16857. // GoString returns the string representation
  16858. func (s CustomerGateway) GoString() string {
  16859. return s.String()
  16860. }
  16861. // Contains the parameters for DeleteCustomerGateway.
  16862. type DeleteCustomerGatewayInput struct {
  16863. _ struct{} `type:"structure"`
  16864. // The ID of the customer gateway.
  16865. //
  16866. // CustomerGatewayId is a required field
  16867. CustomerGatewayId *string `type:"string" required:"true"`
  16868. // Checks whether you have the required permissions for the action, without
  16869. // actually making the request, and provides an error response. If you have
  16870. // the required permissions, the error response is DryRunOperation. Otherwise,
  16871. // it is UnauthorizedOperation.
  16872. DryRun *bool `locationName:"dryRun" type:"boolean"`
  16873. }
  16874. // String returns the string representation
  16875. func (s DeleteCustomerGatewayInput) String() string {
  16876. return awsutil.Prettify(s)
  16877. }
  16878. // GoString returns the string representation
  16879. func (s DeleteCustomerGatewayInput) GoString() string {
  16880. return s.String()
  16881. }
  16882. // Validate inspects the fields of the type to determine if they are valid.
  16883. func (s *DeleteCustomerGatewayInput) Validate() error {
  16884. invalidParams := request.ErrInvalidParams{Context: "DeleteCustomerGatewayInput"}
  16885. if s.CustomerGatewayId == nil {
  16886. invalidParams.Add(request.NewErrParamRequired("CustomerGatewayId"))
  16887. }
  16888. if invalidParams.Len() > 0 {
  16889. return invalidParams
  16890. }
  16891. return nil
  16892. }
  16893. type DeleteCustomerGatewayOutput struct {
  16894. _ struct{} `type:"structure"`
  16895. }
  16896. // String returns the string representation
  16897. func (s DeleteCustomerGatewayOutput) String() string {
  16898. return awsutil.Prettify(s)
  16899. }
  16900. // GoString returns the string representation
  16901. func (s DeleteCustomerGatewayOutput) GoString() string {
  16902. return s.String()
  16903. }
  16904. // Contains the parameters for DeleteDhcpOptions.
  16905. type DeleteDhcpOptionsInput struct {
  16906. _ struct{} `type:"structure"`
  16907. // The ID of the DHCP options set.
  16908. //
  16909. // DhcpOptionsId is a required field
  16910. DhcpOptionsId *string `type:"string" required:"true"`
  16911. // Checks whether you have the required permissions for the action, without
  16912. // actually making the request, and provides an error response. If you have
  16913. // the required permissions, the error response is DryRunOperation. Otherwise,
  16914. // it is UnauthorizedOperation.
  16915. DryRun *bool `locationName:"dryRun" type:"boolean"`
  16916. }
  16917. // String returns the string representation
  16918. func (s DeleteDhcpOptionsInput) String() string {
  16919. return awsutil.Prettify(s)
  16920. }
  16921. // GoString returns the string representation
  16922. func (s DeleteDhcpOptionsInput) GoString() string {
  16923. return s.String()
  16924. }
  16925. // Validate inspects the fields of the type to determine if they are valid.
  16926. func (s *DeleteDhcpOptionsInput) Validate() error {
  16927. invalidParams := request.ErrInvalidParams{Context: "DeleteDhcpOptionsInput"}
  16928. if s.DhcpOptionsId == nil {
  16929. invalidParams.Add(request.NewErrParamRequired("DhcpOptionsId"))
  16930. }
  16931. if invalidParams.Len() > 0 {
  16932. return invalidParams
  16933. }
  16934. return nil
  16935. }
  16936. type DeleteDhcpOptionsOutput struct {
  16937. _ struct{} `type:"structure"`
  16938. }
  16939. // String returns the string representation
  16940. func (s DeleteDhcpOptionsOutput) String() string {
  16941. return awsutil.Prettify(s)
  16942. }
  16943. // GoString returns the string representation
  16944. func (s DeleteDhcpOptionsOutput) GoString() string {
  16945. return s.String()
  16946. }
  16947. // Contains the parameters for DeleteFlowLogs.
  16948. type DeleteFlowLogsInput struct {
  16949. _ struct{} `type:"structure"`
  16950. // One or more flow log IDs.
  16951. //
  16952. // FlowLogIds is a required field
  16953. FlowLogIds []*string `locationName:"FlowLogId" locationNameList:"item" type:"list" required:"true"`
  16954. }
  16955. // String returns the string representation
  16956. func (s DeleteFlowLogsInput) String() string {
  16957. return awsutil.Prettify(s)
  16958. }
  16959. // GoString returns the string representation
  16960. func (s DeleteFlowLogsInput) GoString() string {
  16961. return s.String()
  16962. }
  16963. // Validate inspects the fields of the type to determine if they are valid.
  16964. func (s *DeleteFlowLogsInput) Validate() error {
  16965. invalidParams := request.ErrInvalidParams{Context: "DeleteFlowLogsInput"}
  16966. if s.FlowLogIds == nil {
  16967. invalidParams.Add(request.NewErrParamRequired("FlowLogIds"))
  16968. }
  16969. if invalidParams.Len() > 0 {
  16970. return invalidParams
  16971. }
  16972. return nil
  16973. }
  16974. // Contains the output of DeleteFlowLogs.
  16975. type DeleteFlowLogsOutput struct {
  16976. _ struct{} `type:"structure"`
  16977. // Information about the flow logs that could not be deleted successfully.
  16978. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  16979. }
  16980. // String returns the string representation
  16981. func (s DeleteFlowLogsOutput) String() string {
  16982. return awsutil.Prettify(s)
  16983. }
  16984. // GoString returns the string representation
  16985. func (s DeleteFlowLogsOutput) GoString() string {
  16986. return s.String()
  16987. }
  16988. // Contains the parameters for DeleteInternetGateway.
  16989. type DeleteInternetGatewayInput struct {
  16990. _ struct{} `type:"structure"`
  16991. // Checks whether you have the required permissions for the action, without
  16992. // actually making the request, and provides an error response. If you have
  16993. // the required permissions, the error response is DryRunOperation. Otherwise,
  16994. // it is UnauthorizedOperation.
  16995. DryRun *bool `locationName:"dryRun" type:"boolean"`
  16996. // The ID of the Internet gateway.
  16997. //
  16998. // InternetGatewayId is a required field
  16999. InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
  17000. }
  17001. // String returns the string representation
  17002. func (s DeleteInternetGatewayInput) String() string {
  17003. return awsutil.Prettify(s)
  17004. }
  17005. // GoString returns the string representation
  17006. func (s DeleteInternetGatewayInput) GoString() string {
  17007. return s.String()
  17008. }
  17009. // Validate inspects the fields of the type to determine if they are valid.
  17010. func (s *DeleteInternetGatewayInput) Validate() error {
  17011. invalidParams := request.ErrInvalidParams{Context: "DeleteInternetGatewayInput"}
  17012. if s.InternetGatewayId == nil {
  17013. invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
  17014. }
  17015. if invalidParams.Len() > 0 {
  17016. return invalidParams
  17017. }
  17018. return nil
  17019. }
  17020. type DeleteInternetGatewayOutput struct {
  17021. _ struct{} `type:"structure"`
  17022. }
  17023. // String returns the string representation
  17024. func (s DeleteInternetGatewayOutput) String() string {
  17025. return awsutil.Prettify(s)
  17026. }
  17027. // GoString returns the string representation
  17028. func (s DeleteInternetGatewayOutput) GoString() string {
  17029. return s.String()
  17030. }
  17031. // Contains the parameters for DeleteKeyPair.
  17032. type DeleteKeyPairInput struct {
  17033. _ struct{} `type:"structure"`
  17034. // Checks whether you have the required permissions for the action, without
  17035. // actually making the request, and provides an error response. If you have
  17036. // the required permissions, the error response is DryRunOperation. Otherwise,
  17037. // it is UnauthorizedOperation.
  17038. DryRun *bool `locationName:"dryRun" type:"boolean"`
  17039. // The name of the key pair.
  17040. //
  17041. // KeyName is a required field
  17042. KeyName *string `type:"string" required:"true"`
  17043. }
  17044. // String returns the string representation
  17045. func (s DeleteKeyPairInput) String() string {
  17046. return awsutil.Prettify(s)
  17047. }
  17048. // GoString returns the string representation
  17049. func (s DeleteKeyPairInput) GoString() string {
  17050. return s.String()
  17051. }
  17052. // Validate inspects the fields of the type to determine if they are valid.
  17053. func (s *DeleteKeyPairInput) Validate() error {
  17054. invalidParams := request.ErrInvalidParams{Context: "DeleteKeyPairInput"}
  17055. if s.KeyName == nil {
  17056. invalidParams.Add(request.NewErrParamRequired("KeyName"))
  17057. }
  17058. if invalidParams.Len() > 0 {
  17059. return invalidParams
  17060. }
  17061. return nil
  17062. }
  17063. type DeleteKeyPairOutput struct {
  17064. _ struct{} `type:"structure"`
  17065. }
  17066. // String returns the string representation
  17067. func (s DeleteKeyPairOutput) String() string {
  17068. return awsutil.Prettify(s)
  17069. }
  17070. // GoString returns the string representation
  17071. func (s DeleteKeyPairOutput) GoString() string {
  17072. return s.String()
  17073. }
  17074. // Contains the parameters for DeleteNatGateway.
  17075. type DeleteNatGatewayInput struct {
  17076. _ struct{} `type:"structure"`
  17077. // The ID of the NAT gateway.
  17078. //
  17079. // NatGatewayId is a required field
  17080. NatGatewayId *string `type:"string" required:"true"`
  17081. }
  17082. // String returns the string representation
  17083. func (s DeleteNatGatewayInput) String() string {
  17084. return awsutil.Prettify(s)
  17085. }
  17086. // GoString returns the string representation
  17087. func (s DeleteNatGatewayInput) GoString() string {
  17088. return s.String()
  17089. }
  17090. // Validate inspects the fields of the type to determine if they are valid.
  17091. func (s *DeleteNatGatewayInput) Validate() error {
  17092. invalidParams := request.ErrInvalidParams{Context: "DeleteNatGatewayInput"}
  17093. if s.NatGatewayId == nil {
  17094. invalidParams.Add(request.NewErrParamRequired("NatGatewayId"))
  17095. }
  17096. if invalidParams.Len() > 0 {
  17097. return invalidParams
  17098. }
  17099. return nil
  17100. }
  17101. // Contains the output of DeleteNatGateway.
  17102. type DeleteNatGatewayOutput struct {
  17103. _ struct{} `type:"structure"`
  17104. // The ID of the NAT gateway.
  17105. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  17106. }
  17107. // String returns the string representation
  17108. func (s DeleteNatGatewayOutput) String() string {
  17109. return awsutil.Prettify(s)
  17110. }
  17111. // GoString returns the string representation
  17112. func (s DeleteNatGatewayOutput) GoString() string {
  17113. return s.String()
  17114. }
  17115. // Contains the parameters for DeleteNetworkAclEntry.
  17116. type DeleteNetworkAclEntryInput struct {
  17117. _ struct{} `type:"structure"`
  17118. // Checks whether you have the required permissions for the action, without
  17119. // actually making the request, and provides an error response. If you have
  17120. // the required permissions, the error response is DryRunOperation. Otherwise,
  17121. // it is UnauthorizedOperation.
  17122. DryRun *bool `locationName:"dryRun" type:"boolean"`
  17123. // Indicates whether the rule is an egress rule.
  17124. //
  17125. // Egress is a required field
  17126. Egress *bool `locationName:"egress" type:"boolean" required:"true"`
  17127. // The ID of the network ACL.
  17128. //
  17129. // NetworkAclId is a required field
  17130. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  17131. // The rule number of the entry to delete.
  17132. //
  17133. // RuleNumber is a required field
  17134. RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
  17135. }
  17136. // String returns the string representation
  17137. func (s DeleteNetworkAclEntryInput) String() string {
  17138. return awsutil.Prettify(s)
  17139. }
  17140. // GoString returns the string representation
  17141. func (s DeleteNetworkAclEntryInput) GoString() string {
  17142. return s.String()
  17143. }
  17144. // Validate inspects the fields of the type to determine if they are valid.
  17145. func (s *DeleteNetworkAclEntryInput) Validate() error {
  17146. invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkAclEntryInput"}
  17147. if s.Egress == nil {
  17148. invalidParams.Add(request.NewErrParamRequired("Egress"))
  17149. }
  17150. if s.NetworkAclId == nil {
  17151. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  17152. }
  17153. if s.RuleNumber == nil {
  17154. invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
  17155. }
  17156. if invalidParams.Len() > 0 {
  17157. return invalidParams
  17158. }
  17159. return nil
  17160. }
  17161. type DeleteNetworkAclEntryOutput struct {
  17162. _ struct{} `type:"structure"`
  17163. }
  17164. // String returns the string representation
  17165. func (s DeleteNetworkAclEntryOutput) String() string {
  17166. return awsutil.Prettify(s)
  17167. }
  17168. // GoString returns the string representation
  17169. func (s DeleteNetworkAclEntryOutput) GoString() string {
  17170. return s.String()
  17171. }
  17172. // Contains the parameters for DeleteNetworkAcl.
  17173. type DeleteNetworkAclInput struct {
  17174. _ struct{} `type:"structure"`
  17175. // Checks whether you have the required permissions for the action, without
  17176. // actually making the request, and provides an error response. If you have
  17177. // the required permissions, the error response is DryRunOperation. Otherwise,
  17178. // it is UnauthorizedOperation.
  17179. DryRun *bool `locationName:"dryRun" type:"boolean"`
  17180. // The ID of the network ACL.
  17181. //
  17182. // NetworkAclId is a required field
  17183. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  17184. }
  17185. // String returns the string representation
  17186. func (s DeleteNetworkAclInput) String() string {
  17187. return awsutil.Prettify(s)
  17188. }
  17189. // GoString returns the string representation
  17190. func (s DeleteNetworkAclInput) GoString() string {
  17191. return s.String()
  17192. }
  17193. // Validate inspects the fields of the type to determine if they are valid.
  17194. func (s *DeleteNetworkAclInput) Validate() error {
  17195. invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkAclInput"}
  17196. if s.NetworkAclId == nil {
  17197. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  17198. }
  17199. if invalidParams.Len() > 0 {
  17200. return invalidParams
  17201. }
  17202. return nil
  17203. }
  17204. type DeleteNetworkAclOutput struct {
  17205. _ struct{} `type:"structure"`
  17206. }
  17207. // String returns the string representation
  17208. func (s DeleteNetworkAclOutput) String() string {
  17209. return awsutil.Prettify(s)
  17210. }
  17211. // GoString returns the string representation
  17212. func (s DeleteNetworkAclOutput) GoString() string {
  17213. return s.String()
  17214. }
  17215. // Contains the parameters for DeleteNetworkInterface.
  17216. type DeleteNetworkInterfaceInput struct {
  17217. _ struct{} `type:"structure"`
  17218. // Checks whether you have the required permissions for the action, without
  17219. // actually making the request, and provides an error response. If you have
  17220. // the required permissions, the error response is DryRunOperation. Otherwise,
  17221. // it is UnauthorizedOperation.
  17222. DryRun *bool `locationName:"dryRun" type:"boolean"`
  17223. // The ID of the network interface.
  17224. //
  17225. // NetworkInterfaceId is a required field
  17226. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  17227. }
  17228. // String returns the string representation
  17229. func (s DeleteNetworkInterfaceInput) String() string {
  17230. return awsutil.Prettify(s)
  17231. }
  17232. // GoString returns the string representation
  17233. func (s DeleteNetworkInterfaceInput) GoString() string {
  17234. return s.String()
  17235. }
  17236. // Validate inspects the fields of the type to determine if they are valid.
  17237. func (s *DeleteNetworkInterfaceInput) Validate() error {
  17238. invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkInterfaceInput"}
  17239. if s.NetworkInterfaceId == nil {
  17240. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  17241. }
  17242. if invalidParams.Len() > 0 {
  17243. return invalidParams
  17244. }
  17245. return nil
  17246. }
  17247. type DeleteNetworkInterfaceOutput struct {
  17248. _ struct{} `type:"structure"`
  17249. }
  17250. // String returns the string representation
  17251. func (s DeleteNetworkInterfaceOutput) String() string {
  17252. return awsutil.Prettify(s)
  17253. }
  17254. // GoString returns the string representation
  17255. func (s DeleteNetworkInterfaceOutput) GoString() string {
  17256. return s.String()
  17257. }
  17258. // Contains the parameters for DeletePlacementGroup.
  17259. type DeletePlacementGroupInput struct {
  17260. _ struct{} `type:"structure"`
  17261. // Checks whether you have the required permissions for the action, without
  17262. // actually making the request, and provides an error response. If you have
  17263. // the required permissions, the error response is DryRunOperation. Otherwise,
  17264. // it is UnauthorizedOperation.
  17265. DryRun *bool `locationName:"dryRun" type:"boolean"`
  17266. // The name of the placement group.
  17267. //
  17268. // GroupName is a required field
  17269. GroupName *string `locationName:"groupName" type:"string" required:"true"`
  17270. }
  17271. // String returns the string representation
  17272. func (s DeletePlacementGroupInput) String() string {
  17273. return awsutil.Prettify(s)
  17274. }
  17275. // GoString returns the string representation
  17276. func (s DeletePlacementGroupInput) GoString() string {
  17277. return s.String()
  17278. }
  17279. // Validate inspects the fields of the type to determine if they are valid.
  17280. func (s *DeletePlacementGroupInput) Validate() error {
  17281. invalidParams := request.ErrInvalidParams{Context: "DeletePlacementGroupInput"}
  17282. if s.GroupName == nil {
  17283. invalidParams.Add(request.NewErrParamRequired("GroupName"))
  17284. }
  17285. if invalidParams.Len() > 0 {
  17286. return invalidParams
  17287. }
  17288. return nil
  17289. }
  17290. type DeletePlacementGroupOutput struct {
  17291. _ struct{} `type:"structure"`
  17292. }
  17293. // String returns the string representation
  17294. func (s DeletePlacementGroupOutput) String() string {
  17295. return awsutil.Prettify(s)
  17296. }
  17297. // GoString returns the string representation
  17298. func (s DeletePlacementGroupOutput) GoString() string {
  17299. return s.String()
  17300. }
  17301. // Contains the parameters for DeleteRoute.
  17302. type DeleteRouteInput struct {
  17303. _ struct{} `type:"structure"`
  17304. // The CIDR range for the route. The value you specify must match the CIDR for
  17305. // the route exactly.
  17306. //
  17307. // DestinationCidrBlock is a required field
  17308. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string" required:"true"`
  17309. // Checks whether you have the required permissions for the action, without
  17310. // actually making the request, and provides an error response. If you have
  17311. // the required permissions, the error response is DryRunOperation. Otherwise,
  17312. // it is UnauthorizedOperation.
  17313. DryRun *bool `locationName:"dryRun" type:"boolean"`
  17314. // The ID of the route table.
  17315. //
  17316. // RouteTableId is a required field
  17317. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  17318. }
  17319. // String returns the string representation
  17320. func (s DeleteRouteInput) String() string {
  17321. return awsutil.Prettify(s)
  17322. }
  17323. // GoString returns the string representation
  17324. func (s DeleteRouteInput) GoString() string {
  17325. return s.String()
  17326. }
  17327. // Validate inspects the fields of the type to determine if they are valid.
  17328. func (s *DeleteRouteInput) Validate() error {
  17329. invalidParams := request.ErrInvalidParams{Context: "DeleteRouteInput"}
  17330. if s.DestinationCidrBlock == nil {
  17331. invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
  17332. }
  17333. if s.RouteTableId == nil {
  17334. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  17335. }
  17336. if invalidParams.Len() > 0 {
  17337. return invalidParams
  17338. }
  17339. return nil
  17340. }
  17341. type DeleteRouteOutput struct {
  17342. _ struct{} `type:"structure"`
  17343. }
  17344. // String returns the string representation
  17345. func (s DeleteRouteOutput) String() string {
  17346. return awsutil.Prettify(s)
  17347. }
  17348. // GoString returns the string representation
  17349. func (s DeleteRouteOutput) GoString() string {
  17350. return s.String()
  17351. }
  17352. // Contains the parameters for DeleteRouteTable.
  17353. type DeleteRouteTableInput struct {
  17354. _ struct{} `type:"structure"`
  17355. // Checks whether you have the required permissions for the action, without
  17356. // actually making the request, and provides an error response. If you have
  17357. // the required permissions, the error response is DryRunOperation. Otherwise,
  17358. // it is UnauthorizedOperation.
  17359. DryRun *bool `locationName:"dryRun" type:"boolean"`
  17360. // The ID of the route table.
  17361. //
  17362. // RouteTableId is a required field
  17363. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  17364. }
  17365. // String returns the string representation
  17366. func (s DeleteRouteTableInput) String() string {
  17367. return awsutil.Prettify(s)
  17368. }
  17369. // GoString returns the string representation
  17370. func (s DeleteRouteTableInput) GoString() string {
  17371. return s.String()
  17372. }
  17373. // Validate inspects the fields of the type to determine if they are valid.
  17374. func (s *DeleteRouteTableInput) Validate() error {
  17375. invalidParams := request.ErrInvalidParams{Context: "DeleteRouteTableInput"}
  17376. if s.RouteTableId == nil {
  17377. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  17378. }
  17379. if invalidParams.Len() > 0 {
  17380. return invalidParams
  17381. }
  17382. return nil
  17383. }
  17384. type DeleteRouteTableOutput struct {
  17385. _ struct{} `type:"structure"`
  17386. }
  17387. // String returns the string representation
  17388. func (s DeleteRouteTableOutput) String() string {
  17389. return awsutil.Prettify(s)
  17390. }
  17391. // GoString returns the string representation
  17392. func (s DeleteRouteTableOutput) GoString() string {
  17393. return s.String()
  17394. }
  17395. // Contains the parameters for DeleteSecurityGroup.
  17396. type DeleteSecurityGroupInput struct {
  17397. _ struct{} `type:"structure"`
  17398. // Checks whether you have the required permissions for the action, without
  17399. // actually making the request, and provides an error response. If you have
  17400. // the required permissions, the error response is DryRunOperation. Otherwise,
  17401. // it is UnauthorizedOperation.
  17402. DryRun *bool `locationName:"dryRun" type:"boolean"`
  17403. // The ID of the security group. Required for a nondefault VPC.
  17404. GroupId *string `type:"string"`
  17405. // [EC2-Classic, default VPC] The name of the security group. You can specify
  17406. // either the security group name or the security group ID.
  17407. GroupName *string `type:"string"`
  17408. }
  17409. // String returns the string representation
  17410. func (s DeleteSecurityGroupInput) String() string {
  17411. return awsutil.Prettify(s)
  17412. }
  17413. // GoString returns the string representation
  17414. func (s DeleteSecurityGroupInput) GoString() string {
  17415. return s.String()
  17416. }
  17417. type DeleteSecurityGroupOutput struct {
  17418. _ struct{} `type:"structure"`
  17419. }
  17420. // String returns the string representation
  17421. func (s DeleteSecurityGroupOutput) String() string {
  17422. return awsutil.Prettify(s)
  17423. }
  17424. // GoString returns the string representation
  17425. func (s DeleteSecurityGroupOutput) GoString() string {
  17426. return s.String()
  17427. }
  17428. // Contains the parameters for DeleteSnapshot.
  17429. type DeleteSnapshotInput struct {
  17430. _ struct{} `type:"structure"`
  17431. // Checks whether you have the required permissions for the action, without
  17432. // actually making the request, and provides an error response. If you have
  17433. // the required permissions, the error response is DryRunOperation. Otherwise,
  17434. // it is UnauthorizedOperation.
  17435. DryRun *bool `locationName:"dryRun" type:"boolean"`
  17436. // The ID of the EBS snapshot.
  17437. //
  17438. // SnapshotId is a required field
  17439. SnapshotId *string `type:"string" required:"true"`
  17440. }
  17441. // String returns the string representation
  17442. func (s DeleteSnapshotInput) String() string {
  17443. return awsutil.Prettify(s)
  17444. }
  17445. // GoString returns the string representation
  17446. func (s DeleteSnapshotInput) GoString() string {
  17447. return s.String()
  17448. }
  17449. // Validate inspects the fields of the type to determine if they are valid.
  17450. func (s *DeleteSnapshotInput) Validate() error {
  17451. invalidParams := request.ErrInvalidParams{Context: "DeleteSnapshotInput"}
  17452. if s.SnapshotId == nil {
  17453. invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
  17454. }
  17455. if invalidParams.Len() > 0 {
  17456. return invalidParams
  17457. }
  17458. return nil
  17459. }
  17460. type DeleteSnapshotOutput struct {
  17461. _ struct{} `type:"structure"`
  17462. }
  17463. // String returns the string representation
  17464. func (s DeleteSnapshotOutput) String() string {
  17465. return awsutil.Prettify(s)
  17466. }
  17467. // GoString returns the string representation
  17468. func (s DeleteSnapshotOutput) GoString() string {
  17469. return s.String()
  17470. }
  17471. // Contains the parameters for DeleteSpotDatafeedSubscription.
  17472. type DeleteSpotDatafeedSubscriptionInput struct {
  17473. _ struct{} `type:"structure"`
  17474. // Checks whether you have the required permissions for the action, without
  17475. // actually making the request, and provides an error response. If you have
  17476. // the required permissions, the error response is DryRunOperation. Otherwise,
  17477. // it is UnauthorizedOperation.
  17478. DryRun *bool `locationName:"dryRun" type:"boolean"`
  17479. }
  17480. // String returns the string representation
  17481. func (s DeleteSpotDatafeedSubscriptionInput) String() string {
  17482. return awsutil.Prettify(s)
  17483. }
  17484. // GoString returns the string representation
  17485. func (s DeleteSpotDatafeedSubscriptionInput) GoString() string {
  17486. return s.String()
  17487. }
  17488. type DeleteSpotDatafeedSubscriptionOutput struct {
  17489. _ struct{} `type:"structure"`
  17490. }
  17491. // String returns the string representation
  17492. func (s DeleteSpotDatafeedSubscriptionOutput) String() string {
  17493. return awsutil.Prettify(s)
  17494. }
  17495. // GoString returns the string representation
  17496. func (s DeleteSpotDatafeedSubscriptionOutput) GoString() string {
  17497. return s.String()
  17498. }
  17499. // Contains the parameters for DeleteSubnet.
  17500. type DeleteSubnetInput struct {
  17501. _ struct{} `type:"structure"`
  17502. // Checks whether you have the required permissions for the action, without
  17503. // actually making the request, and provides an error response. If you have
  17504. // the required permissions, the error response is DryRunOperation. Otherwise,
  17505. // it is UnauthorizedOperation.
  17506. DryRun *bool `locationName:"dryRun" type:"boolean"`
  17507. // The ID of the subnet.
  17508. //
  17509. // SubnetId is a required field
  17510. SubnetId *string `type:"string" required:"true"`
  17511. }
  17512. // String returns the string representation
  17513. func (s DeleteSubnetInput) String() string {
  17514. return awsutil.Prettify(s)
  17515. }
  17516. // GoString returns the string representation
  17517. func (s DeleteSubnetInput) GoString() string {
  17518. return s.String()
  17519. }
  17520. // Validate inspects the fields of the type to determine if they are valid.
  17521. func (s *DeleteSubnetInput) Validate() error {
  17522. invalidParams := request.ErrInvalidParams{Context: "DeleteSubnetInput"}
  17523. if s.SubnetId == nil {
  17524. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  17525. }
  17526. if invalidParams.Len() > 0 {
  17527. return invalidParams
  17528. }
  17529. return nil
  17530. }
  17531. type DeleteSubnetOutput struct {
  17532. _ struct{} `type:"structure"`
  17533. }
  17534. // String returns the string representation
  17535. func (s DeleteSubnetOutput) String() string {
  17536. return awsutil.Prettify(s)
  17537. }
  17538. // GoString returns the string representation
  17539. func (s DeleteSubnetOutput) GoString() string {
  17540. return s.String()
  17541. }
  17542. // Contains the parameters for DeleteTags.
  17543. type DeleteTagsInput struct {
  17544. _ struct{} `type:"structure"`
  17545. // Checks whether you have the required permissions for the action, without
  17546. // actually making the request, and provides an error response. If you have
  17547. // the required permissions, the error response is DryRunOperation. Otherwise,
  17548. // it is UnauthorizedOperation.
  17549. DryRun *bool `locationName:"dryRun" type:"boolean"`
  17550. // The ID of the resource. For example, ami-1a2b3c4d. You can specify more than
  17551. // one resource ID.
  17552. //
  17553. // Resources is a required field
  17554. Resources []*string `locationName:"resourceId" type:"list" required:"true"`
  17555. // One or more tags to delete. If you omit the value parameter, we delete the
  17556. // tag regardless of its value. If you specify this parameter with an empty
  17557. // string as the value, we delete the key only if its value is an empty string.
  17558. Tags []*Tag `locationName:"tag" locationNameList:"item" type:"list"`
  17559. }
  17560. // String returns the string representation
  17561. func (s DeleteTagsInput) String() string {
  17562. return awsutil.Prettify(s)
  17563. }
  17564. // GoString returns the string representation
  17565. func (s DeleteTagsInput) GoString() string {
  17566. return s.String()
  17567. }
  17568. // Validate inspects the fields of the type to determine if they are valid.
  17569. func (s *DeleteTagsInput) Validate() error {
  17570. invalidParams := request.ErrInvalidParams{Context: "DeleteTagsInput"}
  17571. if s.Resources == nil {
  17572. invalidParams.Add(request.NewErrParamRequired("Resources"))
  17573. }
  17574. if invalidParams.Len() > 0 {
  17575. return invalidParams
  17576. }
  17577. return nil
  17578. }
  17579. type DeleteTagsOutput struct {
  17580. _ struct{} `type:"structure"`
  17581. }
  17582. // String returns the string representation
  17583. func (s DeleteTagsOutput) String() string {
  17584. return awsutil.Prettify(s)
  17585. }
  17586. // GoString returns the string representation
  17587. func (s DeleteTagsOutput) GoString() string {
  17588. return s.String()
  17589. }
  17590. // Contains the parameters for DeleteVolume.
  17591. type DeleteVolumeInput struct {
  17592. _ struct{} `type:"structure"`
  17593. // Checks whether you have the required permissions for the action, without
  17594. // actually making the request, and provides an error response. If you have
  17595. // the required permissions, the error response is DryRunOperation. Otherwise,
  17596. // it is UnauthorizedOperation.
  17597. DryRun *bool `locationName:"dryRun" type:"boolean"`
  17598. // The ID of the volume.
  17599. //
  17600. // VolumeId is a required field
  17601. VolumeId *string `type:"string" required:"true"`
  17602. }
  17603. // String returns the string representation
  17604. func (s DeleteVolumeInput) String() string {
  17605. return awsutil.Prettify(s)
  17606. }
  17607. // GoString returns the string representation
  17608. func (s DeleteVolumeInput) GoString() string {
  17609. return s.String()
  17610. }
  17611. // Validate inspects the fields of the type to determine if they are valid.
  17612. func (s *DeleteVolumeInput) Validate() error {
  17613. invalidParams := request.ErrInvalidParams{Context: "DeleteVolumeInput"}
  17614. if s.VolumeId == nil {
  17615. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  17616. }
  17617. if invalidParams.Len() > 0 {
  17618. return invalidParams
  17619. }
  17620. return nil
  17621. }
  17622. type DeleteVolumeOutput struct {
  17623. _ struct{} `type:"structure"`
  17624. }
  17625. // String returns the string representation
  17626. func (s DeleteVolumeOutput) String() string {
  17627. return awsutil.Prettify(s)
  17628. }
  17629. // GoString returns the string representation
  17630. func (s DeleteVolumeOutput) GoString() string {
  17631. return s.String()
  17632. }
  17633. // Contains the parameters for DeleteVpcEndpoints.
  17634. type DeleteVpcEndpointsInput struct {
  17635. _ struct{} `type:"structure"`
  17636. // Checks whether you have the required permissions for the action, without
  17637. // actually making the request, and provides an error response. If you have
  17638. // the required permissions, the error response is DryRunOperation. Otherwise,
  17639. // it is UnauthorizedOperation.
  17640. DryRun *bool `type:"boolean"`
  17641. // One or more endpoint IDs.
  17642. //
  17643. // VpcEndpointIds is a required field
  17644. VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list" required:"true"`
  17645. }
  17646. // String returns the string representation
  17647. func (s DeleteVpcEndpointsInput) String() string {
  17648. return awsutil.Prettify(s)
  17649. }
  17650. // GoString returns the string representation
  17651. func (s DeleteVpcEndpointsInput) GoString() string {
  17652. return s.String()
  17653. }
  17654. // Validate inspects the fields of the type to determine if they are valid.
  17655. func (s *DeleteVpcEndpointsInput) Validate() error {
  17656. invalidParams := request.ErrInvalidParams{Context: "DeleteVpcEndpointsInput"}
  17657. if s.VpcEndpointIds == nil {
  17658. invalidParams.Add(request.NewErrParamRequired("VpcEndpointIds"))
  17659. }
  17660. if invalidParams.Len() > 0 {
  17661. return invalidParams
  17662. }
  17663. return nil
  17664. }
  17665. // Contains the output of DeleteVpcEndpoints.
  17666. type DeleteVpcEndpointsOutput struct {
  17667. _ struct{} `type:"structure"`
  17668. // Information about the endpoints that were not successfully deleted.
  17669. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  17670. }
  17671. // String returns the string representation
  17672. func (s DeleteVpcEndpointsOutput) String() string {
  17673. return awsutil.Prettify(s)
  17674. }
  17675. // GoString returns the string representation
  17676. func (s DeleteVpcEndpointsOutput) GoString() string {
  17677. return s.String()
  17678. }
  17679. // Contains the parameters for DeleteVpc.
  17680. type DeleteVpcInput struct {
  17681. _ struct{} `type:"structure"`
  17682. // Checks whether you have the required permissions for the action, without
  17683. // actually making the request, and provides an error response. If you have
  17684. // the required permissions, the error response is DryRunOperation. Otherwise,
  17685. // it is UnauthorizedOperation.
  17686. DryRun *bool `locationName:"dryRun" type:"boolean"`
  17687. // The ID of the VPC.
  17688. //
  17689. // VpcId is a required field
  17690. VpcId *string `type:"string" required:"true"`
  17691. }
  17692. // String returns the string representation
  17693. func (s DeleteVpcInput) String() string {
  17694. return awsutil.Prettify(s)
  17695. }
  17696. // GoString returns the string representation
  17697. func (s DeleteVpcInput) GoString() string {
  17698. return s.String()
  17699. }
  17700. // Validate inspects the fields of the type to determine if they are valid.
  17701. func (s *DeleteVpcInput) Validate() error {
  17702. invalidParams := request.ErrInvalidParams{Context: "DeleteVpcInput"}
  17703. if s.VpcId == nil {
  17704. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  17705. }
  17706. if invalidParams.Len() > 0 {
  17707. return invalidParams
  17708. }
  17709. return nil
  17710. }
  17711. type DeleteVpcOutput struct {
  17712. _ struct{} `type:"structure"`
  17713. }
  17714. // String returns the string representation
  17715. func (s DeleteVpcOutput) String() string {
  17716. return awsutil.Prettify(s)
  17717. }
  17718. // GoString returns the string representation
  17719. func (s DeleteVpcOutput) GoString() string {
  17720. return s.String()
  17721. }
  17722. // Contains the parameters for DeleteVpcPeeringConnection.
  17723. type DeleteVpcPeeringConnectionInput struct {
  17724. _ struct{} `type:"structure"`
  17725. // Checks whether you have the required permissions for the action, without
  17726. // actually making the request, and provides an error response. If you have
  17727. // the required permissions, the error response is DryRunOperation. Otherwise,
  17728. // it is UnauthorizedOperation.
  17729. DryRun *bool `locationName:"dryRun" type:"boolean"`
  17730. // The ID of the VPC peering connection.
  17731. //
  17732. // VpcPeeringConnectionId is a required field
  17733. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string" required:"true"`
  17734. }
  17735. // String returns the string representation
  17736. func (s DeleteVpcPeeringConnectionInput) String() string {
  17737. return awsutil.Prettify(s)
  17738. }
  17739. // GoString returns the string representation
  17740. func (s DeleteVpcPeeringConnectionInput) GoString() string {
  17741. return s.String()
  17742. }
  17743. // Validate inspects the fields of the type to determine if they are valid.
  17744. func (s *DeleteVpcPeeringConnectionInput) Validate() error {
  17745. invalidParams := request.ErrInvalidParams{Context: "DeleteVpcPeeringConnectionInput"}
  17746. if s.VpcPeeringConnectionId == nil {
  17747. invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
  17748. }
  17749. if invalidParams.Len() > 0 {
  17750. return invalidParams
  17751. }
  17752. return nil
  17753. }
  17754. // Contains the output of DeleteVpcPeeringConnection.
  17755. type DeleteVpcPeeringConnectionOutput struct {
  17756. _ struct{} `type:"structure"`
  17757. // Returns true if the request succeeds; otherwise, it returns an error.
  17758. Return *bool `locationName:"return" type:"boolean"`
  17759. }
  17760. // String returns the string representation
  17761. func (s DeleteVpcPeeringConnectionOutput) String() string {
  17762. return awsutil.Prettify(s)
  17763. }
  17764. // GoString returns the string representation
  17765. func (s DeleteVpcPeeringConnectionOutput) GoString() string {
  17766. return s.String()
  17767. }
  17768. // Contains the parameters for DeleteVpnConnection.
  17769. type DeleteVpnConnectionInput struct {
  17770. _ struct{} `type:"structure"`
  17771. // Checks whether you have the required permissions for the action, without
  17772. // actually making the request, and provides an error response. If you have
  17773. // the required permissions, the error response is DryRunOperation. Otherwise,
  17774. // it is UnauthorizedOperation.
  17775. DryRun *bool `locationName:"dryRun" type:"boolean"`
  17776. // The ID of the VPN connection.
  17777. //
  17778. // VpnConnectionId is a required field
  17779. VpnConnectionId *string `type:"string" required:"true"`
  17780. }
  17781. // String returns the string representation
  17782. func (s DeleteVpnConnectionInput) String() string {
  17783. return awsutil.Prettify(s)
  17784. }
  17785. // GoString returns the string representation
  17786. func (s DeleteVpnConnectionInput) GoString() string {
  17787. return s.String()
  17788. }
  17789. // Validate inspects the fields of the type to determine if they are valid.
  17790. func (s *DeleteVpnConnectionInput) Validate() error {
  17791. invalidParams := request.ErrInvalidParams{Context: "DeleteVpnConnectionInput"}
  17792. if s.VpnConnectionId == nil {
  17793. invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
  17794. }
  17795. if invalidParams.Len() > 0 {
  17796. return invalidParams
  17797. }
  17798. return nil
  17799. }
  17800. type DeleteVpnConnectionOutput struct {
  17801. _ struct{} `type:"structure"`
  17802. }
  17803. // String returns the string representation
  17804. func (s DeleteVpnConnectionOutput) String() string {
  17805. return awsutil.Prettify(s)
  17806. }
  17807. // GoString returns the string representation
  17808. func (s DeleteVpnConnectionOutput) GoString() string {
  17809. return s.String()
  17810. }
  17811. // Contains the parameters for DeleteVpnConnectionRoute.
  17812. type DeleteVpnConnectionRouteInput struct {
  17813. _ struct{} `type:"structure"`
  17814. // The CIDR block associated with the local subnet of the customer network.
  17815. //
  17816. // DestinationCidrBlock is a required field
  17817. DestinationCidrBlock *string `type:"string" required:"true"`
  17818. // The ID of the VPN connection.
  17819. //
  17820. // VpnConnectionId is a required field
  17821. VpnConnectionId *string `type:"string" required:"true"`
  17822. }
  17823. // String returns the string representation
  17824. func (s DeleteVpnConnectionRouteInput) String() string {
  17825. return awsutil.Prettify(s)
  17826. }
  17827. // GoString returns the string representation
  17828. func (s DeleteVpnConnectionRouteInput) GoString() string {
  17829. return s.String()
  17830. }
  17831. // Validate inspects the fields of the type to determine if they are valid.
  17832. func (s *DeleteVpnConnectionRouteInput) Validate() error {
  17833. invalidParams := request.ErrInvalidParams{Context: "DeleteVpnConnectionRouteInput"}
  17834. if s.DestinationCidrBlock == nil {
  17835. invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
  17836. }
  17837. if s.VpnConnectionId == nil {
  17838. invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
  17839. }
  17840. if invalidParams.Len() > 0 {
  17841. return invalidParams
  17842. }
  17843. return nil
  17844. }
  17845. type DeleteVpnConnectionRouteOutput struct {
  17846. _ struct{} `type:"structure"`
  17847. }
  17848. // String returns the string representation
  17849. func (s DeleteVpnConnectionRouteOutput) String() string {
  17850. return awsutil.Prettify(s)
  17851. }
  17852. // GoString returns the string representation
  17853. func (s DeleteVpnConnectionRouteOutput) GoString() string {
  17854. return s.String()
  17855. }
  17856. // Contains the parameters for DeleteVpnGateway.
  17857. type DeleteVpnGatewayInput struct {
  17858. _ struct{} `type:"structure"`
  17859. // Checks whether you have the required permissions for the action, without
  17860. // actually making the request, and provides an error response. If you have
  17861. // the required permissions, the error response is DryRunOperation. Otherwise,
  17862. // it is UnauthorizedOperation.
  17863. DryRun *bool `locationName:"dryRun" type:"boolean"`
  17864. // The ID of the virtual private gateway.
  17865. //
  17866. // VpnGatewayId is a required field
  17867. VpnGatewayId *string `type:"string" required:"true"`
  17868. }
  17869. // String returns the string representation
  17870. func (s DeleteVpnGatewayInput) String() string {
  17871. return awsutil.Prettify(s)
  17872. }
  17873. // GoString returns the string representation
  17874. func (s DeleteVpnGatewayInput) GoString() string {
  17875. return s.String()
  17876. }
  17877. // Validate inspects the fields of the type to determine if they are valid.
  17878. func (s *DeleteVpnGatewayInput) Validate() error {
  17879. invalidParams := request.ErrInvalidParams{Context: "DeleteVpnGatewayInput"}
  17880. if s.VpnGatewayId == nil {
  17881. invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
  17882. }
  17883. if invalidParams.Len() > 0 {
  17884. return invalidParams
  17885. }
  17886. return nil
  17887. }
  17888. type DeleteVpnGatewayOutput struct {
  17889. _ struct{} `type:"structure"`
  17890. }
  17891. // String returns the string representation
  17892. func (s DeleteVpnGatewayOutput) String() string {
  17893. return awsutil.Prettify(s)
  17894. }
  17895. // GoString returns the string representation
  17896. func (s DeleteVpnGatewayOutput) GoString() string {
  17897. return s.String()
  17898. }
  17899. // Contains the parameters for DeregisterImage.
  17900. type DeregisterImageInput struct {
  17901. _ struct{} `type:"structure"`
  17902. // Checks whether you have the required permissions for the action, without
  17903. // actually making the request, and provides an error response. If you have
  17904. // the required permissions, the error response is DryRunOperation. Otherwise,
  17905. // it is UnauthorizedOperation.
  17906. DryRun *bool `locationName:"dryRun" type:"boolean"`
  17907. // The ID of the AMI.
  17908. //
  17909. // ImageId is a required field
  17910. ImageId *string `type:"string" required:"true"`
  17911. }
  17912. // String returns the string representation
  17913. func (s DeregisterImageInput) String() string {
  17914. return awsutil.Prettify(s)
  17915. }
  17916. // GoString returns the string representation
  17917. func (s DeregisterImageInput) GoString() string {
  17918. return s.String()
  17919. }
  17920. // Validate inspects the fields of the type to determine if they are valid.
  17921. func (s *DeregisterImageInput) Validate() error {
  17922. invalidParams := request.ErrInvalidParams{Context: "DeregisterImageInput"}
  17923. if s.ImageId == nil {
  17924. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  17925. }
  17926. if invalidParams.Len() > 0 {
  17927. return invalidParams
  17928. }
  17929. return nil
  17930. }
  17931. type DeregisterImageOutput struct {
  17932. _ struct{} `type:"structure"`
  17933. }
  17934. // String returns the string representation
  17935. func (s DeregisterImageOutput) String() string {
  17936. return awsutil.Prettify(s)
  17937. }
  17938. // GoString returns the string representation
  17939. func (s DeregisterImageOutput) GoString() string {
  17940. return s.String()
  17941. }
  17942. // Contains the parameters for DescribeAccountAttributes.
  17943. type DescribeAccountAttributesInput struct {
  17944. _ struct{} `type:"structure"`
  17945. // One or more account attribute names.
  17946. AttributeNames []*string `locationName:"attributeName" locationNameList:"attributeName" type:"list"`
  17947. // Checks whether you have the required permissions for the action, without
  17948. // actually making the request, and provides an error response. If you have
  17949. // the required permissions, the error response is DryRunOperation. Otherwise,
  17950. // it is UnauthorizedOperation.
  17951. DryRun *bool `locationName:"dryRun" type:"boolean"`
  17952. }
  17953. // String returns the string representation
  17954. func (s DescribeAccountAttributesInput) String() string {
  17955. return awsutil.Prettify(s)
  17956. }
  17957. // GoString returns the string representation
  17958. func (s DescribeAccountAttributesInput) GoString() string {
  17959. return s.String()
  17960. }
  17961. // Contains the output of DescribeAccountAttributes.
  17962. type DescribeAccountAttributesOutput struct {
  17963. _ struct{} `type:"structure"`
  17964. // Information about one or more account attributes.
  17965. AccountAttributes []*AccountAttribute `locationName:"accountAttributeSet" locationNameList:"item" type:"list"`
  17966. }
  17967. // String returns the string representation
  17968. func (s DescribeAccountAttributesOutput) String() string {
  17969. return awsutil.Prettify(s)
  17970. }
  17971. // GoString returns the string representation
  17972. func (s DescribeAccountAttributesOutput) GoString() string {
  17973. return s.String()
  17974. }
  17975. // Contains the parameters for DescribeAddresses.
  17976. type DescribeAddressesInput struct {
  17977. _ struct{} `type:"structure"`
  17978. // [EC2-VPC] One or more allocation IDs.
  17979. //
  17980. // Default: Describes all your Elastic IP addresses.
  17981. AllocationIds []*string `locationName:"AllocationId" locationNameList:"AllocationId" type:"list"`
  17982. // Checks whether you have the required permissions for the action, without
  17983. // actually making the request, and provides an error response. If you have
  17984. // the required permissions, the error response is DryRunOperation. Otherwise,
  17985. // it is UnauthorizedOperation.
  17986. DryRun *bool `locationName:"dryRun" type:"boolean"`
  17987. // One or more filters. Filter names and values are case-sensitive.
  17988. //
  17989. // * allocation-id - [EC2-VPC] The allocation ID for the address.
  17990. //
  17991. // * association-id - [EC2-VPC] The association ID for the address.
  17992. //
  17993. // * domain - Indicates whether the address is for use in EC2-Classic (standard)
  17994. // or in a VPC (vpc).
  17995. //
  17996. // * instance-id - The ID of the instance the address is associated with,
  17997. // if any.
  17998. //
  17999. // * network-interface-id - [EC2-VPC] The ID of the network interface that
  18000. // the address is associated with, if any.
  18001. //
  18002. // * network-interface-owner-id - The AWS account ID of the owner.
  18003. //
  18004. // * private-ip-address - [EC2-VPC] The private IP address associated with
  18005. // the Elastic IP address.
  18006. //
  18007. // * public-ip - The Elastic IP address.
  18008. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  18009. // [EC2-Classic] One or more Elastic IP addresses.
  18010. //
  18011. // Default: Describes all your Elastic IP addresses.
  18012. PublicIps []*string `locationName:"PublicIp" locationNameList:"PublicIp" type:"list"`
  18013. }
  18014. // String returns the string representation
  18015. func (s DescribeAddressesInput) String() string {
  18016. return awsutil.Prettify(s)
  18017. }
  18018. // GoString returns the string representation
  18019. func (s DescribeAddressesInput) GoString() string {
  18020. return s.String()
  18021. }
  18022. // Contains the output of DescribeAddresses.
  18023. type DescribeAddressesOutput struct {
  18024. _ struct{} `type:"structure"`
  18025. // Information about one or more Elastic IP addresses.
  18026. Addresses []*Address `locationName:"addressesSet" locationNameList:"item" type:"list"`
  18027. }
  18028. // String returns the string representation
  18029. func (s DescribeAddressesOutput) String() string {
  18030. return awsutil.Prettify(s)
  18031. }
  18032. // GoString returns the string representation
  18033. func (s DescribeAddressesOutput) GoString() string {
  18034. return s.String()
  18035. }
  18036. // Contains the parameters for DescribeAvailabilityZones.
  18037. type DescribeAvailabilityZonesInput struct {
  18038. _ struct{} `type:"structure"`
  18039. // Checks whether you have the required permissions for the action, without
  18040. // actually making the request, and provides an error response. If you have
  18041. // the required permissions, the error response is DryRunOperation. Otherwise,
  18042. // it is UnauthorizedOperation.
  18043. DryRun *bool `locationName:"dryRun" type:"boolean"`
  18044. // One or more filters.
  18045. //
  18046. // * message - Information about the Availability Zone.
  18047. //
  18048. // * region-name - The name of the region for the Availability Zone (for
  18049. // example, us-east-1).
  18050. //
  18051. // * state - The state of the Availability Zone (available | information
  18052. // | impaired | unavailable).
  18053. //
  18054. // * zone-name - The name of the Availability Zone (for example, us-east-1a).
  18055. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  18056. // The names of one or more Availability Zones.
  18057. ZoneNames []*string `locationName:"ZoneName" locationNameList:"ZoneName" type:"list"`
  18058. }
  18059. // String returns the string representation
  18060. func (s DescribeAvailabilityZonesInput) String() string {
  18061. return awsutil.Prettify(s)
  18062. }
  18063. // GoString returns the string representation
  18064. func (s DescribeAvailabilityZonesInput) GoString() string {
  18065. return s.String()
  18066. }
  18067. // Contains the output of DescribeAvailabiltyZones.
  18068. type DescribeAvailabilityZonesOutput struct {
  18069. _ struct{} `type:"structure"`
  18070. // Information about one or more Availability Zones.
  18071. AvailabilityZones []*AvailabilityZone `locationName:"availabilityZoneInfo" locationNameList:"item" type:"list"`
  18072. }
  18073. // String returns the string representation
  18074. func (s DescribeAvailabilityZonesOutput) String() string {
  18075. return awsutil.Prettify(s)
  18076. }
  18077. // GoString returns the string representation
  18078. func (s DescribeAvailabilityZonesOutput) GoString() string {
  18079. return s.String()
  18080. }
  18081. // Contains the parameters for DescribeBundleTasks.
  18082. type DescribeBundleTasksInput struct {
  18083. _ struct{} `type:"structure"`
  18084. // One or more bundle task IDs.
  18085. //
  18086. // Default: Describes all your bundle tasks.
  18087. BundleIds []*string `locationName:"BundleId" locationNameList:"BundleId" type:"list"`
  18088. // Checks whether you have the required permissions for the action, without
  18089. // actually making the request, and provides an error response. If you have
  18090. // the required permissions, the error response is DryRunOperation. Otherwise,
  18091. // it is UnauthorizedOperation.
  18092. DryRun *bool `locationName:"dryRun" type:"boolean"`
  18093. // One or more filters.
  18094. //
  18095. // * bundle-id - The ID of the bundle task.
  18096. //
  18097. // * error-code - If the task failed, the error code returned.
  18098. //
  18099. // * error-message - If the task failed, the error message returned.
  18100. //
  18101. // * instance-id - The ID of the instance.
  18102. //
  18103. // * progress - The level of task completion, as a percentage (for example,
  18104. // 20%).
  18105. //
  18106. // * s3-bucket - The Amazon S3 bucket to store the AMI.
  18107. //
  18108. // * s3-prefix - The beginning of the AMI name.
  18109. //
  18110. // * start-time - The time the task started (for example, 2013-09-15T17:15:20.000Z).
  18111. //
  18112. // * state - The state of the task (pending | waiting-for-shutdown | bundling
  18113. // | storing | cancelling | complete | failed).
  18114. //
  18115. // * update-time - The time of the most recent update for the task.
  18116. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  18117. }
  18118. // String returns the string representation
  18119. func (s DescribeBundleTasksInput) String() string {
  18120. return awsutil.Prettify(s)
  18121. }
  18122. // GoString returns the string representation
  18123. func (s DescribeBundleTasksInput) GoString() string {
  18124. return s.String()
  18125. }
  18126. // Contains the output of DescribeBundleTasks.
  18127. type DescribeBundleTasksOutput struct {
  18128. _ struct{} `type:"structure"`
  18129. // Information about one or more bundle tasks.
  18130. BundleTasks []*BundleTask `locationName:"bundleInstanceTasksSet" locationNameList:"item" type:"list"`
  18131. }
  18132. // String returns the string representation
  18133. func (s DescribeBundleTasksOutput) String() string {
  18134. return awsutil.Prettify(s)
  18135. }
  18136. // GoString returns the string representation
  18137. func (s DescribeBundleTasksOutput) GoString() string {
  18138. return s.String()
  18139. }
  18140. // Contains the parameters for DescribeClassicLinkInstances.
  18141. type DescribeClassicLinkInstancesInput struct {
  18142. _ struct{} `type:"structure"`
  18143. // Checks whether you have the required permissions for the action, without
  18144. // actually making the request, and provides an error response. If you have
  18145. // the required permissions, the error response is DryRunOperation. Otherwise,
  18146. // it is UnauthorizedOperation.
  18147. DryRun *bool `locationName:"dryRun" type:"boolean"`
  18148. // One or more filters.
  18149. //
  18150. // * group-id - The ID of a VPC security group that's associated with the
  18151. // instance.
  18152. //
  18153. // * instance-id - The ID of the instance.
  18154. //
  18155. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  18156. //
  18157. // * tag-key - The key of a tag assigned to the resource. This filter is
  18158. // independent of the tag-value filter. For example, if you use both the
  18159. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  18160. // assigned both the tag key Purpose (regardless of what the tag's value
  18161. // is), and the tag value X (regardless of what the tag's key is). If you
  18162. // want to list only resources where Purpose is X, see the tag:key=value
  18163. // filter.
  18164. //
  18165. // * tag-value - The value of a tag assigned to the resource. This filter
  18166. // is independent of the tag-key filter.
  18167. //
  18168. // * vpc-id - The ID of the VPC that the instance is linked to.
  18169. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  18170. // One or more instance IDs. Must be instances linked to a VPC through ClassicLink.
  18171. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
  18172. // The maximum number of results to return for the request in a single page.
  18173. // The remaining results of the initial request can be seen by sending another
  18174. // request with the returned NextToken value. This value can be between 5 and
  18175. // 1000; if MaxResults is given a value larger than 1000, only 1000 results
  18176. // are returned. You cannot specify this parameter and the instance IDs parameter
  18177. // in the same request.
  18178. //
  18179. // Constraint: If the value is greater than 1000, we return only 1000 items.
  18180. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  18181. // The token to retrieve the next page of results.
  18182. NextToken *string `locationName:"nextToken" type:"string"`
  18183. }
  18184. // String returns the string representation
  18185. func (s DescribeClassicLinkInstancesInput) String() string {
  18186. return awsutil.Prettify(s)
  18187. }
  18188. // GoString returns the string representation
  18189. func (s DescribeClassicLinkInstancesInput) GoString() string {
  18190. return s.String()
  18191. }
  18192. // Contains the output of DescribeClassicLinkInstances.
  18193. type DescribeClassicLinkInstancesOutput struct {
  18194. _ struct{} `type:"structure"`
  18195. // Information about one or more linked EC2-Classic instances.
  18196. Instances []*ClassicLinkInstance `locationName:"instancesSet" locationNameList:"item" type:"list"`
  18197. // The token to use to retrieve the next page of results. This value is null
  18198. // when there are no more results to return.
  18199. NextToken *string `locationName:"nextToken" type:"string"`
  18200. }
  18201. // String returns the string representation
  18202. func (s DescribeClassicLinkInstancesOutput) String() string {
  18203. return awsutil.Prettify(s)
  18204. }
  18205. // GoString returns the string representation
  18206. func (s DescribeClassicLinkInstancesOutput) GoString() string {
  18207. return s.String()
  18208. }
  18209. // Contains the parameters for DescribeConversionTasks.
  18210. type DescribeConversionTasksInput struct {
  18211. _ struct{} `type:"structure"`
  18212. // One or more conversion task IDs.
  18213. ConversionTaskIds []*string `locationName:"conversionTaskId" locationNameList:"item" type:"list"`
  18214. // Checks whether you have the required permissions for the action, without
  18215. // actually making the request, and provides an error response. If you have
  18216. // the required permissions, the error response is DryRunOperation. Otherwise,
  18217. // it is UnauthorizedOperation.
  18218. DryRun *bool `locationName:"dryRun" type:"boolean"`
  18219. }
  18220. // String returns the string representation
  18221. func (s DescribeConversionTasksInput) String() string {
  18222. return awsutil.Prettify(s)
  18223. }
  18224. // GoString returns the string representation
  18225. func (s DescribeConversionTasksInput) GoString() string {
  18226. return s.String()
  18227. }
  18228. // Contains the output for DescribeConversionTasks.
  18229. type DescribeConversionTasksOutput struct {
  18230. _ struct{} `type:"structure"`
  18231. // Information about the conversion tasks.
  18232. ConversionTasks []*ConversionTask `locationName:"conversionTasks" locationNameList:"item" type:"list"`
  18233. }
  18234. // String returns the string representation
  18235. func (s DescribeConversionTasksOutput) String() string {
  18236. return awsutil.Prettify(s)
  18237. }
  18238. // GoString returns the string representation
  18239. func (s DescribeConversionTasksOutput) GoString() string {
  18240. return s.String()
  18241. }
  18242. // Contains the parameters for DescribeCustomerGateways.
  18243. type DescribeCustomerGatewaysInput struct {
  18244. _ struct{} `type:"structure"`
  18245. // One or more customer gateway IDs.
  18246. //
  18247. // Default: Describes all your customer gateways.
  18248. CustomerGatewayIds []*string `locationName:"CustomerGatewayId" locationNameList:"CustomerGatewayId" type:"list"`
  18249. // Checks whether you have the required permissions for the action, without
  18250. // actually making the request, and provides an error response. If you have
  18251. // the required permissions, the error response is DryRunOperation. Otherwise,
  18252. // it is UnauthorizedOperation.
  18253. DryRun *bool `locationName:"dryRun" type:"boolean"`
  18254. // One or more filters.
  18255. //
  18256. // * bgp-asn - The customer gateway's Border Gateway Protocol (BGP) Autonomous
  18257. // System Number (ASN).
  18258. //
  18259. // * customer-gateway-id - The ID of the customer gateway.
  18260. //
  18261. // * ip-address - The IP address of the customer gateway's Internet-routable
  18262. // external interface.
  18263. //
  18264. // * state - The state of the customer gateway (pending | available | deleting
  18265. // | deleted).
  18266. //
  18267. // * type - The type of customer gateway. Currently, the only supported type
  18268. // is ipsec.1.
  18269. //
  18270. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  18271. //
  18272. // * tag-key - The key of a tag assigned to the resource. This filter is
  18273. // independent of the tag-value filter. For example, if you use both the
  18274. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  18275. // assigned both the tag key Purpose (regardless of what the tag's value
  18276. // is), and the tag value X (regardless of what the tag's key is). If you
  18277. // want to list only resources where Purpose is X, see the tag:key=value
  18278. // filter.
  18279. //
  18280. // * tag-value - The value of a tag assigned to the resource. This filter
  18281. // is independent of the tag-key filter.
  18282. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  18283. }
  18284. // String returns the string representation
  18285. func (s DescribeCustomerGatewaysInput) String() string {
  18286. return awsutil.Prettify(s)
  18287. }
  18288. // GoString returns the string representation
  18289. func (s DescribeCustomerGatewaysInput) GoString() string {
  18290. return s.String()
  18291. }
  18292. // Contains the output of DescribeCustomerGateways.
  18293. type DescribeCustomerGatewaysOutput struct {
  18294. _ struct{} `type:"structure"`
  18295. // Information about one or more customer gateways.
  18296. CustomerGateways []*CustomerGateway `locationName:"customerGatewaySet" locationNameList:"item" type:"list"`
  18297. }
  18298. // String returns the string representation
  18299. func (s DescribeCustomerGatewaysOutput) String() string {
  18300. return awsutil.Prettify(s)
  18301. }
  18302. // GoString returns the string representation
  18303. func (s DescribeCustomerGatewaysOutput) GoString() string {
  18304. return s.String()
  18305. }
  18306. // Contains the parameters for DescribeDhcpOptions.
  18307. type DescribeDhcpOptionsInput struct {
  18308. _ struct{} `type:"structure"`
  18309. // The IDs of one or more DHCP options sets.
  18310. //
  18311. // Default: Describes all your DHCP options sets.
  18312. DhcpOptionsIds []*string `locationName:"DhcpOptionsId" locationNameList:"DhcpOptionsId" type:"list"`
  18313. // Checks whether you have the required permissions for the action, without
  18314. // actually making the request, and provides an error response. If you have
  18315. // the required permissions, the error response is DryRunOperation. Otherwise,
  18316. // it is UnauthorizedOperation.
  18317. DryRun *bool `locationName:"dryRun" type:"boolean"`
  18318. // One or more filters.
  18319. //
  18320. // * dhcp-options-id - The ID of a set of DHCP options.
  18321. //
  18322. // * key - The key for one of the options (for example, domain-name).
  18323. //
  18324. // * value - The value for one of the options.
  18325. //
  18326. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  18327. //
  18328. // * tag-key - The key of a tag assigned to the resource. This filter is
  18329. // independent of the tag-value filter. For example, if you use both the
  18330. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  18331. // assigned both the tag key Purpose (regardless of what the tag's value
  18332. // is), and the tag value X (regardless of what the tag's key is). If you
  18333. // want to list only resources where Purpose is X, see the tag:key=value
  18334. // filter.
  18335. //
  18336. // * tag-value - The value of a tag assigned to the resource. This filter
  18337. // is independent of the tag-key filter.
  18338. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  18339. }
  18340. // String returns the string representation
  18341. func (s DescribeDhcpOptionsInput) String() string {
  18342. return awsutil.Prettify(s)
  18343. }
  18344. // GoString returns the string representation
  18345. func (s DescribeDhcpOptionsInput) GoString() string {
  18346. return s.String()
  18347. }
  18348. // Contains the output of DescribeDhcpOptions.
  18349. type DescribeDhcpOptionsOutput struct {
  18350. _ struct{} `type:"structure"`
  18351. // Information about one or more DHCP options sets.
  18352. DhcpOptions []*DhcpOptions `locationName:"dhcpOptionsSet" locationNameList:"item" type:"list"`
  18353. }
  18354. // String returns the string representation
  18355. func (s DescribeDhcpOptionsOutput) String() string {
  18356. return awsutil.Prettify(s)
  18357. }
  18358. // GoString returns the string representation
  18359. func (s DescribeDhcpOptionsOutput) GoString() string {
  18360. return s.String()
  18361. }
  18362. // Contains the parameters for DescribeExportTasks.
  18363. type DescribeExportTasksInput struct {
  18364. _ struct{} `type:"structure"`
  18365. // One or more export task IDs.
  18366. ExportTaskIds []*string `locationName:"exportTaskId" locationNameList:"ExportTaskId" type:"list"`
  18367. }
  18368. // String returns the string representation
  18369. func (s DescribeExportTasksInput) String() string {
  18370. return awsutil.Prettify(s)
  18371. }
  18372. // GoString returns the string representation
  18373. func (s DescribeExportTasksInput) GoString() string {
  18374. return s.String()
  18375. }
  18376. // Contains the output for DescribeExportTasks.
  18377. type DescribeExportTasksOutput struct {
  18378. _ struct{} `type:"structure"`
  18379. // Information about the export tasks.
  18380. ExportTasks []*ExportTask `locationName:"exportTaskSet" locationNameList:"item" type:"list"`
  18381. }
  18382. // String returns the string representation
  18383. func (s DescribeExportTasksOutput) String() string {
  18384. return awsutil.Prettify(s)
  18385. }
  18386. // GoString returns the string representation
  18387. func (s DescribeExportTasksOutput) GoString() string {
  18388. return s.String()
  18389. }
  18390. // Contains the parameters for DescribeFlowLogs.
  18391. type DescribeFlowLogsInput struct {
  18392. _ struct{} `type:"structure"`
  18393. // One or more filters.
  18394. //
  18395. // * deliver-log-status - The status of the logs delivery (SUCCESS | FAILED).
  18396. //
  18397. // * flow-log-id - The ID of the flow log.
  18398. //
  18399. // * log-group-name - The name of the log group.
  18400. //
  18401. // * resource-id - The ID of the VPC, subnet, or network interface.
  18402. //
  18403. // * traffic-type - The type of traffic (ACCEPT | REJECT | ALL)
  18404. Filter []*Filter `locationNameList:"Filter" type:"list"`
  18405. // One or more flow log IDs.
  18406. FlowLogIds []*string `locationName:"FlowLogId" locationNameList:"item" type:"list"`
  18407. // The maximum number of results to return for the request in a single page.
  18408. // The remaining results can be seen by sending another request with the returned
  18409. // NextToken value. This value can be between 5 and 1000; if MaxResults is given
  18410. // a value larger than 1000, only 1000 results are returned. You cannot specify
  18411. // this parameter and the flow log IDs parameter in the same request.
  18412. MaxResults *int64 `type:"integer"`
  18413. // The token to retrieve the next page of results.
  18414. NextToken *string `type:"string"`
  18415. }
  18416. // String returns the string representation
  18417. func (s DescribeFlowLogsInput) String() string {
  18418. return awsutil.Prettify(s)
  18419. }
  18420. // GoString returns the string representation
  18421. func (s DescribeFlowLogsInput) GoString() string {
  18422. return s.String()
  18423. }
  18424. // Contains the output of DescribeFlowLogs.
  18425. type DescribeFlowLogsOutput struct {
  18426. _ struct{} `type:"structure"`
  18427. // Information about the flow logs.
  18428. FlowLogs []*FlowLog `locationName:"flowLogSet" locationNameList:"item" type:"list"`
  18429. // The token to use to retrieve the next page of results. This value is null
  18430. // when there are no more results to return.
  18431. NextToken *string `locationName:"nextToken" type:"string"`
  18432. }
  18433. // String returns the string representation
  18434. func (s DescribeFlowLogsOutput) String() string {
  18435. return awsutil.Prettify(s)
  18436. }
  18437. // GoString returns the string representation
  18438. func (s DescribeFlowLogsOutput) GoString() string {
  18439. return s.String()
  18440. }
  18441. type DescribeHostReservationOfferingsInput struct {
  18442. _ struct{} `type:"structure"`
  18443. // One or more filters.
  18444. //
  18445. // * instance-family - The instance family of the offering (e.g., m4).
  18446. //
  18447. // * payment-option - The payment option (No Upfront | Partial Upfront |
  18448. // All Upfront).
  18449. Filter []*Filter `locationNameList:"Filter" type:"list"`
  18450. // This is the maximum duration of the reservation you'd like to purchase, specified
  18451. // in seconds. Reservations are available in one-year and three-year terms.
  18452. // The number of seconds specified must be the number of seconds in a year (365x24x60x60)
  18453. // times one of the supported durations (1 or 3). For example, specify 94608000
  18454. // for three years.
  18455. MaxDuration *int64 `type:"integer"`
  18456. // The maximum number of results to return for the request in a single page.
  18457. // The remaining results can be seen by sending another request with the returned
  18458. // nextToken value. This value can be between 5 and 500; if maxResults is given
  18459. // a larger value than 500, you will receive an error.
  18460. MaxResults *int64 `type:"integer"`
  18461. // This is the minimum duration of the reservation you'd like to purchase, specified
  18462. // in seconds. Reservations are available in one-year and three-year terms.
  18463. // The number of seconds specified must be the number of seconds in a year (365x24x60x60)
  18464. // times one of the supported durations (1 or 3). For example, specify 31536000
  18465. // for one year.
  18466. MinDuration *int64 `type:"integer"`
  18467. // The token to use to retrieve the next page of results.
  18468. NextToken *string `type:"string"`
  18469. // The ID of the reservation offering.
  18470. OfferingId *string `type:"string"`
  18471. }
  18472. // String returns the string representation
  18473. func (s DescribeHostReservationOfferingsInput) String() string {
  18474. return awsutil.Prettify(s)
  18475. }
  18476. // GoString returns the string representation
  18477. func (s DescribeHostReservationOfferingsInput) GoString() string {
  18478. return s.String()
  18479. }
  18480. type DescribeHostReservationOfferingsOutput struct {
  18481. _ struct{} `type:"structure"`
  18482. // The token to use to retrieve the next page of results. This value is null
  18483. // when there are no more results to return.
  18484. NextToken *string `locationName:"nextToken" type:"string"`
  18485. // Information about the offerings.
  18486. OfferingSet []*HostOffering `locationName:"offeringSet" type:"list"`
  18487. }
  18488. // String returns the string representation
  18489. func (s DescribeHostReservationOfferingsOutput) String() string {
  18490. return awsutil.Prettify(s)
  18491. }
  18492. // GoString returns the string representation
  18493. func (s DescribeHostReservationOfferingsOutput) GoString() string {
  18494. return s.String()
  18495. }
  18496. type DescribeHostReservationsInput struct {
  18497. _ struct{} `type:"structure"`
  18498. // One or more filters.
  18499. //
  18500. // * instance-family - The instance family (e.g., m4).
  18501. //
  18502. // * payment-option - The payment option (No Upfront | Partial Upfront |
  18503. // All Upfront).
  18504. //
  18505. // * state - The state of the reservation (payment-pending | payment-failed
  18506. // | active | retired).
  18507. Filter []*Filter `locationNameList:"Filter" type:"list"`
  18508. // One or more host reservation IDs.
  18509. HostReservationIdSet []*string `locationNameList:"item" type:"list"`
  18510. // The maximum number of results to return for the request in a single page.
  18511. // The remaining results can be seen by sending another request with the returned
  18512. // nextToken value. This value can be between 5 and 500; if maxResults is given
  18513. // a larger value than 500, you will receive an error.
  18514. MaxResults *int64 `type:"integer"`
  18515. // The token to use to retrieve the next page of results.
  18516. NextToken *string `type:"string"`
  18517. }
  18518. // String returns the string representation
  18519. func (s DescribeHostReservationsInput) String() string {
  18520. return awsutil.Prettify(s)
  18521. }
  18522. // GoString returns the string representation
  18523. func (s DescribeHostReservationsInput) GoString() string {
  18524. return s.String()
  18525. }
  18526. type DescribeHostReservationsOutput struct {
  18527. _ struct{} `type:"structure"`
  18528. // Details about the reservation's configuration.
  18529. HostReservationSet []*HostReservation `locationName:"hostReservationSet" type:"list"`
  18530. // The token to use to retrieve the next page of results. This value is null
  18531. // when there are no more results to return.
  18532. NextToken *string `locationName:"nextToken" type:"string"`
  18533. }
  18534. // String returns the string representation
  18535. func (s DescribeHostReservationsOutput) String() string {
  18536. return awsutil.Prettify(s)
  18537. }
  18538. // GoString returns the string representation
  18539. func (s DescribeHostReservationsOutput) GoString() string {
  18540. return s.String()
  18541. }
  18542. // Contains the parameters for DescribeHosts.
  18543. type DescribeHostsInput struct {
  18544. _ struct{} `type:"structure"`
  18545. // One or more filters.
  18546. //
  18547. // * instance-type - The instance type size that the Dedicated Host is configured
  18548. // to support.
  18549. //
  18550. // * auto-placement - Whether auto-placement is enabled or disabled (on |
  18551. // off).
  18552. //
  18553. // * host-reservation-id - The ID of the reservation assigned to this host.
  18554. //
  18555. // * client-token - The idempotency token you provided when you launched
  18556. // the instance
  18557. //
  18558. // * state- The allocation state of the Dedicated Host (available | under-assessment
  18559. // | permanent-failure | released | released-permanent-failure).
  18560. //
  18561. // * availability-zone - The Availability Zone of the host.
  18562. Filter []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
  18563. // The IDs of the Dedicated Hosts. The IDs are used for targeted instance launches.
  18564. HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list"`
  18565. // The maximum number of results to return for the request in a single page.
  18566. // The remaining results can be seen by sending another request with the returned
  18567. // nextToken value. This value can be between 5 and 500; if maxResults is given
  18568. // a larger value than 500, you will receive an error. You cannot specify this
  18569. // parameter and the host IDs parameter in the same request.
  18570. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  18571. // The token to retrieve the next page of results.
  18572. NextToken *string `locationName:"nextToken" type:"string"`
  18573. }
  18574. // String returns the string representation
  18575. func (s DescribeHostsInput) String() string {
  18576. return awsutil.Prettify(s)
  18577. }
  18578. // GoString returns the string representation
  18579. func (s DescribeHostsInput) GoString() string {
  18580. return s.String()
  18581. }
  18582. // Contains the output of DescribeHosts.
  18583. type DescribeHostsOutput struct {
  18584. _ struct{} `type:"structure"`
  18585. // Information about the Dedicated Hosts.
  18586. Hosts []*Host `locationName:"hostSet" locationNameList:"item" type:"list"`
  18587. // The token to use to retrieve the next page of results. This value is null
  18588. // when there are no more results to return.
  18589. NextToken *string `locationName:"nextToken" type:"string"`
  18590. }
  18591. // String returns the string representation
  18592. func (s DescribeHostsOutput) String() string {
  18593. return awsutil.Prettify(s)
  18594. }
  18595. // GoString returns the string representation
  18596. func (s DescribeHostsOutput) GoString() string {
  18597. return s.String()
  18598. }
  18599. // Contains the parameters for DescribeIdFormat.
  18600. type DescribeIdFormatInput struct {
  18601. _ struct{} `type:"structure"`
  18602. // The type of resource: instance | reservation | snapshot | volume
  18603. Resource *string `type:"string"`
  18604. }
  18605. // String returns the string representation
  18606. func (s DescribeIdFormatInput) String() string {
  18607. return awsutil.Prettify(s)
  18608. }
  18609. // GoString returns the string representation
  18610. func (s DescribeIdFormatInput) GoString() string {
  18611. return s.String()
  18612. }
  18613. // Contains the output of DescribeIdFormat.
  18614. type DescribeIdFormatOutput struct {
  18615. _ struct{} `type:"structure"`
  18616. // Information about the ID format for the resource.
  18617. Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
  18618. }
  18619. // String returns the string representation
  18620. func (s DescribeIdFormatOutput) String() string {
  18621. return awsutil.Prettify(s)
  18622. }
  18623. // GoString returns the string representation
  18624. func (s DescribeIdFormatOutput) GoString() string {
  18625. return s.String()
  18626. }
  18627. // Contains the parameters for DescribeIdentityIdFormat.
  18628. type DescribeIdentityIdFormatInput struct {
  18629. _ struct{} `type:"structure"`
  18630. // The ARN of the principal, which can be an IAM role, IAM user, or the root
  18631. // user.
  18632. //
  18633. // PrincipalArn is a required field
  18634. PrincipalArn *string `locationName:"principalArn" type:"string" required:"true"`
  18635. // The type of resource: instance | reservation | snapshot | volume
  18636. Resource *string `locationName:"resource" type:"string"`
  18637. }
  18638. // String returns the string representation
  18639. func (s DescribeIdentityIdFormatInput) String() string {
  18640. return awsutil.Prettify(s)
  18641. }
  18642. // GoString returns the string representation
  18643. func (s DescribeIdentityIdFormatInput) GoString() string {
  18644. return s.String()
  18645. }
  18646. // Validate inspects the fields of the type to determine if they are valid.
  18647. func (s *DescribeIdentityIdFormatInput) Validate() error {
  18648. invalidParams := request.ErrInvalidParams{Context: "DescribeIdentityIdFormatInput"}
  18649. if s.PrincipalArn == nil {
  18650. invalidParams.Add(request.NewErrParamRequired("PrincipalArn"))
  18651. }
  18652. if invalidParams.Len() > 0 {
  18653. return invalidParams
  18654. }
  18655. return nil
  18656. }
  18657. // Contains the output of DescribeIdentityIdFormat.
  18658. type DescribeIdentityIdFormatOutput struct {
  18659. _ struct{} `type:"structure"`
  18660. // Information about the ID format for the resources.
  18661. Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
  18662. }
  18663. // String returns the string representation
  18664. func (s DescribeIdentityIdFormatOutput) String() string {
  18665. return awsutil.Prettify(s)
  18666. }
  18667. // GoString returns the string representation
  18668. func (s DescribeIdentityIdFormatOutput) GoString() string {
  18669. return s.String()
  18670. }
  18671. // Contains the parameters for DescribeImageAttribute.
  18672. type DescribeImageAttributeInput struct {
  18673. _ struct{} `type:"structure"`
  18674. // The AMI attribute.
  18675. //
  18676. // Note: Depending on your account privileges, the blockDeviceMapping attribute
  18677. // may return a Client.AuthFailure error. If this happens, use DescribeImages
  18678. // to get information about the block device mapping for the AMI.
  18679. //
  18680. // Attribute is a required field
  18681. Attribute *string `type:"string" required:"true" enum:"ImageAttributeName"`
  18682. // Checks whether you have the required permissions for the action, without
  18683. // actually making the request, and provides an error response. If you have
  18684. // the required permissions, the error response is DryRunOperation. Otherwise,
  18685. // it is UnauthorizedOperation.
  18686. DryRun *bool `locationName:"dryRun" type:"boolean"`
  18687. // The ID of the AMI.
  18688. //
  18689. // ImageId is a required field
  18690. ImageId *string `type:"string" required:"true"`
  18691. }
  18692. // String returns the string representation
  18693. func (s DescribeImageAttributeInput) String() string {
  18694. return awsutil.Prettify(s)
  18695. }
  18696. // GoString returns the string representation
  18697. func (s DescribeImageAttributeInput) GoString() string {
  18698. return s.String()
  18699. }
  18700. // Validate inspects the fields of the type to determine if they are valid.
  18701. func (s *DescribeImageAttributeInput) Validate() error {
  18702. invalidParams := request.ErrInvalidParams{Context: "DescribeImageAttributeInput"}
  18703. if s.Attribute == nil {
  18704. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  18705. }
  18706. if s.ImageId == nil {
  18707. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  18708. }
  18709. if invalidParams.Len() > 0 {
  18710. return invalidParams
  18711. }
  18712. return nil
  18713. }
  18714. // Describes an image attribute.
  18715. type DescribeImageAttributeOutput struct {
  18716. _ struct{} `type:"structure"`
  18717. // One or more block device mapping entries.
  18718. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  18719. // A description for the AMI.
  18720. Description *AttributeValue `locationName:"description" type:"structure"`
  18721. // The ID of the AMI.
  18722. ImageId *string `locationName:"imageId" type:"string"`
  18723. // The kernel ID.
  18724. KernelId *AttributeValue `locationName:"kernel" type:"structure"`
  18725. // One or more launch permissions.
  18726. LaunchPermissions []*LaunchPermission `locationName:"launchPermission" locationNameList:"item" type:"list"`
  18727. // One or more product codes.
  18728. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  18729. // The RAM disk ID.
  18730. RamdiskId *AttributeValue `locationName:"ramdisk" type:"structure"`
  18731. // Indicates whether enhanced networking with the Intel 82599 Virtual Function
  18732. // interface is enabled.
  18733. SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
  18734. }
  18735. // String returns the string representation
  18736. func (s DescribeImageAttributeOutput) String() string {
  18737. return awsutil.Prettify(s)
  18738. }
  18739. // GoString returns the string representation
  18740. func (s DescribeImageAttributeOutput) GoString() string {
  18741. return s.String()
  18742. }
  18743. // Contains the parameters for DescribeImages.
  18744. type DescribeImagesInput struct {
  18745. _ struct{} `type:"structure"`
  18746. // Checks whether you have the required permissions for the action, without
  18747. // actually making the request, and provides an error response. If you have
  18748. // the required permissions, the error response is DryRunOperation. Otherwise,
  18749. // it is UnauthorizedOperation.
  18750. DryRun *bool `locationName:"dryRun" type:"boolean"`
  18751. // Scopes the images by users with explicit launch permissions. Specify an AWS
  18752. // account ID, self (the sender of the request), or all (public AMIs).
  18753. ExecutableUsers []*string `locationName:"ExecutableBy" locationNameList:"ExecutableBy" type:"list"`
  18754. // One or more filters.
  18755. //
  18756. // * architecture - The image architecture (i386 | x86_64).
  18757. //
  18758. // * block-device-mapping.delete-on-termination - A Boolean value that indicates
  18759. // whether the Amazon EBS volume is deleted on instance termination.
  18760. //
  18761. // * block-device-mapping.device-name - The device name for the EBS volume
  18762. // (for example, /dev/sdh).
  18763. //
  18764. // * block-device-mapping.snapshot-id - The ID of the snapshot used for the
  18765. // EBS volume.
  18766. //
  18767. // * block-device-mapping.volume-size - The volume size of the EBS volume,
  18768. // in GiB.
  18769. //
  18770. // * block-device-mapping.volume-type - The volume type of the EBS volume
  18771. // (gp2 | io1 | st1 | sc1 | standard).
  18772. //
  18773. // * description - The description of the image (provided during image creation).
  18774. //
  18775. // * hypervisor - The hypervisor type (ovm | xen).
  18776. //
  18777. // * image-id - The ID of the image.
  18778. //
  18779. // * image-type - The image type (machine | kernel | ramdisk).
  18780. //
  18781. // * is-public - A Boolean that indicates whether the image is public.
  18782. //
  18783. // * kernel-id - The kernel ID.
  18784. //
  18785. // * manifest-location - The location of the image manifest.
  18786. //
  18787. // * name - The name of the AMI (provided during image creation).
  18788. //
  18789. // * owner-alias - String value from an Amazon-maintained list (amazon |
  18790. // aws-marketplace | microsoft) of snapshot owners. Not to be confused with
  18791. // the user-configured AWS account alias, which is set from the IAM console.
  18792. //
  18793. // * owner-id - The AWS account ID of the image owner.
  18794. //
  18795. // * platform - The platform. To only list Windows-based AMIs, use windows.
  18796. //
  18797. // * product-code - The product code.
  18798. //
  18799. // * product-code.type - The type of the product code (devpay | marketplace).
  18800. //
  18801. // * ramdisk-id - The RAM disk ID.
  18802. //
  18803. // * root-device-name - The name of the root device volume (for example,
  18804. // /dev/sda1).
  18805. //
  18806. // * root-device-type - The type of the root device volume (ebs | instance-store).
  18807. //
  18808. // * state - The state of the image (available | pending | failed).
  18809. //
  18810. // * state-reason-code - The reason code for the state change.
  18811. //
  18812. // * state-reason-message - The message for the state change.
  18813. //
  18814. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  18815. //
  18816. // * tag-key - The key of a tag assigned to the resource. This filter is
  18817. // independent of the tag-value filter. For example, if you use both the
  18818. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  18819. // assigned both the tag key Purpose (regardless of what the tag's value
  18820. // is), and the tag value X (regardless of what the tag's key is). If you
  18821. // want to list only resources where Purpose is X, see the tag:key=value
  18822. // filter.
  18823. //
  18824. // * tag-value - The value of a tag assigned to the resource. This filter
  18825. // is independent of the tag-key filter.
  18826. //
  18827. // * virtualization-type - The virtualization type (paravirtual | hvm).
  18828. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  18829. // One or more image IDs.
  18830. //
  18831. // Default: Describes all images available to you.
  18832. ImageIds []*string `locationName:"ImageId" locationNameList:"ImageId" type:"list"`
  18833. // Filters the images by the owner. Specify an AWS account ID, self (owner is
  18834. // the sender of the request), or an AWS owner alias (valid values are amazon
  18835. // | aws-marketplace | microsoft). Omitting this option returns all images for
  18836. // which you have launch permissions, regardless of ownership.
  18837. Owners []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
  18838. }
  18839. // String returns the string representation
  18840. func (s DescribeImagesInput) String() string {
  18841. return awsutil.Prettify(s)
  18842. }
  18843. // GoString returns the string representation
  18844. func (s DescribeImagesInput) GoString() string {
  18845. return s.String()
  18846. }
  18847. // Contains the output of DescribeImages.
  18848. type DescribeImagesOutput struct {
  18849. _ struct{} `type:"structure"`
  18850. // Information about one or more images.
  18851. Images []*Image `locationName:"imagesSet" locationNameList:"item" type:"list"`
  18852. }
  18853. // String returns the string representation
  18854. func (s DescribeImagesOutput) String() string {
  18855. return awsutil.Prettify(s)
  18856. }
  18857. // GoString returns the string representation
  18858. func (s DescribeImagesOutput) GoString() string {
  18859. return s.String()
  18860. }
  18861. // Contains the parameters for DescribeImportImageTasks.
  18862. type DescribeImportImageTasksInput struct {
  18863. _ struct{} `type:"structure"`
  18864. // Checks whether you have the required permissions for the action, without
  18865. // actually making the request, and provides an error response. If you have
  18866. // the required permissions, the error response is DryRunOperation. Otherwise,
  18867. // it is UnauthorizedOperation.
  18868. DryRun *bool `type:"boolean"`
  18869. // Filter tasks using the task-state filter and one of the following values:
  18870. // active, completed, deleting, deleted.
  18871. Filters []*Filter `locationNameList:"Filter" type:"list"`
  18872. // A list of import image task IDs.
  18873. ImportTaskIds []*string `locationName:"ImportTaskId" locationNameList:"ImportTaskId" type:"list"`
  18874. // The maximum number of results to return in a single call. To retrieve the
  18875. // remaining results, make another call with the returned NextToken value.
  18876. MaxResults *int64 `type:"integer"`
  18877. // A token that indicates the next page of results.
  18878. NextToken *string `type:"string"`
  18879. }
  18880. // String returns the string representation
  18881. func (s DescribeImportImageTasksInput) String() string {
  18882. return awsutil.Prettify(s)
  18883. }
  18884. // GoString returns the string representation
  18885. func (s DescribeImportImageTasksInput) GoString() string {
  18886. return s.String()
  18887. }
  18888. // Contains the output for DescribeImportImageTasks.
  18889. type DescribeImportImageTasksOutput struct {
  18890. _ struct{} `type:"structure"`
  18891. // A list of zero or more import image tasks that are currently active or were
  18892. // completed or canceled in the previous 7 days.
  18893. ImportImageTasks []*ImportImageTask `locationName:"importImageTaskSet" locationNameList:"item" type:"list"`
  18894. // The token to use to get the next page of results. This value is null when
  18895. // there are no more results to return.
  18896. NextToken *string `locationName:"nextToken" type:"string"`
  18897. }
  18898. // String returns the string representation
  18899. func (s DescribeImportImageTasksOutput) String() string {
  18900. return awsutil.Prettify(s)
  18901. }
  18902. // GoString returns the string representation
  18903. func (s DescribeImportImageTasksOutput) GoString() string {
  18904. return s.String()
  18905. }
  18906. // Contains the parameters for DescribeImportSnapshotTasks.
  18907. type DescribeImportSnapshotTasksInput struct {
  18908. _ struct{} `type:"structure"`
  18909. // Checks whether you have the required permissions for the action, without
  18910. // actually making the request, and provides an error response. If you have
  18911. // the required permissions, the error response is DryRunOperation. Otherwise,
  18912. // it is UnauthorizedOperation.
  18913. DryRun *bool `type:"boolean"`
  18914. // One or more filters.
  18915. Filters []*Filter `locationNameList:"Filter" type:"list"`
  18916. // A list of import snapshot task IDs.
  18917. ImportTaskIds []*string `locationName:"ImportTaskId" locationNameList:"ImportTaskId" type:"list"`
  18918. // The maximum number of results to return in a single call. To retrieve the
  18919. // remaining results, make another call with the returned NextToken value.
  18920. MaxResults *int64 `type:"integer"`
  18921. // A token that indicates the next page of results.
  18922. NextToken *string `type:"string"`
  18923. }
  18924. // String returns the string representation
  18925. func (s DescribeImportSnapshotTasksInput) String() string {
  18926. return awsutil.Prettify(s)
  18927. }
  18928. // GoString returns the string representation
  18929. func (s DescribeImportSnapshotTasksInput) GoString() string {
  18930. return s.String()
  18931. }
  18932. // Contains the output for DescribeImportSnapshotTasks.
  18933. type DescribeImportSnapshotTasksOutput struct {
  18934. _ struct{} `type:"structure"`
  18935. // A list of zero or more import snapshot tasks that are currently active or
  18936. // were completed or canceled in the previous 7 days.
  18937. ImportSnapshotTasks []*ImportSnapshotTask `locationName:"importSnapshotTaskSet" locationNameList:"item" type:"list"`
  18938. // The token to use to get the next page of results. This value is null when
  18939. // there are no more results to return.
  18940. NextToken *string `locationName:"nextToken" type:"string"`
  18941. }
  18942. // String returns the string representation
  18943. func (s DescribeImportSnapshotTasksOutput) String() string {
  18944. return awsutil.Prettify(s)
  18945. }
  18946. // GoString returns the string representation
  18947. func (s DescribeImportSnapshotTasksOutput) GoString() string {
  18948. return s.String()
  18949. }
  18950. // Contains the parameters for DescribeInstanceAttribute.
  18951. type DescribeInstanceAttributeInput struct {
  18952. _ struct{} `type:"structure"`
  18953. // The instance attribute.
  18954. //
  18955. // Note: The enaSupport attribute is not supported at this time.
  18956. //
  18957. // Attribute is a required field
  18958. Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"InstanceAttributeName"`
  18959. // Checks whether you have the required permissions for the action, without
  18960. // actually making the request, and provides an error response. If you have
  18961. // the required permissions, the error response is DryRunOperation. Otherwise,
  18962. // it is UnauthorizedOperation.
  18963. DryRun *bool `locationName:"dryRun" type:"boolean"`
  18964. // The ID of the instance.
  18965. //
  18966. // InstanceId is a required field
  18967. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  18968. }
  18969. // String returns the string representation
  18970. func (s DescribeInstanceAttributeInput) String() string {
  18971. return awsutil.Prettify(s)
  18972. }
  18973. // GoString returns the string representation
  18974. func (s DescribeInstanceAttributeInput) GoString() string {
  18975. return s.String()
  18976. }
  18977. // Validate inspects the fields of the type to determine if they are valid.
  18978. func (s *DescribeInstanceAttributeInput) Validate() error {
  18979. invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceAttributeInput"}
  18980. if s.Attribute == nil {
  18981. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  18982. }
  18983. if s.InstanceId == nil {
  18984. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  18985. }
  18986. if invalidParams.Len() > 0 {
  18987. return invalidParams
  18988. }
  18989. return nil
  18990. }
  18991. // Describes an instance attribute.
  18992. type DescribeInstanceAttributeOutput struct {
  18993. _ struct{} `type:"structure"`
  18994. // The block device mapping of the instance.
  18995. BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  18996. // If the value is true, you can't terminate the instance through the Amazon
  18997. // EC2 console, CLI, or API; otherwise, you can.
  18998. DisableApiTermination *AttributeBooleanValue `locationName:"disableApiTermination" type:"structure"`
  18999. // Indicates whether the instance is optimized for EBS I/O.
  19000. EbsOptimized *AttributeBooleanValue `locationName:"ebsOptimized" type:"structure"`
  19001. // Indicates whether enhanced networking with ENA is enabled.
  19002. EnaSupport *AttributeBooleanValue `locationName:"enaSupport" type:"structure"`
  19003. // The security groups associated with the instance.
  19004. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  19005. // The ID of the instance.
  19006. InstanceId *string `locationName:"instanceId" type:"string"`
  19007. // Indicates whether an instance stops or terminates when you initiate shutdown
  19008. // from the instance (using the operating system command for system shutdown).
  19009. InstanceInitiatedShutdownBehavior *AttributeValue `locationName:"instanceInitiatedShutdownBehavior" type:"structure"`
  19010. // The instance type.
  19011. InstanceType *AttributeValue `locationName:"instanceType" type:"structure"`
  19012. // The kernel ID.
  19013. KernelId *AttributeValue `locationName:"kernel" type:"structure"`
  19014. // A list of product codes.
  19015. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  19016. // The RAM disk ID.
  19017. RamdiskId *AttributeValue `locationName:"ramdisk" type:"structure"`
  19018. // The name of the root device (for example, /dev/sda1 or /dev/xvda).
  19019. RootDeviceName *AttributeValue `locationName:"rootDeviceName" type:"structure"`
  19020. // Indicates whether source/destination checking is enabled. A value of true
  19021. // means checking is enabled, and false means checking is disabled. This value
  19022. // must be false for a NAT instance to perform NAT.
  19023. SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
  19024. // Indicates whether enhanced networking with the Intel 82599 Virtual Function
  19025. // interface is enabled.
  19026. SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
  19027. // The user data.
  19028. UserData *AttributeValue `locationName:"userData" type:"structure"`
  19029. }
  19030. // String returns the string representation
  19031. func (s DescribeInstanceAttributeOutput) String() string {
  19032. return awsutil.Prettify(s)
  19033. }
  19034. // GoString returns the string representation
  19035. func (s DescribeInstanceAttributeOutput) GoString() string {
  19036. return s.String()
  19037. }
  19038. // Contains the parameters for DescribeInstanceStatus.
  19039. type DescribeInstanceStatusInput struct {
  19040. _ struct{} `type:"structure"`
  19041. // Checks whether you have the required permissions for the action, without
  19042. // actually making the request, and provides an error response. If you have
  19043. // the required permissions, the error response is DryRunOperation. Otherwise,
  19044. // it is UnauthorizedOperation.
  19045. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19046. // One or more filters.
  19047. //
  19048. // * availability-zone - The Availability Zone of the instance.
  19049. //
  19050. // * event.code - The code for the scheduled event (instance-reboot | system-reboot
  19051. // | system-maintenance | instance-retirement | instance-stop).
  19052. //
  19053. // * event.description - A description of the event.
  19054. //
  19055. // * event.not-after - The latest end time for the scheduled event (for example,
  19056. // 2014-09-15T17:15:20.000Z).
  19057. //
  19058. // * event.not-before - The earliest start time for the scheduled event (for
  19059. // example, 2014-09-15T17:15:20.000Z).
  19060. //
  19061. // * instance-state-code - The code for the instance state, as a 16-bit unsigned
  19062. // integer. The high byte is an opaque internal value and should be ignored.
  19063. // The low byte is set based on the state represented. The valid values are
  19064. // 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping),
  19065. // and 80 (stopped).
  19066. //
  19067. // * instance-state-name - The state of the instance (pending | running |
  19068. // shutting-down | terminated | stopping | stopped).
  19069. //
  19070. // * instance-status.reachability - Filters on instance status where the
  19071. // name is reachability (passed | failed | initializing | insufficient-data).
  19072. //
  19073. // * instance-status.status - The status of the instance (ok | impaired |
  19074. // initializing | insufficient-data | not-applicable).
  19075. //
  19076. // * system-status.reachability - Filters on system status where the name
  19077. // is reachability (passed | failed | initializing | insufficient-data).
  19078. //
  19079. // * system-status.status - The system status of the instance (ok | impaired
  19080. // | initializing | insufficient-data | not-applicable).
  19081. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  19082. // When true, includes the health status for all instances. When false, includes
  19083. // the health status for running instances only.
  19084. //
  19085. // Default: false
  19086. IncludeAllInstances *bool `locationName:"includeAllInstances" type:"boolean"`
  19087. // One or more instance IDs.
  19088. //
  19089. // Default: Describes all your instances.
  19090. //
  19091. // Constraints: Maximum 100 explicitly specified instance IDs.
  19092. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
  19093. // The maximum number of results to return in a single call. To retrieve the
  19094. // remaining results, make another call with the returned NextToken value. This
  19095. // value can be between 5 and 1000. You cannot specify this parameter and the
  19096. // instance IDs parameter in the same call.
  19097. MaxResults *int64 `type:"integer"`
  19098. // The token to retrieve the next page of results.
  19099. NextToken *string `type:"string"`
  19100. }
  19101. // String returns the string representation
  19102. func (s DescribeInstanceStatusInput) String() string {
  19103. return awsutil.Prettify(s)
  19104. }
  19105. // GoString returns the string representation
  19106. func (s DescribeInstanceStatusInput) GoString() string {
  19107. return s.String()
  19108. }
  19109. // Contains the output of DescribeInstanceStatus.
  19110. type DescribeInstanceStatusOutput struct {
  19111. _ struct{} `type:"structure"`
  19112. // One or more instance status descriptions.
  19113. InstanceStatuses []*InstanceStatus `locationName:"instanceStatusSet" locationNameList:"item" type:"list"`
  19114. // The token to use to retrieve the next page of results. This value is null
  19115. // when there are no more results to return.
  19116. NextToken *string `locationName:"nextToken" type:"string"`
  19117. }
  19118. // String returns the string representation
  19119. func (s DescribeInstanceStatusOutput) String() string {
  19120. return awsutil.Prettify(s)
  19121. }
  19122. // GoString returns the string representation
  19123. func (s DescribeInstanceStatusOutput) GoString() string {
  19124. return s.String()
  19125. }
  19126. // Contains the parameters for DescribeInstances.
  19127. type DescribeInstancesInput struct {
  19128. _ struct{} `type:"structure"`
  19129. // Checks whether you have the required permissions for the action, without
  19130. // actually making the request, and provides an error response. If you have
  19131. // the required permissions, the error response is DryRunOperation. Otherwise,
  19132. // it is UnauthorizedOperation.
  19133. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19134. // One or more filters.
  19135. //
  19136. // * affinity - The affinity setting for an instance running on a Dedicated
  19137. // Host (default | host).
  19138. //
  19139. // * architecture - The instance architecture (i386 | x86_64).
  19140. //
  19141. // * availability-zone - The Availability Zone of the instance.
  19142. //
  19143. // * block-device-mapping.attach-time - The attach time for an EBS volume
  19144. // mapped to the instance, for example, 2010-09-15T17:15:20.000Z.
  19145. //
  19146. // * block-device-mapping.delete-on-termination - A Boolean that indicates
  19147. // whether the EBS volume is deleted on instance termination.
  19148. //
  19149. // * block-device-mapping.device-name - The device name for the EBS volume
  19150. // (for example, /dev/sdh or xvdh).
  19151. //
  19152. // * block-device-mapping.status - The status for the EBS volume (attaching
  19153. // | attached | detaching | detached).
  19154. //
  19155. // * block-device-mapping.volume-id - The volume ID of the EBS volume.
  19156. //
  19157. // * client-token - The idempotency token you provided when you launched
  19158. // the instance.
  19159. //
  19160. // * dns-name - The public DNS name of the instance.
  19161. //
  19162. // * group-id - The ID of the security group for the instance. EC2-Classic
  19163. // only.
  19164. //
  19165. // * group-name - The name of the security group for the instance. EC2-Classic
  19166. // only.
  19167. //
  19168. // * host-id - The ID of the Dedicated Host on which the instance is running,
  19169. // if applicable.
  19170. //
  19171. // * hypervisor - The hypervisor type of the instance (ovm | xen).
  19172. //
  19173. // * iam-instance-profile.arn - The instance profile associated with the
  19174. // instance. Specified as an ARN.
  19175. //
  19176. // * image-id - The ID of the image used to launch the instance.
  19177. //
  19178. // * instance-id - The ID of the instance.
  19179. //
  19180. // * instance-lifecycle - Indicates whether this is a Spot Instance or a
  19181. // Scheduled Instance (spot | scheduled).
  19182. //
  19183. // * instance-state-code - The state of the instance, as a 16-bit unsigned
  19184. // integer. The high byte is an opaque internal value and should be ignored.
  19185. // The low byte is set based on the state represented. The valid values are:
  19186. // 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping),
  19187. // and 80 (stopped).
  19188. //
  19189. // * instance-state-name - The state of the instance (pending | running |
  19190. // shutting-down | terminated | stopping | stopped).
  19191. //
  19192. // * instance-type - The type of instance (for example, t2.micro).
  19193. //
  19194. // * instance.group-id - The ID of the security group for the instance.
  19195. //
  19196. // * instance.group-name - The name of the security group for the instance.
  19197. //
  19198. //
  19199. // * ip-address - The public IP address of the instance.
  19200. //
  19201. // * kernel-id - The kernel ID.
  19202. //
  19203. // * key-name - The name of the key pair used when the instance was launched.
  19204. //
  19205. // * launch-index - When launching multiple instances, this is the index
  19206. // for the instance in the launch group (for example, 0, 1, 2, and so on).
  19207. //
  19208. //
  19209. // * launch-time - The time when the instance was launched.
  19210. //
  19211. // * monitoring-state - Indicates whether monitoring is enabled for the instance
  19212. // (disabled | enabled).
  19213. //
  19214. // * owner-id - The AWS account ID of the instance owner.
  19215. //
  19216. // * placement-group-name - The name of the placement group for the instance.
  19217. //
  19218. // * platform - The platform. Use windows if you have Windows instances;
  19219. // otherwise, leave blank.
  19220. //
  19221. // * private-dns-name - The private DNS name of the instance.
  19222. //
  19223. // * private-ip-address - The private IP address of the instance.
  19224. //
  19225. // * product-code - The product code associated with the AMI used to launch
  19226. // the instance.
  19227. //
  19228. // * product-code.type - The type of product code (devpay | marketplace).
  19229. //
  19230. // * ramdisk-id - The RAM disk ID.
  19231. //
  19232. // * reason - The reason for the current state of the instance (for example,
  19233. // shows "User Initiated [date]" when you stop or terminate the instance).
  19234. // Similar to the state-reason-code filter.
  19235. //
  19236. // * requester-id - The ID of the entity that launched the instance on your
  19237. // behalf (for example, AWS Management Console, Auto Scaling, and so on).
  19238. //
  19239. // * reservation-id - The ID of the instance's reservation. A reservation
  19240. // ID is created any time you launch an instance. A reservation ID has a
  19241. // one-to-one relationship with an instance launch request, but can be associated
  19242. // with more than one instance if you launch multiple instances using the
  19243. // same launch request. For example, if you launch one instance, you'll get
  19244. // one reservation ID. If you launch ten instances using the same launch
  19245. // request, you'll also get one reservation ID.
  19246. //
  19247. // * root-device-name - The name of the root device for the instance (for
  19248. // example, /dev/sda1 or /dev/xvda).
  19249. //
  19250. // * root-device-type - The type of root device that the instance uses (ebs
  19251. // | instance-store).
  19252. //
  19253. // * source-dest-check - Indicates whether the instance performs source/destination
  19254. // checking. A value of true means that checking is enabled, and false means
  19255. // checking is disabled. The value must be false for the instance to perform
  19256. // network address translation (NAT) in your VPC.
  19257. //
  19258. // * spot-instance-request-id - The ID of the Spot instance request.
  19259. //
  19260. // * state-reason-code - The reason code for the state change.
  19261. //
  19262. // * state-reason-message - A message that describes the state change.
  19263. //
  19264. // * subnet-id - The ID of the subnet for the instance.
  19265. //
  19266. // * tag:key=value - The key/value combination of a tag assigned to the resource,
  19267. // where tag:key is the tag's key.
  19268. //
  19269. // * tag-key - The key of a tag assigned to the resource. This filter is
  19270. // independent of the tag-value filter. For example, if you use both the
  19271. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  19272. // assigned both the tag key Purpose (regardless of what the tag's value
  19273. // is), and the tag value X (regardless of what the tag's key is). If you
  19274. // want to list only resources where Purpose is X, see the tag:key=value
  19275. // filter.
  19276. //
  19277. // * tag-value - The value of a tag assigned to the resource. This filter
  19278. // is independent of the tag-key filter.
  19279. //
  19280. // * tenancy - The tenancy of an instance (dedicated | default | host).
  19281. //
  19282. // * virtualization-type - The virtualization type of the instance (paravirtual
  19283. // | hvm).
  19284. //
  19285. // * vpc-id - The ID of the VPC that the instance is running in.
  19286. //
  19287. // * network-interface.description - The description of the network interface.
  19288. //
  19289. // * network-interface.subnet-id - The ID of the subnet for the network interface.
  19290. //
  19291. // * network-interface.vpc-id - The ID of the VPC for the network interface.
  19292. //
  19293. // * network-interface.network-interface-id - The ID of the network interface.
  19294. //
  19295. // * network-interface.owner-id - The ID of the owner of the network interface.
  19296. //
  19297. // * network-interface.availability-zone - The Availability Zone for the
  19298. // network interface.
  19299. //
  19300. // * network-interface.requester-id - The requester ID for the network interface.
  19301. //
  19302. // * network-interface.requester-managed - Indicates whether the network
  19303. // interface is being managed by AWS.
  19304. //
  19305. // * network-interface.status - The status of the network interface (available)
  19306. // | in-use).
  19307. //
  19308. // * network-interface.mac-address - The MAC address of the network interface.
  19309. //
  19310. // * network-interface.private-dns-name - The private DNS name of the network
  19311. // interface.
  19312. //
  19313. // * network-interface.source-dest-check - Whether the network interface
  19314. // performs source/destination checking. A value of true means checking is
  19315. // enabled, and false means checking is disabled. The value must be false
  19316. // for the network interface to perform network address translation (NAT)
  19317. // in your VPC.
  19318. //
  19319. // * network-interface.group-id - The ID of a security group associated with
  19320. // the network interface.
  19321. //
  19322. // * network-interface.group-name - The name of a security group associated
  19323. // with the network interface.
  19324. //
  19325. // * network-interface.attachment.attachment-id - The ID of the interface
  19326. // attachment.
  19327. //
  19328. // * network-interface.attachment.instance-id - The ID of the instance to
  19329. // which the network interface is attached.
  19330. //
  19331. // * network-interface.attachment.instance-owner-id - The owner ID of the
  19332. // instance to which the network interface is attached.
  19333. //
  19334. // * network-interface.addresses.private-ip-address - The private IP address
  19335. // associated with the network interface.
  19336. //
  19337. // * network-interface.attachment.device-index - The device index to which
  19338. // the network interface is attached.
  19339. //
  19340. // * network-interface.attachment.status - The status of the attachment (attaching
  19341. // | attached | detaching | detached).
  19342. //
  19343. // * network-interface.attachment.attach-time - The time that the network
  19344. // interface was attached to an instance.
  19345. //
  19346. // * network-interface.attachment.delete-on-termination - Specifies whether
  19347. // the attachment is deleted when an instance is terminated.
  19348. //
  19349. // * network-interface.addresses.primary - Specifies whether the IP address
  19350. // of the network interface is the primary private IP address.
  19351. //
  19352. // * network-interface.addresses.association.public-ip - The ID of the association
  19353. // of an Elastic IP address with a network interface.
  19354. //
  19355. // * network-interface.addresses.association.ip-owner-id - The owner ID of
  19356. // the private IP address associated with the network interface.
  19357. //
  19358. // * association.public-ip - The address of the Elastic IP address bound
  19359. // to the network interface.
  19360. //
  19361. // * association.ip-owner-id - The owner of the Elastic IP address associated
  19362. // with the network interface.
  19363. //
  19364. // * association.allocation-id - The allocation ID returned when you allocated
  19365. // the Elastic IP address for your network interface.
  19366. //
  19367. // * association.association-id - The association ID returned when the network
  19368. // interface was associated with an IP address.
  19369. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  19370. // One or more instance IDs.
  19371. //
  19372. // Default: Describes all your instances.
  19373. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
  19374. // The maximum number of results to return in a single call. To retrieve the
  19375. // remaining results, make another call with the returned NextToken value. This
  19376. // value can be between 5 and 1000. You cannot specify this parameter and the
  19377. // instance IDs parameter or tag filters in the same call.
  19378. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  19379. // The token to request the next page of results.
  19380. NextToken *string `locationName:"nextToken" type:"string"`
  19381. }
  19382. // String returns the string representation
  19383. func (s DescribeInstancesInput) String() string {
  19384. return awsutil.Prettify(s)
  19385. }
  19386. // GoString returns the string representation
  19387. func (s DescribeInstancesInput) GoString() string {
  19388. return s.String()
  19389. }
  19390. // Contains the output of DescribeInstances.
  19391. type DescribeInstancesOutput struct {
  19392. _ struct{} `type:"structure"`
  19393. // The token to use to retrieve the next page of results. This value is null
  19394. // when there are no more results to return.
  19395. NextToken *string `locationName:"nextToken" type:"string"`
  19396. // Zero or more reservations.
  19397. Reservations []*Reservation `locationName:"reservationSet" locationNameList:"item" type:"list"`
  19398. }
  19399. // String returns the string representation
  19400. func (s DescribeInstancesOutput) String() string {
  19401. return awsutil.Prettify(s)
  19402. }
  19403. // GoString returns the string representation
  19404. func (s DescribeInstancesOutput) GoString() string {
  19405. return s.String()
  19406. }
  19407. // Contains the parameters for DescribeInternetGateways.
  19408. type DescribeInternetGatewaysInput struct {
  19409. _ struct{} `type:"structure"`
  19410. // Checks whether you have the required permissions for the action, without
  19411. // actually making the request, and provides an error response. If you have
  19412. // the required permissions, the error response is DryRunOperation. Otherwise,
  19413. // it is UnauthorizedOperation.
  19414. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19415. // One or more filters.
  19416. //
  19417. // * attachment.state - The current state of the attachment between the gateway
  19418. // and the VPC (available). Present only if a VPC is attached.
  19419. //
  19420. // * attachment.vpc-id - The ID of an attached VPC.
  19421. //
  19422. // * internet-gateway-id - The ID of the Internet gateway.
  19423. //
  19424. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  19425. //
  19426. // * tag-key - The key of a tag assigned to the resource. This filter is
  19427. // independent of the tag-value filter. For example, if you use both the
  19428. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  19429. // assigned both the tag key Purpose (regardless of what the tag's value
  19430. // is), and the tag value X (regardless of what the tag's key is). If you
  19431. // want to list only resources where Purpose is X, see the tag:key=value
  19432. // filter.
  19433. //
  19434. // * tag-value - The value of a tag assigned to the resource. This filter
  19435. // is independent of the tag-key filter.
  19436. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  19437. // One or more Internet gateway IDs.
  19438. //
  19439. // Default: Describes all your Internet gateways.
  19440. InternetGatewayIds []*string `locationName:"internetGatewayId" locationNameList:"item" type:"list"`
  19441. }
  19442. // String returns the string representation
  19443. func (s DescribeInternetGatewaysInput) String() string {
  19444. return awsutil.Prettify(s)
  19445. }
  19446. // GoString returns the string representation
  19447. func (s DescribeInternetGatewaysInput) GoString() string {
  19448. return s.String()
  19449. }
  19450. // Contains the output of DescribeInternetGateways.
  19451. type DescribeInternetGatewaysOutput struct {
  19452. _ struct{} `type:"structure"`
  19453. // Information about one or more Internet gateways.
  19454. InternetGateways []*InternetGateway `locationName:"internetGatewaySet" locationNameList:"item" type:"list"`
  19455. }
  19456. // String returns the string representation
  19457. func (s DescribeInternetGatewaysOutput) String() string {
  19458. return awsutil.Prettify(s)
  19459. }
  19460. // GoString returns the string representation
  19461. func (s DescribeInternetGatewaysOutput) GoString() string {
  19462. return s.String()
  19463. }
  19464. // Contains the parameters for DescribeKeyPairs.
  19465. type DescribeKeyPairsInput struct {
  19466. _ struct{} `type:"structure"`
  19467. // Checks whether you have the required permissions for the action, without
  19468. // actually making the request, and provides an error response. If you have
  19469. // the required permissions, the error response is DryRunOperation. Otherwise,
  19470. // it is UnauthorizedOperation.
  19471. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19472. // One or more filters.
  19473. //
  19474. // * fingerprint - The fingerprint of the key pair.
  19475. //
  19476. // * key-name - The name of the key pair.
  19477. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  19478. // One or more key pair names.
  19479. //
  19480. // Default: Describes all your key pairs.
  19481. KeyNames []*string `locationName:"KeyName" locationNameList:"KeyName" type:"list"`
  19482. }
  19483. // String returns the string representation
  19484. func (s DescribeKeyPairsInput) String() string {
  19485. return awsutil.Prettify(s)
  19486. }
  19487. // GoString returns the string representation
  19488. func (s DescribeKeyPairsInput) GoString() string {
  19489. return s.String()
  19490. }
  19491. // Contains the output of DescribeKeyPairs.
  19492. type DescribeKeyPairsOutput struct {
  19493. _ struct{} `type:"structure"`
  19494. // Information about one or more key pairs.
  19495. KeyPairs []*KeyPairInfo `locationName:"keySet" locationNameList:"item" type:"list"`
  19496. }
  19497. // String returns the string representation
  19498. func (s DescribeKeyPairsOutput) String() string {
  19499. return awsutil.Prettify(s)
  19500. }
  19501. // GoString returns the string representation
  19502. func (s DescribeKeyPairsOutput) GoString() string {
  19503. return s.String()
  19504. }
  19505. // Contains the parameters for DescribeMovingAddresses.
  19506. type DescribeMovingAddressesInput struct {
  19507. _ struct{} `type:"structure"`
  19508. // Checks whether you have the required permissions for the action, without
  19509. // actually making the request, and provides an error response. If you have
  19510. // the required permissions, the error response is DryRunOperation. Otherwise,
  19511. // it is UnauthorizedOperation.
  19512. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19513. // One or more filters.
  19514. //
  19515. // * moving-status - The status of the Elastic IP address (MovingToVpc |
  19516. // RestoringToClassic).
  19517. Filters []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
  19518. // The maximum number of results to return for the request in a single page.
  19519. // The remaining results of the initial request can be seen by sending another
  19520. // request with the returned NextToken value. This value can be between 5 and
  19521. // 1000; if MaxResults is given a value outside of this range, an error is returned.
  19522. //
  19523. // Default: If no value is provided, the default is 1000.
  19524. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  19525. // The token to use to retrieve the next page of results.
  19526. NextToken *string `locationName:"nextToken" type:"string"`
  19527. // One or more Elastic IP addresses.
  19528. PublicIps []*string `locationName:"publicIp" locationNameList:"item" type:"list"`
  19529. }
  19530. // String returns the string representation
  19531. func (s DescribeMovingAddressesInput) String() string {
  19532. return awsutil.Prettify(s)
  19533. }
  19534. // GoString returns the string representation
  19535. func (s DescribeMovingAddressesInput) GoString() string {
  19536. return s.String()
  19537. }
  19538. // Contains the output of DescribeMovingAddresses.
  19539. type DescribeMovingAddressesOutput struct {
  19540. _ struct{} `type:"structure"`
  19541. // The status for each Elastic IP address.
  19542. MovingAddressStatuses []*MovingAddressStatus `locationName:"movingAddressStatusSet" locationNameList:"item" type:"list"`
  19543. // The token to use to retrieve the next page of results. This value is null
  19544. // when there are no more results to return.
  19545. NextToken *string `locationName:"nextToken" type:"string"`
  19546. }
  19547. // String returns the string representation
  19548. func (s DescribeMovingAddressesOutput) String() string {
  19549. return awsutil.Prettify(s)
  19550. }
  19551. // GoString returns the string representation
  19552. func (s DescribeMovingAddressesOutput) GoString() string {
  19553. return s.String()
  19554. }
  19555. // Contains the parameters for DescribeNatGateways.
  19556. type DescribeNatGatewaysInput struct {
  19557. _ struct{} `type:"structure"`
  19558. // One or more filters.
  19559. //
  19560. // * nat-gateway-id - The ID of the NAT gateway.
  19561. //
  19562. // * state - The state of the NAT gateway (pending | failed | available |
  19563. // deleting | deleted).
  19564. //
  19565. // * subnet-id - The ID of the subnet in which the NAT gateway resides.
  19566. //
  19567. // * vpc-id - The ID of the VPC in which the NAT gateway resides.
  19568. Filter []*Filter `locationNameList:"Filter" type:"list"`
  19569. // The maximum number of items to return for this request. The request returns
  19570. // a token that you can specify in a subsequent call to get the next set of
  19571. // results.
  19572. //
  19573. // Constraint: If the value specified is greater than 1000, we return only 1000
  19574. // items.
  19575. MaxResults *int64 `type:"integer"`
  19576. // One or more NAT gateway IDs.
  19577. NatGatewayIds []*string `locationName:"NatGatewayId" locationNameList:"item" type:"list"`
  19578. // The token to retrieve the next page of results.
  19579. NextToken *string `type:"string"`
  19580. }
  19581. // String returns the string representation
  19582. func (s DescribeNatGatewaysInput) String() string {
  19583. return awsutil.Prettify(s)
  19584. }
  19585. // GoString returns the string representation
  19586. func (s DescribeNatGatewaysInput) GoString() string {
  19587. return s.String()
  19588. }
  19589. // Contains the output of DescribeNatGateways.
  19590. type DescribeNatGatewaysOutput struct {
  19591. _ struct{} `type:"structure"`
  19592. // Information about the NAT gateways.
  19593. NatGateways []*NatGateway `locationName:"natGatewaySet" locationNameList:"item" type:"list"`
  19594. // The token to use to retrieve the next page of results. This value is null
  19595. // when there are no more results to return.
  19596. NextToken *string `locationName:"nextToken" type:"string"`
  19597. }
  19598. // String returns the string representation
  19599. func (s DescribeNatGatewaysOutput) String() string {
  19600. return awsutil.Prettify(s)
  19601. }
  19602. // GoString returns the string representation
  19603. func (s DescribeNatGatewaysOutput) GoString() string {
  19604. return s.String()
  19605. }
  19606. // Contains the parameters for DescribeNetworkAcls.
  19607. type DescribeNetworkAclsInput struct {
  19608. _ struct{} `type:"structure"`
  19609. // Checks whether you have the required permissions for the action, without
  19610. // actually making the request, and provides an error response. If you have
  19611. // the required permissions, the error response is DryRunOperation. Otherwise,
  19612. // it is UnauthorizedOperation.
  19613. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19614. // One or more filters.
  19615. //
  19616. // * association.association-id - The ID of an association ID for the ACL.
  19617. //
  19618. // * association.network-acl-id - The ID of the network ACL involved in the
  19619. // association.
  19620. //
  19621. // * association.subnet-id - The ID of the subnet involved in the association.
  19622. //
  19623. // * default - Indicates whether the ACL is the default network ACL for the
  19624. // VPC.
  19625. //
  19626. // * entry.cidr - The CIDR range specified in the entry.
  19627. //
  19628. // * entry.egress - Indicates whether the entry applies to egress traffic.
  19629. //
  19630. // * entry.icmp.code - The ICMP code specified in the entry, if any.
  19631. //
  19632. // * entry.icmp.type - The ICMP type specified in the entry, if any.
  19633. //
  19634. // * entry.port-range.from - The start of the port range specified in the
  19635. // entry.
  19636. //
  19637. // * entry.port-range.to - The end of the port range specified in the entry.
  19638. //
  19639. //
  19640. // * entry.protocol - The protocol specified in the entry (tcp | udp | icmp
  19641. // or a protocol number).
  19642. //
  19643. // * entry.rule-action - Allows or denies the matching traffic (allow | deny).
  19644. //
  19645. // * entry.rule-number - The number of an entry (in other words, rule) in
  19646. // the ACL's set of entries.
  19647. //
  19648. // * network-acl-id - The ID of the network ACL.
  19649. //
  19650. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  19651. //
  19652. // * tag-key - The key of a tag assigned to the resource. This filter is
  19653. // independent of the tag-value filter. For example, if you use both the
  19654. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  19655. // assigned both the tag key Purpose (regardless of what the tag's value
  19656. // is), and the tag value X (regardless of what the tag's key is). If you
  19657. // want to list only resources where Purpose is X, see the tag:key=value
  19658. // filter.
  19659. //
  19660. // * tag-value - The value of a tag assigned to the resource. This filter
  19661. // is independent of the tag-key filter.
  19662. //
  19663. // * vpc-id - The ID of the VPC for the network ACL.
  19664. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  19665. // One or more network ACL IDs.
  19666. //
  19667. // Default: Describes all your network ACLs.
  19668. NetworkAclIds []*string `locationName:"NetworkAclId" locationNameList:"item" type:"list"`
  19669. }
  19670. // String returns the string representation
  19671. func (s DescribeNetworkAclsInput) String() string {
  19672. return awsutil.Prettify(s)
  19673. }
  19674. // GoString returns the string representation
  19675. func (s DescribeNetworkAclsInput) GoString() string {
  19676. return s.String()
  19677. }
  19678. // Contains the output of DescribeNetworkAcls.
  19679. type DescribeNetworkAclsOutput struct {
  19680. _ struct{} `type:"structure"`
  19681. // Information about one or more network ACLs.
  19682. NetworkAcls []*NetworkAcl `locationName:"networkAclSet" locationNameList:"item" type:"list"`
  19683. }
  19684. // String returns the string representation
  19685. func (s DescribeNetworkAclsOutput) String() string {
  19686. return awsutil.Prettify(s)
  19687. }
  19688. // GoString returns the string representation
  19689. func (s DescribeNetworkAclsOutput) GoString() string {
  19690. return s.String()
  19691. }
  19692. // Contains the parameters for DescribeNetworkInterfaceAttribute.
  19693. type DescribeNetworkInterfaceAttributeInput struct {
  19694. _ struct{} `type:"structure"`
  19695. // The attribute of the network interface.
  19696. Attribute *string `locationName:"attribute" type:"string" enum:"NetworkInterfaceAttribute"`
  19697. // Checks whether you have the required permissions for the action, without
  19698. // actually making the request, and provides an error response. If you have
  19699. // the required permissions, the error response is DryRunOperation. Otherwise,
  19700. // it is UnauthorizedOperation.
  19701. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19702. // The ID of the network interface.
  19703. //
  19704. // NetworkInterfaceId is a required field
  19705. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  19706. }
  19707. // String returns the string representation
  19708. func (s DescribeNetworkInterfaceAttributeInput) String() string {
  19709. return awsutil.Prettify(s)
  19710. }
  19711. // GoString returns the string representation
  19712. func (s DescribeNetworkInterfaceAttributeInput) GoString() string {
  19713. return s.String()
  19714. }
  19715. // Validate inspects the fields of the type to determine if they are valid.
  19716. func (s *DescribeNetworkInterfaceAttributeInput) Validate() error {
  19717. invalidParams := request.ErrInvalidParams{Context: "DescribeNetworkInterfaceAttributeInput"}
  19718. if s.NetworkInterfaceId == nil {
  19719. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  19720. }
  19721. if invalidParams.Len() > 0 {
  19722. return invalidParams
  19723. }
  19724. return nil
  19725. }
  19726. // Contains the output of DescribeNetworkInterfaceAttribute.
  19727. type DescribeNetworkInterfaceAttributeOutput struct {
  19728. _ struct{} `type:"structure"`
  19729. // The attachment (if any) of the network interface.
  19730. Attachment *NetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
  19731. // The description of the network interface.
  19732. Description *AttributeValue `locationName:"description" type:"structure"`
  19733. // The security groups associated with the network interface.
  19734. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  19735. // The ID of the network interface.
  19736. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  19737. // Indicates whether source/destination checking is enabled.
  19738. SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
  19739. }
  19740. // String returns the string representation
  19741. func (s DescribeNetworkInterfaceAttributeOutput) String() string {
  19742. return awsutil.Prettify(s)
  19743. }
  19744. // GoString returns the string representation
  19745. func (s DescribeNetworkInterfaceAttributeOutput) GoString() string {
  19746. return s.String()
  19747. }
  19748. // Contains the parameters for DescribeNetworkInterfaces.
  19749. type DescribeNetworkInterfacesInput struct {
  19750. _ struct{} `type:"structure"`
  19751. // Checks whether you have the required permissions for the action, without
  19752. // actually making the request, and provides an error response. If you have
  19753. // the required permissions, the error response is DryRunOperation. Otherwise,
  19754. // it is UnauthorizedOperation.
  19755. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19756. // One or more filters.
  19757. //
  19758. // * addresses.private-ip-address - The private IP addresses associated with
  19759. // the network interface.
  19760. //
  19761. // * addresses.primary - Whether the private IP address is the primary IP
  19762. // address associated with the network interface.
  19763. //
  19764. // * addresses.association.public-ip - The association ID returned when the
  19765. // network interface was associated with the Elastic IP address.
  19766. //
  19767. // * addresses.association.owner-id - The owner ID of the addresses associated
  19768. // with the network interface.
  19769. //
  19770. // * association.association-id - The association ID returned when the network
  19771. // interface was associated with an IP address.
  19772. //
  19773. // * association.allocation-id - The allocation ID returned when you allocated
  19774. // the Elastic IP address for your network interface.
  19775. //
  19776. // * association.ip-owner-id - The owner of the Elastic IP address associated
  19777. // with the network interface.
  19778. //
  19779. // * association.public-ip - The address of the Elastic IP address bound
  19780. // to the network interface.
  19781. //
  19782. // * association.public-dns-name - The public DNS name for the network interface.
  19783. //
  19784. // * attachment.attachment-id - The ID of the interface attachment.
  19785. //
  19786. // * attachment.attach.time - The time that the network interface was attached
  19787. // to an instance.
  19788. //
  19789. // * attachment.delete-on-termination - Indicates whether the attachment
  19790. // is deleted when an instance is terminated.
  19791. //
  19792. // * attachment.device-index - The device index to which the network interface
  19793. // is attached.
  19794. //
  19795. // * attachment.instance-id - The ID of the instance to which the network
  19796. // interface is attached.
  19797. //
  19798. // * attachment.instance-owner-id - The owner ID of the instance to which
  19799. // the network interface is attached.
  19800. //
  19801. // * attachment.nat-gateway-id - The ID of the NAT gateway to which the network
  19802. // interface is attached.
  19803. //
  19804. // * attachment.status - The status of the attachment (attaching | attached
  19805. // | detaching | detached).
  19806. //
  19807. // * availability-zone - The Availability Zone of the network interface.
  19808. //
  19809. // * description - The description of the network interface.
  19810. //
  19811. // * group-id - The ID of a security group associated with the network interface.
  19812. //
  19813. // * group-name - The name of a security group associated with the network
  19814. // interface.
  19815. //
  19816. // * mac-address - The MAC address of the network interface.
  19817. //
  19818. // * network-interface-id - The ID of the network interface.
  19819. //
  19820. // * owner-id - The AWS account ID of the network interface owner.
  19821. //
  19822. // * private-ip-address - The private IP address or addresses of the network
  19823. // interface.
  19824. //
  19825. // * private-dns-name - The private DNS name of the network interface.
  19826. //
  19827. // * requester-id - The ID of the entity that launched the instance on your
  19828. // behalf (for example, AWS Management Console, Auto Scaling, and so on).
  19829. //
  19830. // * requester-managed - Indicates whether the network interface is being
  19831. // managed by an AWS service (for example, AWS Management Console, Auto Scaling,
  19832. // and so on).
  19833. //
  19834. // * source-desk-check - Indicates whether the network interface performs
  19835. // source/destination checking. A value of true means checking is enabled,
  19836. // and false means checking is disabled. The value must be false for the
  19837. // network interface to perform network address translation (NAT) in your
  19838. // VPC.
  19839. //
  19840. // * status - The status of the network interface. If the network interface
  19841. // is not attached to an instance, the status is available; if a network
  19842. // interface is attached to an instance the status is in-use.
  19843. //
  19844. // * subnet-id - The ID of the subnet for the network interface.
  19845. //
  19846. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  19847. //
  19848. // * tag-key - The key of a tag assigned to the resource. This filter is
  19849. // independent of the tag-value filter. For example, if you use both the
  19850. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  19851. // assigned both the tag key Purpose (regardless of what the tag's value
  19852. // is), and the tag value X (regardless of what the tag's key is). If you
  19853. // want to list only resources where Purpose is X, see the tag:key=value
  19854. // filter.
  19855. //
  19856. // * tag-value - The value of a tag assigned to the resource. This filter
  19857. // is independent of the tag-key filter.
  19858. //
  19859. // * vpc-id - The ID of the VPC for the network interface.
  19860. Filters []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
  19861. // One or more network interface IDs.
  19862. //
  19863. // Default: Describes all your network interfaces.
  19864. NetworkInterfaceIds []*string `locationName:"NetworkInterfaceId" locationNameList:"item" type:"list"`
  19865. }
  19866. // String returns the string representation
  19867. func (s DescribeNetworkInterfacesInput) String() string {
  19868. return awsutil.Prettify(s)
  19869. }
  19870. // GoString returns the string representation
  19871. func (s DescribeNetworkInterfacesInput) GoString() string {
  19872. return s.String()
  19873. }
  19874. // Contains the output of DescribeNetworkInterfaces.
  19875. type DescribeNetworkInterfacesOutput struct {
  19876. _ struct{} `type:"structure"`
  19877. // Information about one or more network interfaces.
  19878. NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
  19879. }
  19880. // String returns the string representation
  19881. func (s DescribeNetworkInterfacesOutput) String() string {
  19882. return awsutil.Prettify(s)
  19883. }
  19884. // GoString returns the string representation
  19885. func (s DescribeNetworkInterfacesOutput) GoString() string {
  19886. return s.String()
  19887. }
  19888. // Contains the parameters for DescribePlacementGroups.
  19889. type DescribePlacementGroupsInput struct {
  19890. _ struct{} `type:"structure"`
  19891. // Checks whether you have the required permissions for the action, without
  19892. // actually making the request, and provides an error response. If you have
  19893. // the required permissions, the error response is DryRunOperation. Otherwise,
  19894. // it is UnauthorizedOperation.
  19895. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19896. // One or more filters.
  19897. //
  19898. // * group-name - The name of the placement group.
  19899. //
  19900. // * state - The state of the placement group (pending | available | deleting
  19901. // | deleted).
  19902. //
  19903. // * strategy - The strategy of the placement group (cluster).
  19904. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  19905. // One or more placement group names.
  19906. //
  19907. // Default: Describes all your placement groups, or only those otherwise specified.
  19908. GroupNames []*string `locationName:"groupName" type:"list"`
  19909. }
  19910. // String returns the string representation
  19911. func (s DescribePlacementGroupsInput) String() string {
  19912. return awsutil.Prettify(s)
  19913. }
  19914. // GoString returns the string representation
  19915. func (s DescribePlacementGroupsInput) GoString() string {
  19916. return s.String()
  19917. }
  19918. // Contains the output of DescribePlacementGroups.
  19919. type DescribePlacementGroupsOutput struct {
  19920. _ struct{} `type:"structure"`
  19921. // One or more placement groups.
  19922. PlacementGroups []*PlacementGroup `locationName:"placementGroupSet" locationNameList:"item" type:"list"`
  19923. }
  19924. // String returns the string representation
  19925. func (s DescribePlacementGroupsOutput) String() string {
  19926. return awsutil.Prettify(s)
  19927. }
  19928. // GoString returns the string representation
  19929. func (s DescribePlacementGroupsOutput) GoString() string {
  19930. return s.String()
  19931. }
  19932. // Contains the parameters for DescribePrefixLists.
  19933. type DescribePrefixListsInput struct {
  19934. _ struct{} `type:"structure"`
  19935. // Checks whether you have the required permissions for the action, without
  19936. // actually making the request, and provides an error response. If you have
  19937. // the required permissions, the error response is DryRunOperation. Otherwise,
  19938. // it is UnauthorizedOperation.
  19939. DryRun *bool `type:"boolean"`
  19940. // One or more filters.
  19941. //
  19942. // * prefix-list-id: The ID of a prefix list.
  19943. //
  19944. // * prefix-list-name: The name of a prefix list.
  19945. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  19946. // The maximum number of items to return for this request. The request returns
  19947. // a token that you can specify in a subsequent call to get the next set of
  19948. // results.
  19949. //
  19950. // Constraint: If the value specified is greater than 1000, we return only 1000
  19951. // items.
  19952. MaxResults *int64 `type:"integer"`
  19953. // The token for the next set of items to return. (You received this token from
  19954. // a prior call.)
  19955. NextToken *string `type:"string"`
  19956. // One or more prefix list IDs.
  19957. PrefixListIds []*string `locationName:"PrefixListId" locationNameList:"item" type:"list"`
  19958. }
  19959. // String returns the string representation
  19960. func (s DescribePrefixListsInput) String() string {
  19961. return awsutil.Prettify(s)
  19962. }
  19963. // GoString returns the string representation
  19964. func (s DescribePrefixListsInput) GoString() string {
  19965. return s.String()
  19966. }
  19967. // Contains the output of DescribePrefixLists.
  19968. type DescribePrefixListsOutput struct {
  19969. _ struct{} `type:"structure"`
  19970. // The token to use when requesting the next set of items. If there are no additional
  19971. // items to return, the string is empty.
  19972. NextToken *string `locationName:"nextToken" type:"string"`
  19973. // All available prefix lists.
  19974. PrefixLists []*PrefixList `locationName:"prefixListSet" locationNameList:"item" type:"list"`
  19975. }
  19976. // String returns the string representation
  19977. func (s DescribePrefixListsOutput) String() string {
  19978. return awsutil.Prettify(s)
  19979. }
  19980. // GoString returns the string representation
  19981. func (s DescribePrefixListsOutput) GoString() string {
  19982. return s.String()
  19983. }
  19984. // Contains the parameters for DescribeRegions.
  19985. type DescribeRegionsInput struct {
  19986. _ struct{} `type:"structure"`
  19987. // Checks whether you have the required permissions for the action, without
  19988. // actually making the request, and provides an error response. If you have
  19989. // the required permissions, the error response is DryRunOperation. Otherwise,
  19990. // it is UnauthorizedOperation.
  19991. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19992. // One or more filters.
  19993. //
  19994. // * endpoint - The endpoint of the region (for example, ec2.us-east-1.amazonaws.com).
  19995. //
  19996. // * region-name - The name of the region (for example, us-east-1).
  19997. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  19998. // The names of one or more regions.
  19999. RegionNames []*string `locationName:"RegionName" locationNameList:"RegionName" type:"list"`
  20000. }
  20001. // String returns the string representation
  20002. func (s DescribeRegionsInput) String() string {
  20003. return awsutil.Prettify(s)
  20004. }
  20005. // GoString returns the string representation
  20006. func (s DescribeRegionsInput) GoString() string {
  20007. return s.String()
  20008. }
  20009. // Contains the output of DescribeRegions.
  20010. type DescribeRegionsOutput struct {
  20011. _ struct{} `type:"structure"`
  20012. // Information about one or more regions.
  20013. Regions []*Region `locationName:"regionInfo" locationNameList:"item" type:"list"`
  20014. }
  20015. // String returns the string representation
  20016. func (s DescribeRegionsOutput) String() string {
  20017. return awsutil.Prettify(s)
  20018. }
  20019. // GoString returns the string representation
  20020. func (s DescribeRegionsOutput) GoString() string {
  20021. return s.String()
  20022. }
  20023. // Contains the parameters for DescribeReservedInstances.
  20024. type DescribeReservedInstancesInput struct {
  20025. _ struct{} `type:"structure"`
  20026. // Checks whether you have the required permissions for the action, without
  20027. // actually making the request, and provides an error response. If you have
  20028. // the required permissions, the error response is DryRunOperation. Otherwise,
  20029. // it is UnauthorizedOperation.
  20030. DryRun *bool `locationName:"dryRun" type:"boolean"`
  20031. // One or more filters.
  20032. //
  20033. // * availability-zone - The Availability Zone where the Reserved Instance
  20034. // can be used.
  20035. //
  20036. // * duration - The duration of the Reserved Instance (one year or three
  20037. // years), in seconds (31536000 | 94608000).
  20038. //
  20039. // * end - The time when the Reserved Instance expires (for example, 2015-08-07T11:54:42.000Z).
  20040. //
  20041. // * fixed-price - The purchase price of the Reserved Instance (for example,
  20042. // 9800.0).
  20043. //
  20044. // * instance-type - The instance type that is covered by the reservation.
  20045. //
  20046. // * scope - The scope of the Reserved Instance (Region or Availability Zone).
  20047. //
  20048. // * product-description - The Reserved Instance product platform description.
  20049. // Instances that include (Amazon VPC) in the product platform description
  20050. // will only be displayed to EC2-Classic account holders and are for use
  20051. // with Amazon VPC (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux | SUSE
  20052. // Linux (Amazon VPC) | Red Hat Enterprise Linux | Red Hat Enterprise Linux
  20053. // (Amazon VPC) | Windows | Windows (Amazon VPC) | Windows with SQL Server
  20054. // Standard | Windows with SQL Server Standard (Amazon VPC) | Windows with
  20055. // SQL Server Web | Windows with SQL Server Web (Amazon VPC) | Windows with
  20056. // SQL Server Enterprise | Windows with SQL Server Enterprise (Amazon VPC)).
  20057. //
  20058. // * reserved-instances-id - The ID of the Reserved Instance.
  20059. //
  20060. // * start - The time at which the Reserved Instance purchase request was
  20061. // placed (for example, 2014-08-07T11:54:42.000Z).
  20062. //
  20063. // * state - The state of the Reserved Instance (payment-pending | active
  20064. // | payment-failed | retired).
  20065. //
  20066. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  20067. //
  20068. // * tag-key - The key of a tag assigned to the resource. This filter is
  20069. // independent of the tag-value filter. For example, if you use both the
  20070. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  20071. // assigned both the tag key Purpose (regardless of what the tag's value
  20072. // is), and the tag value X (regardless of what the tag's key is). If you
  20073. // want to list only resources where Purpose is X, see the tag:key=value
  20074. // filter.
  20075. //
  20076. // * tag-value - The value of a tag assigned to the resource. This filter
  20077. // is independent of the tag-key filter.
  20078. //
  20079. // * usage-price - The usage price of the Reserved Instance, per hour (for
  20080. // example, 0.84).
  20081. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  20082. // Describes whether the Reserved Instance is Standard or Convertible.
  20083. OfferingClass *string `type:"string" enum:"OfferingClassType"`
  20084. // The Reserved Instance offering type. If you are using tools that predate
  20085. // the 2011-11-01 API version, you only have access to the Medium Utilization
  20086. // Reserved Instance offering type.
  20087. OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
  20088. // One or more Reserved Instance IDs.
  20089. //
  20090. // Default: Describes all your Reserved Instances, or only those otherwise specified.
  20091. ReservedInstancesIds []*string `locationName:"ReservedInstancesId" locationNameList:"ReservedInstancesId" type:"list"`
  20092. }
  20093. // String returns the string representation
  20094. func (s DescribeReservedInstancesInput) String() string {
  20095. return awsutil.Prettify(s)
  20096. }
  20097. // GoString returns the string representation
  20098. func (s DescribeReservedInstancesInput) GoString() string {
  20099. return s.String()
  20100. }
  20101. // Contains the parameters for DescribeReservedInstancesListings.
  20102. type DescribeReservedInstancesListingsInput struct {
  20103. _ struct{} `type:"structure"`
  20104. // One or more filters.
  20105. //
  20106. // * reserved-instances-id - The ID of the Reserved Instances.
  20107. //
  20108. // * reserved-instances-listing-id - The ID of the Reserved Instances listing.
  20109. //
  20110. // * status - The status of the Reserved Instance listing (pending | active
  20111. // | cancelled | closed).
  20112. //
  20113. // * status-message - The reason for the status.
  20114. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  20115. // One or more Reserved Instance IDs.
  20116. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  20117. // One or more Reserved Instance listing IDs.
  20118. ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string"`
  20119. }
  20120. // String returns the string representation
  20121. func (s DescribeReservedInstancesListingsInput) String() string {
  20122. return awsutil.Prettify(s)
  20123. }
  20124. // GoString returns the string representation
  20125. func (s DescribeReservedInstancesListingsInput) GoString() string {
  20126. return s.String()
  20127. }
  20128. // Contains the output of DescribeReservedInstancesListings.
  20129. type DescribeReservedInstancesListingsOutput struct {
  20130. _ struct{} `type:"structure"`
  20131. // Information about the Reserved Instance listing.
  20132. ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
  20133. }
  20134. // String returns the string representation
  20135. func (s DescribeReservedInstancesListingsOutput) String() string {
  20136. return awsutil.Prettify(s)
  20137. }
  20138. // GoString returns the string representation
  20139. func (s DescribeReservedInstancesListingsOutput) GoString() string {
  20140. return s.String()
  20141. }
  20142. // Contains the parameters for DescribeReservedInstancesModifications.
  20143. type DescribeReservedInstancesModificationsInput struct {
  20144. _ struct{} `type:"structure"`
  20145. // One or more filters.
  20146. //
  20147. // * client-token - The idempotency token for the modification request.
  20148. //
  20149. // * create-date - The time when the modification request was created.
  20150. //
  20151. // * effective-date - The time when the modification becomes effective.
  20152. //
  20153. // * modification-result.reserved-instances-id - The ID for the Reserved
  20154. // Instances created as part of the modification request. This ID is only
  20155. // available when the status of the modification is fulfilled.
  20156. //
  20157. // * modification-result.target-configuration.availability-zone - The Availability
  20158. // Zone for the new Reserved Instances.
  20159. //
  20160. // * modification-result.target-configuration.instance-count - The number
  20161. // of new Reserved Instances.
  20162. //
  20163. // * modification-result.target-configuration.instance-type - The instance
  20164. // type of the new Reserved Instances.
  20165. //
  20166. // * modification-result.target-configuration.platform - The network platform
  20167. // of the new Reserved Instances (EC2-Classic | EC2-VPC).
  20168. //
  20169. // * reserved-instances-id - The ID of the Reserved Instances modified.
  20170. //
  20171. // * reserved-instances-modification-id - The ID of the modification request.
  20172. //
  20173. // * status - The status of the Reserved Instances modification request (processing
  20174. // | fulfilled | failed).
  20175. //
  20176. // * status-message - The reason for the status.
  20177. //
  20178. // * update-date - The time when the modification request was last updated.
  20179. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  20180. // The token to retrieve the next page of results.
  20181. NextToken *string `locationName:"nextToken" type:"string"`
  20182. // IDs for the submitted modification request.
  20183. ReservedInstancesModificationIds []*string `locationName:"ReservedInstancesModificationId" locationNameList:"ReservedInstancesModificationId" type:"list"`
  20184. }
  20185. // String returns the string representation
  20186. func (s DescribeReservedInstancesModificationsInput) String() string {
  20187. return awsutil.Prettify(s)
  20188. }
  20189. // GoString returns the string representation
  20190. func (s DescribeReservedInstancesModificationsInput) GoString() string {
  20191. return s.String()
  20192. }
  20193. // Contains the output of DescribeReservedInstancesModifications.
  20194. type DescribeReservedInstancesModificationsOutput struct {
  20195. _ struct{} `type:"structure"`
  20196. // The token to use to retrieve the next page of results. This value is null
  20197. // when there are no more results to return.
  20198. NextToken *string `locationName:"nextToken" type:"string"`
  20199. // The Reserved Instance modification information.
  20200. ReservedInstancesModifications []*ReservedInstancesModification `locationName:"reservedInstancesModificationsSet" locationNameList:"item" type:"list"`
  20201. }
  20202. // String returns the string representation
  20203. func (s DescribeReservedInstancesModificationsOutput) String() string {
  20204. return awsutil.Prettify(s)
  20205. }
  20206. // GoString returns the string representation
  20207. func (s DescribeReservedInstancesModificationsOutput) GoString() string {
  20208. return s.String()
  20209. }
  20210. // Contains the parameters for DescribeReservedInstancesOfferings.
  20211. type DescribeReservedInstancesOfferingsInput struct {
  20212. _ struct{} `type:"structure"`
  20213. // The Availability Zone in which the Reserved Instance can be used.
  20214. AvailabilityZone *string `type:"string"`
  20215. // Checks whether you have the required permissions for the action, without
  20216. // actually making the request, and provides an error response. If you have
  20217. // the required permissions, the error response is DryRunOperation. Otherwise,
  20218. // it is UnauthorizedOperation.
  20219. DryRun *bool `locationName:"dryRun" type:"boolean"`
  20220. // One or more filters.
  20221. //
  20222. // * availability-zone - The Availability Zone where the Reserved Instance
  20223. // can be used.
  20224. //
  20225. // * duration - The duration of the Reserved Instance (for example, one year
  20226. // or three years), in seconds (31536000 | 94608000).
  20227. //
  20228. // * fixed-price - The purchase price of the Reserved Instance (for example,
  20229. // 9800.0).
  20230. //
  20231. // * instance-type - The instance type that is covered by the reservation.
  20232. //
  20233. // * marketplace - Set to true to show only Reserved Instance Marketplace
  20234. // offerings. When this filter is not used, which is the default behavior,
  20235. // all offerings from both AWS and the Reserved Instance Marketplace are
  20236. // listed.
  20237. //
  20238. // * product-description - The Reserved Instance product platform description.
  20239. // Instances that include (Amazon VPC) in the product platform description
  20240. // will only be displayed to EC2-Classic account holders and are for use
  20241. // with Amazon VPC. (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux |
  20242. // SUSE Linux (Amazon VPC) | Red Hat Enterprise Linux | Red Hat Enterprise
  20243. // Linux (Amazon VPC) | Windows | Windows (Amazon VPC) | Windows with SQL
  20244. // Server Standard | Windows with SQL Server Standard (Amazon VPC) | Windows
  20245. // with SQL Server Web | Windows with SQL Server Web (Amazon VPC) | Windows
  20246. // with SQL Server Enterprise | Windows with SQL Server Enterprise (Amazon
  20247. // VPC))
  20248. //
  20249. // * reserved-instances-offering-id - The Reserved Instances offering ID.
  20250. //
  20251. // * scope - The scope of the Reserved Instance (Availability Zone or Region).
  20252. //
  20253. // * usage-price - The usage price of the Reserved Instance, per hour (for
  20254. // example, 0.84).
  20255. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  20256. // Include Reserved Instance Marketplace offerings in the response.
  20257. IncludeMarketplace *bool `type:"boolean"`
  20258. // The tenancy of the instances covered by the reservation. A Reserved Instance
  20259. // with a tenancy of dedicated is applied to instances that run in a VPC on
  20260. // single-tenant hardware (i.e., Dedicated Instances).
  20261. //
  20262. // Default: default
  20263. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  20264. // The instance type that the reservation will cover (for example, m1.small).
  20265. // For more information, see Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
  20266. // in the Amazon Elastic Compute Cloud User Guide.
  20267. InstanceType *string `type:"string" enum:"InstanceType"`
  20268. // The maximum duration (in seconds) to filter when searching for offerings.
  20269. //
  20270. // Default: 94608000 (3 years)
  20271. MaxDuration *int64 `type:"long"`
  20272. // The maximum number of instances to filter when searching for offerings.
  20273. //
  20274. // Default: 20
  20275. MaxInstanceCount *int64 `type:"integer"`
  20276. // The maximum number of results to return for the request in a single page.
  20277. // The remaining results of the initial request can be seen by sending another
  20278. // request with the returned NextToken value. The maximum is 100.
  20279. //
  20280. // Default: 100
  20281. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  20282. // The minimum duration (in seconds) to filter when searching for offerings.
  20283. //
  20284. // Default: 2592000 (1 month)
  20285. MinDuration *int64 `type:"long"`
  20286. // The token to retrieve the next page of results.
  20287. NextToken *string `locationName:"nextToken" type:"string"`
  20288. // The offering class of the Reserved Instance. Can be standard or convertible.
  20289. OfferingClass *string `type:"string" enum:"OfferingClassType"`
  20290. // The Reserved Instance offering type. If you are using tools that predate
  20291. // the 2011-11-01 API version, you only have access to the Medium Utilization
  20292. // Reserved Instance offering type.
  20293. OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
  20294. // The Reserved Instance product platform description. Instances that include
  20295. // (Amazon VPC) in the description are for use with Amazon VPC.
  20296. ProductDescription *string `type:"string" enum:"RIProductDescription"`
  20297. // One or more Reserved Instances offering IDs.
  20298. ReservedInstancesOfferingIds []*string `locationName:"ReservedInstancesOfferingId" type:"list"`
  20299. }
  20300. // String returns the string representation
  20301. func (s DescribeReservedInstancesOfferingsInput) String() string {
  20302. return awsutil.Prettify(s)
  20303. }
  20304. // GoString returns the string representation
  20305. func (s DescribeReservedInstancesOfferingsInput) GoString() string {
  20306. return s.String()
  20307. }
  20308. // Contains the output of DescribeReservedInstancesOfferings.
  20309. type DescribeReservedInstancesOfferingsOutput struct {
  20310. _ struct{} `type:"structure"`
  20311. // The token to use to retrieve the next page of results. This value is null
  20312. // when there are no more results to return.
  20313. NextToken *string `locationName:"nextToken" type:"string"`
  20314. // A list of Reserved Instances offerings.
  20315. ReservedInstancesOfferings []*ReservedInstancesOffering `locationName:"reservedInstancesOfferingsSet" locationNameList:"item" type:"list"`
  20316. }
  20317. // String returns the string representation
  20318. func (s DescribeReservedInstancesOfferingsOutput) String() string {
  20319. return awsutil.Prettify(s)
  20320. }
  20321. // GoString returns the string representation
  20322. func (s DescribeReservedInstancesOfferingsOutput) GoString() string {
  20323. return s.String()
  20324. }
  20325. // Contains the output for DescribeReservedInstances.
  20326. type DescribeReservedInstancesOutput struct {
  20327. _ struct{} `type:"structure"`
  20328. // A list of Reserved Instances.
  20329. ReservedInstances []*ReservedInstances `locationName:"reservedInstancesSet" locationNameList:"item" type:"list"`
  20330. }
  20331. // String returns the string representation
  20332. func (s DescribeReservedInstancesOutput) String() string {
  20333. return awsutil.Prettify(s)
  20334. }
  20335. // GoString returns the string representation
  20336. func (s DescribeReservedInstancesOutput) GoString() string {
  20337. return s.String()
  20338. }
  20339. // Contains the parameters for DescribeRouteTables.
  20340. type DescribeRouteTablesInput struct {
  20341. _ struct{} `type:"structure"`
  20342. // Checks whether you have the required permissions for the action, without
  20343. // actually making the request, and provides an error response. If you have
  20344. // the required permissions, the error response is DryRunOperation. Otherwise,
  20345. // it is UnauthorizedOperation.
  20346. DryRun *bool `locationName:"dryRun" type:"boolean"`
  20347. // One or more filters.
  20348. //
  20349. // * association.route-table-association-id - The ID of an association ID
  20350. // for the route table.
  20351. //
  20352. // * association.route-table-id - The ID of the route table involved in the
  20353. // association.
  20354. //
  20355. // * association.subnet-id - The ID of the subnet involved in the association.
  20356. //
  20357. // * association.main - Indicates whether the route table is the main route
  20358. // table for the VPC (true | false).
  20359. //
  20360. // * route-table-id - The ID of the route table.
  20361. //
  20362. // * route.destination-cidr-block - The CIDR range specified in a route in
  20363. // the table.
  20364. //
  20365. // * route.destination-prefix-list-id - The ID (prefix) of the AWS service
  20366. // specified in a route in the table.
  20367. //
  20368. // * route.gateway-id - The ID of a gateway specified in a route in the table.
  20369. //
  20370. // * route.instance-id - The ID of an instance specified in a route in the
  20371. // table.
  20372. //
  20373. // * route.nat-gateway-id - The ID of a NAT gateway.
  20374. //
  20375. // * route.origin - Describes how the route was created. CreateRouteTable
  20376. // indicates that the route was automatically created when the route table
  20377. // was created; CreateRoute indicates that the route was manually added to
  20378. // the route table; EnableVgwRoutePropagation indicates that the route was
  20379. // propagated by route propagation.
  20380. //
  20381. // * route.state - The state of a route in the route table (active | blackhole).
  20382. // The blackhole state indicates that the route's target isn't available
  20383. // (for example, the specified gateway isn't attached to the VPC, the specified
  20384. // NAT instance has been terminated, and so on).
  20385. //
  20386. // * route.vpc-peering-connection-id - The ID of a VPC peering connection
  20387. // specified in a route in the table.
  20388. //
  20389. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  20390. //
  20391. // * tag-key - The key of a tag assigned to the resource. This filter is
  20392. // independent of the tag-value filter. For example, if you use both the
  20393. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  20394. // assigned both the tag key Purpose (regardless of what the tag's value
  20395. // is), and the tag value X (regardless of what the tag's key is). If you
  20396. // want to list only resources where Purpose is X, see the tag:key=value
  20397. // filter.
  20398. //
  20399. // * tag-value - The value of a tag assigned to the resource. This filter
  20400. // is independent of the tag-key filter.
  20401. //
  20402. // * vpc-id - The ID of the VPC for the route table.
  20403. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  20404. // One or more route table IDs.
  20405. //
  20406. // Default: Describes all your route tables.
  20407. RouteTableIds []*string `locationName:"RouteTableId" locationNameList:"item" type:"list"`
  20408. }
  20409. // String returns the string representation
  20410. func (s DescribeRouteTablesInput) String() string {
  20411. return awsutil.Prettify(s)
  20412. }
  20413. // GoString returns the string representation
  20414. func (s DescribeRouteTablesInput) GoString() string {
  20415. return s.String()
  20416. }
  20417. // Contains the output of DescribeRouteTables.
  20418. type DescribeRouteTablesOutput struct {
  20419. _ struct{} `type:"structure"`
  20420. // Information about one or more route tables.
  20421. RouteTables []*RouteTable `locationName:"routeTableSet" locationNameList:"item" type:"list"`
  20422. }
  20423. // String returns the string representation
  20424. func (s DescribeRouteTablesOutput) String() string {
  20425. return awsutil.Prettify(s)
  20426. }
  20427. // GoString returns the string representation
  20428. func (s DescribeRouteTablesOutput) GoString() string {
  20429. return s.String()
  20430. }
  20431. // Contains the parameters for DescribeScheduledInstanceAvailability.
  20432. type DescribeScheduledInstanceAvailabilityInput struct {
  20433. _ struct{} `type:"structure"`
  20434. // Checks whether you have the required permissions for the action, without
  20435. // actually making the request, and provides an error response. If you have
  20436. // the required permissions, the error response is DryRunOperation. Otherwise,
  20437. // it is UnauthorizedOperation.
  20438. DryRun *bool `type:"boolean"`
  20439. // One or more filters.
  20440. //
  20441. // * availability-zone - The Availability Zone (for example, us-west-2a).
  20442. //
  20443. // * instance-type - The instance type (for example, c4.large).
  20444. //
  20445. // * network-platform - The network platform (EC2-Classic or EC2-VPC).
  20446. //
  20447. // * platform - The platform (Linux/UNIX or Windows).
  20448. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  20449. // The time period for the first schedule to start.
  20450. //
  20451. // FirstSlotStartTimeRange is a required field
  20452. FirstSlotStartTimeRange *SlotDateTimeRangeRequest `type:"structure" required:"true"`
  20453. // The maximum number of results to return in a single call. This value can
  20454. // be between 5 and 300. The default value is 300. To retrieve the remaining
  20455. // results, make another call with the returned NextToken value.
  20456. MaxResults *int64 `type:"integer"`
  20457. // The maximum available duration, in hours. This value must be greater than
  20458. // MinSlotDurationInHours and less than 1,720.
  20459. MaxSlotDurationInHours *int64 `type:"integer"`
  20460. // The minimum available duration, in hours. The minimum required duration is
  20461. // 1,200 hours per year. For example, the minimum daily schedule is 4 hours,
  20462. // the minimum weekly schedule is 24 hours, and the minimum monthly schedule
  20463. // is 100 hours.
  20464. MinSlotDurationInHours *int64 `type:"integer"`
  20465. // The token for the next set of results.
  20466. NextToken *string `type:"string"`
  20467. // The schedule recurrence.
  20468. //
  20469. // Recurrence is a required field
  20470. Recurrence *ScheduledInstanceRecurrenceRequest `type:"structure" required:"true"`
  20471. }
  20472. // String returns the string representation
  20473. func (s DescribeScheduledInstanceAvailabilityInput) String() string {
  20474. return awsutil.Prettify(s)
  20475. }
  20476. // GoString returns the string representation
  20477. func (s DescribeScheduledInstanceAvailabilityInput) GoString() string {
  20478. return s.String()
  20479. }
  20480. // Validate inspects the fields of the type to determine if they are valid.
  20481. func (s *DescribeScheduledInstanceAvailabilityInput) Validate() error {
  20482. invalidParams := request.ErrInvalidParams{Context: "DescribeScheduledInstanceAvailabilityInput"}
  20483. if s.FirstSlotStartTimeRange == nil {
  20484. invalidParams.Add(request.NewErrParamRequired("FirstSlotStartTimeRange"))
  20485. }
  20486. if s.Recurrence == nil {
  20487. invalidParams.Add(request.NewErrParamRequired("Recurrence"))
  20488. }
  20489. if s.FirstSlotStartTimeRange != nil {
  20490. if err := s.FirstSlotStartTimeRange.Validate(); err != nil {
  20491. invalidParams.AddNested("FirstSlotStartTimeRange", err.(request.ErrInvalidParams))
  20492. }
  20493. }
  20494. if invalidParams.Len() > 0 {
  20495. return invalidParams
  20496. }
  20497. return nil
  20498. }
  20499. // Contains the output of DescribeScheduledInstanceAvailability.
  20500. type DescribeScheduledInstanceAvailabilityOutput struct {
  20501. _ struct{} `type:"structure"`
  20502. // The token required to retrieve the next set of results. This value is null
  20503. // when there are no more results to return.
  20504. NextToken *string `locationName:"nextToken" type:"string"`
  20505. // Information about the available Scheduled Instances.
  20506. ScheduledInstanceAvailabilitySet []*ScheduledInstanceAvailability `locationName:"scheduledInstanceAvailabilitySet" locationNameList:"item" type:"list"`
  20507. }
  20508. // String returns the string representation
  20509. func (s DescribeScheduledInstanceAvailabilityOutput) String() string {
  20510. return awsutil.Prettify(s)
  20511. }
  20512. // GoString returns the string representation
  20513. func (s DescribeScheduledInstanceAvailabilityOutput) GoString() string {
  20514. return s.String()
  20515. }
  20516. // Contains the parameters for DescribeScheduledInstances.
  20517. type DescribeScheduledInstancesInput struct {
  20518. _ struct{} `type:"structure"`
  20519. // Checks whether you have the required permissions for the action, without
  20520. // actually making the request, and provides an error response. If you have
  20521. // the required permissions, the error response is DryRunOperation. Otherwise,
  20522. // it is UnauthorizedOperation.
  20523. DryRun *bool `type:"boolean"`
  20524. // One or more filters.
  20525. //
  20526. // * availability-zone - The Availability Zone (for example, us-west-2a).
  20527. //
  20528. // * instance-type - The instance type (for example, c4.large).
  20529. //
  20530. // * network-platform - The network platform (EC2-Classic or EC2-VPC).
  20531. //
  20532. // * platform - The platform (Linux/UNIX or Windows).
  20533. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  20534. // The maximum number of results to return in a single call. This value can
  20535. // be between 5 and 300. The default value is 100. To retrieve the remaining
  20536. // results, make another call with the returned NextToken value.
  20537. MaxResults *int64 `type:"integer"`
  20538. // The token for the next set of results.
  20539. NextToken *string `type:"string"`
  20540. // One or more Scheduled Instance IDs.
  20541. ScheduledInstanceIds []*string `locationName:"ScheduledInstanceId" locationNameList:"ScheduledInstanceId" type:"list"`
  20542. // The time period for the first schedule to start.
  20543. SlotStartTimeRange *SlotStartTimeRangeRequest `type:"structure"`
  20544. }
  20545. // String returns the string representation
  20546. func (s DescribeScheduledInstancesInput) String() string {
  20547. return awsutil.Prettify(s)
  20548. }
  20549. // GoString returns the string representation
  20550. func (s DescribeScheduledInstancesInput) GoString() string {
  20551. return s.String()
  20552. }
  20553. // Contains the output of DescribeScheduledInstances.
  20554. type DescribeScheduledInstancesOutput struct {
  20555. _ struct{} `type:"structure"`
  20556. // The token required to retrieve the next set of results. This value is null
  20557. // when there are no more results to return.
  20558. NextToken *string `locationName:"nextToken" type:"string"`
  20559. // Information about the Scheduled Instances.
  20560. ScheduledInstanceSet []*ScheduledInstance `locationName:"scheduledInstanceSet" locationNameList:"item" type:"list"`
  20561. }
  20562. // String returns the string representation
  20563. func (s DescribeScheduledInstancesOutput) String() string {
  20564. return awsutil.Prettify(s)
  20565. }
  20566. // GoString returns the string representation
  20567. func (s DescribeScheduledInstancesOutput) GoString() string {
  20568. return s.String()
  20569. }
  20570. type DescribeSecurityGroupReferencesInput struct {
  20571. _ struct{} `type:"structure"`
  20572. // Checks whether you have the required permissions for the operation, without
  20573. // actually making the request, and provides an error response. If you have
  20574. // the required permissions, the error response is DryRunOperation. Otherwise,
  20575. // it is UnauthorizedOperation.
  20576. DryRun *bool `type:"boolean"`
  20577. // One or more security group IDs in your account.
  20578. //
  20579. // GroupId is a required field
  20580. GroupId []*string `locationNameList:"item" type:"list" required:"true"`
  20581. }
  20582. // String returns the string representation
  20583. func (s DescribeSecurityGroupReferencesInput) String() string {
  20584. return awsutil.Prettify(s)
  20585. }
  20586. // GoString returns the string representation
  20587. func (s DescribeSecurityGroupReferencesInput) GoString() string {
  20588. return s.String()
  20589. }
  20590. // Validate inspects the fields of the type to determine if they are valid.
  20591. func (s *DescribeSecurityGroupReferencesInput) Validate() error {
  20592. invalidParams := request.ErrInvalidParams{Context: "DescribeSecurityGroupReferencesInput"}
  20593. if s.GroupId == nil {
  20594. invalidParams.Add(request.NewErrParamRequired("GroupId"))
  20595. }
  20596. if invalidParams.Len() > 0 {
  20597. return invalidParams
  20598. }
  20599. return nil
  20600. }
  20601. type DescribeSecurityGroupReferencesOutput struct {
  20602. _ struct{} `type:"structure"`
  20603. // Information about the VPCs with the referencing security groups.
  20604. SecurityGroupReferenceSet []*SecurityGroupReference `locationName:"securityGroupReferenceSet" locationNameList:"item" type:"list"`
  20605. }
  20606. // String returns the string representation
  20607. func (s DescribeSecurityGroupReferencesOutput) String() string {
  20608. return awsutil.Prettify(s)
  20609. }
  20610. // GoString returns the string representation
  20611. func (s DescribeSecurityGroupReferencesOutput) GoString() string {
  20612. return s.String()
  20613. }
  20614. // Contains the parameters for DescribeSecurityGroups.
  20615. type DescribeSecurityGroupsInput struct {
  20616. _ struct{} `type:"structure"`
  20617. // Checks whether you have the required permissions for the action, without
  20618. // actually making the request, and provides an error response. If you have
  20619. // the required permissions, the error response is DryRunOperation. Otherwise,
  20620. // it is UnauthorizedOperation.
  20621. DryRun *bool `locationName:"dryRun" type:"boolean"`
  20622. // One or more filters. If using multiple filters for rules, the results include
  20623. // security groups for which any combination of rules - not necessarily a single
  20624. // rule - match all filters.
  20625. //
  20626. // * description - The description of the security group.
  20627. //
  20628. // * egress.ip-permission.prefix-list-id - The ID (prefix) of the AWS service
  20629. // to which the security group allows access.
  20630. //
  20631. // * group-id - The ID of the security group.
  20632. //
  20633. // * group-name - The name of the security group.
  20634. //
  20635. // * ip-permission.cidr - A CIDR range that has been granted permission.
  20636. //
  20637. // * ip-permission.from-port - The start of port range for the TCP and UDP
  20638. // protocols, or an ICMP type number.
  20639. //
  20640. // * ip-permission.group-id - The ID of a security group that has been granted
  20641. // permission.
  20642. //
  20643. // * ip-permission.group-name - The name of a security group that has been
  20644. // granted permission.
  20645. //
  20646. // * ip-permission.protocol - The IP protocol for the permission (tcp | udp
  20647. // | icmp or a protocol number).
  20648. //
  20649. // * ip-permission.to-port - The end of port range for the TCP and UDP protocols,
  20650. // or an ICMP code.
  20651. //
  20652. // * ip-permission.user-id - The ID of an AWS account that has been granted
  20653. // permission.
  20654. //
  20655. // * owner-id - The AWS account ID of the owner of the security group.
  20656. //
  20657. // * tag-key - The key of a tag assigned to the security group.
  20658. //
  20659. // * tag-value - The value of a tag assigned to the security group.
  20660. //
  20661. // * vpc-id - The ID of the VPC specified when the security group was created.
  20662. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  20663. // One or more security group IDs. Required for security groups in a nondefault
  20664. // VPC.
  20665. //
  20666. // Default: Describes all your security groups.
  20667. GroupIds []*string `locationName:"GroupId" locationNameList:"groupId" type:"list"`
  20668. // [EC2-Classic and default VPC only] One or more security group names. You
  20669. // can specify either the security group name or the security group ID. For
  20670. // security groups in a nondefault VPC, use the group-name filter to describe
  20671. // security groups by name.
  20672. //
  20673. // Default: Describes all your security groups.
  20674. GroupNames []*string `locationName:"GroupName" locationNameList:"GroupName" type:"list"`
  20675. }
  20676. // String returns the string representation
  20677. func (s DescribeSecurityGroupsInput) String() string {
  20678. return awsutil.Prettify(s)
  20679. }
  20680. // GoString returns the string representation
  20681. func (s DescribeSecurityGroupsInput) GoString() string {
  20682. return s.String()
  20683. }
  20684. // Contains the output of DescribeSecurityGroups.
  20685. type DescribeSecurityGroupsOutput struct {
  20686. _ struct{} `type:"structure"`
  20687. // Information about one or more security groups.
  20688. SecurityGroups []*SecurityGroup `locationName:"securityGroupInfo" locationNameList:"item" type:"list"`
  20689. }
  20690. // String returns the string representation
  20691. func (s DescribeSecurityGroupsOutput) String() string {
  20692. return awsutil.Prettify(s)
  20693. }
  20694. // GoString returns the string representation
  20695. func (s DescribeSecurityGroupsOutput) GoString() string {
  20696. return s.String()
  20697. }
  20698. // Contains the parameters for DescribeSnapshotAttribute.
  20699. type DescribeSnapshotAttributeInput struct {
  20700. _ struct{} `type:"structure"`
  20701. // The snapshot attribute you would like to view.
  20702. //
  20703. // Attribute is a required field
  20704. Attribute *string `type:"string" required:"true" enum:"SnapshotAttributeName"`
  20705. // Checks whether you have the required permissions for the action, without
  20706. // actually making the request, and provides an error response. If you have
  20707. // the required permissions, the error response is DryRunOperation. Otherwise,
  20708. // it is UnauthorizedOperation.
  20709. DryRun *bool `locationName:"dryRun" type:"boolean"`
  20710. // The ID of the EBS snapshot.
  20711. //
  20712. // SnapshotId is a required field
  20713. SnapshotId *string `type:"string" required:"true"`
  20714. }
  20715. // String returns the string representation
  20716. func (s DescribeSnapshotAttributeInput) String() string {
  20717. return awsutil.Prettify(s)
  20718. }
  20719. // GoString returns the string representation
  20720. func (s DescribeSnapshotAttributeInput) GoString() string {
  20721. return s.String()
  20722. }
  20723. // Validate inspects the fields of the type to determine if they are valid.
  20724. func (s *DescribeSnapshotAttributeInput) Validate() error {
  20725. invalidParams := request.ErrInvalidParams{Context: "DescribeSnapshotAttributeInput"}
  20726. if s.Attribute == nil {
  20727. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  20728. }
  20729. if s.SnapshotId == nil {
  20730. invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
  20731. }
  20732. if invalidParams.Len() > 0 {
  20733. return invalidParams
  20734. }
  20735. return nil
  20736. }
  20737. // Contains the output of DescribeSnapshotAttribute.
  20738. type DescribeSnapshotAttributeOutput struct {
  20739. _ struct{} `type:"structure"`
  20740. // A list of permissions for creating volumes from the snapshot.
  20741. CreateVolumePermissions []*CreateVolumePermission `locationName:"createVolumePermission" locationNameList:"item" type:"list"`
  20742. // A list of product codes.
  20743. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  20744. // The ID of the EBS snapshot.
  20745. SnapshotId *string `locationName:"snapshotId" type:"string"`
  20746. }
  20747. // String returns the string representation
  20748. func (s DescribeSnapshotAttributeOutput) String() string {
  20749. return awsutil.Prettify(s)
  20750. }
  20751. // GoString returns the string representation
  20752. func (s DescribeSnapshotAttributeOutput) GoString() string {
  20753. return s.String()
  20754. }
  20755. // Contains the parameters for DescribeSnapshots.
  20756. type DescribeSnapshotsInput struct {
  20757. _ struct{} `type:"structure"`
  20758. // Checks whether you have the required permissions for the action, without
  20759. // actually making the request, and provides an error response. If you have
  20760. // the required permissions, the error response is DryRunOperation. Otherwise,
  20761. // it is UnauthorizedOperation.
  20762. DryRun *bool `locationName:"dryRun" type:"boolean"`
  20763. // One or more filters.
  20764. //
  20765. // * description - A description of the snapshot.
  20766. //
  20767. // * owner-alias - Value from an Amazon-maintained list (amazon | aws-marketplace
  20768. // | microsoft) of snapshot owners. Not to be confused with the user-configured
  20769. // AWS account alias, which is set from the IAM consolew.
  20770. //
  20771. // * owner-id - The ID of the AWS account that owns the snapshot.
  20772. //
  20773. // * progress - The progress of the snapshot, as a percentage (for example,
  20774. // 80%).
  20775. //
  20776. // * snapshot-id - The snapshot ID.
  20777. //
  20778. // * start-time - The time stamp when the snapshot was initiated.
  20779. //
  20780. // * status - The status of the snapshot (pending | completed | error).
  20781. //
  20782. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  20783. //
  20784. // * tag-key - The key of a tag assigned to the resource. This filter is
  20785. // independent of the tag-value filter. For example, if you use both the
  20786. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  20787. // assigned both the tag key Purpose (regardless of what the tag's value
  20788. // is), and the tag value X (regardless of what the tag's key is). If you
  20789. // want to list only resources where Purpose is X, see the tag:key=value
  20790. // filter.
  20791. //
  20792. // * tag-value - The value of a tag assigned to the resource. This filter
  20793. // is independent of the tag-key filter.
  20794. //
  20795. // * volume-id - The ID of the volume the snapshot is for.
  20796. //
  20797. // * volume-size - The size of the volume, in GiB.
  20798. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  20799. // The maximum number of snapshot results returned by DescribeSnapshots in paginated
  20800. // output. When this parameter is used, DescribeSnapshots only returns MaxResults
  20801. // results in a single page along with a NextToken response element. The remaining
  20802. // results of the initial request can be seen by sending another DescribeSnapshots
  20803. // request with the returned NextToken value. This value can be between 5 and
  20804. // 1000; if MaxResults is given a value larger than 1000, only 1000 results
  20805. // are returned. If this parameter is not used, then DescribeSnapshots returns
  20806. // all results. You cannot specify this parameter and the snapshot IDs parameter
  20807. // in the same request.
  20808. MaxResults *int64 `type:"integer"`
  20809. // The NextToken value returned from a previous paginated DescribeSnapshots
  20810. // request where MaxResults was used and the results exceeded the value of that
  20811. // parameter. Pagination continues from the end of the previous results that
  20812. // returned the NextToken value. This value is null when there are no more results
  20813. // to return.
  20814. NextToken *string `type:"string"`
  20815. // Returns the snapshots owned by the specified owner. Multiple owners can be
  20816. // specified.
  20817. OwnerIds []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
  20818. // One or more AWS accounts IDs that can create volumes from the snapshot.
  20819. RestorableByUserIds []*string `locationName:"RestorableBy" type:"list"`
  20820. // One or more snapshot IDs.
  20821. //
  20822. // Default: Describes snapshots for which you have launch permissions.
  20823. SnapshotIds []*string `locationName:"SnapshotId" locationNameList:"SnapshotId" type:"list"`
  20824. }
  20825. // String returns the string representation
  20826. func (s DescribeSnapshotsInput) String() string {
  20827. return awsutil.Prettify(s)
  20828. }
  20829. // GoString returns the string representation
  20830. func (s DescribeSnapshotsInput) GoString() string {
  20831. return s.String()
  20832. }
  20833. // Contains the output of DescribeSnapshots.
  20834. type DescribeSnapshotsOutput struct {
  20835. _ struct{} `type:"structure"`
  20836. // The NextToken value to include in a future DescribeSnapshots request. When
  20837. // the results of a DescribeSnapshots request exceed MaxResults, this value
  20838. // can be used to retrieve the next page of results. This value is null when
  20839. // there are no more results to return.
  20840. NextToken *string `locationName:"nextToken" type:"string"`
  20841. // Information about the snapshots.
  20842. Snapshots []*Snapshot `locationName:"snapshotSet" locationNameList:"item" type:"list"`
  20843. }
  20844. // String returns the string representation
  20845. func (s DescribeSnapshotsOutput) String() string {
  20846. return awsutil.Prettify(s)
  20847. }
  20848. // GoString returns the string representation
  20849. func (s DescribeSnapshotsOutput) GoString() string {
  20850. return s.String()
  20851. }
  20852. // Contains the parameters for DescribeSpotDatafeedSubscription.
  20853. type DescribeSpotDatafeedSubscriptionInput struct {
  20854. _ struct{} `type:"structure"`
  20855. // Checks whether you have the required permissions for the action, without
  20856. // actually making the request, and provides an error response. If you have
  20857. // the required permissions, the error response is DryRunOperation. Otherwise,
  20858. // it is UnauthorizedOperation.
  20859. DryRun *bool `locationName:"dryRun" type:"boolean"`
  20860. }
  20861. // String returns the string representation
  20862. func (s DescribeSpotDatafeedSubscriptionInput) String() string {
  20863. return awsutil.Prettify(s)
  20864. }
  20865. // GoString returns the string representation
  20866. func (s DescribeSpotDatafeedSubscriptionInput) GoString() string {
  20867. return s.String()
  20868. }
  20869. // Contains the output of DescribeSpotDatafeedSubscription.
  20870. type DescribeSpotDatafeedSubscriptionOutput struct {
  20871. _ struct{} `type:"structure"`
  20872. // The Spot instance data feed subscription.
  20873. SpotDatafeedSubscription *SpotDatafeedSubscription `locationName:"spotDatafeedSubscription" type:"structure"`
  20874. }
  20875. // String returns the string representation
  20876. func (s DescribeSpotDatafeedSubscriptionOutput) String() string {
  20877. return awsutil.Prettify(s)
  20878. }
  20879. // GoString returns the string representation
  20880. func (s DescribeSpotDatafeedSubscriptionOutput) GoString() string {
  20881. return s.String()
  20882. }
  20883. // Contains the parameters for DescribeSpotFleetInstances.
  20884. type DescribeSpotFleetInstancesInput struct {
  20885. _ struct{} `type:"structure"`
  20886. // Checks whether you have the required permissions for the action, without
  20887. // actually making the request, and provides an error response. If you have
  20888. // the required permissions, the error response is DryRunOperation. Otherwise,
  20889. // it is UnauthorizedOperation.
  20890. DryRun *bool `locationName:"dryRun" type:"boolean"`
  20891. // The maximum number of results to return in a single call. Specify a value
  20892. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  20893. // results, make another call with the returned NextToken value.
  20894. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  20895. // The token for the next set of results.
  20896. NextToken *string `locationName:"nextToken" type:"string"`
  20897. // The ID of the Spot fleet request.
  20898. //
  20899. // SpotFleetRequestId is a required field
  20900. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  20901. }
  20902. // String returns the string representation
  20903. func (s DescribeSpotFleetInstancesInput) String() string {
  20904. return awsutil.Prettify(s)
  20905. }
  20906. // GoString returns the string representation
  20907. func (s DescribeSpotFleetInstancesInput) GoString() string {
  20908. return s.String()
  20909. }
  20910. // Validate inspects the fields of the type to determine if they are valid.
  20911. func (s *DescribeSpotFleetInstancesInput) Validate() error {
  20912. invalidParams := request.ErrInvalidParams{Context: "DescribeSpotFleetInstancesInput"}
  20913. if s.SpotFleetRequestId == nil {
  20914. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
  20915. }
  20916. if invalidParams.Len() > 0 {
  20917. return invalidParams
  20918. }
  20919. return nil
  20920. }
  20921. // Contains the output of DescribeSpotFleetInstances.
  20922. type DescribeSpotFleetInstancesOutput struct {
  20923. _ struct{} `type:"structure"`
  20924. // The running instances. Note that this list is refreshed periodically and
  20925. // might be out of date.
  20926. //
  20927. // ActiveInstances is a required field
  20928. ActiveInstances []*ActiveInstance `locationName:"activeInstanceSet" locationNameList:"item" type:"list" required:"true"`
  20929. // The token required to retrieve the next set of results. This value is null
  20930. // when there are no more results to return.
  20931. NextToken *string `locationName:"nextToken" type:"string"`
  20932. // The ID of the Spot fleet request.
  20933. //
  20934. // SpotFleetRequestId is a required field
  20935. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  20936. }
  20937. // String returns the string representation
  20938. func (s DescribeSpotFleetInstancesOutput) String() string {
  20939. return awsutil.Prettify(s)
  20940. }
  20941. // GoString returns the string representation
  20942. func (s DescribeSpotFleetInstancesOutput) GoString() string {
  20943. return s.String()
  20944. }
  20945. // Contains the parameters for DescribeSpotFleetRequestHistory.
  20946. type DescribeSpotFleetRequestHistoryInput struct {
  20947. _ struct{} `type:"structure"`
  20948. // Checks whether you have the required permissions for the action, without
  20949. // actually making the request, and provides an error response. If you have
  20950. // the required permissions, the error response is DryRunOperation. Otherwise,
  20951. // it is UnauthorizedOperation.
  20952. DryRun *bool `locationName:"dryRun" type:"boolean"`
  20953. // The type of events to describe. By default, all events are described.
  20954. EventType *string `locationName:"eventType" type:"string" enum:"EventType"`
  20955. // The maximum number of results to return in a single call. Specify a value
  20956. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  20957. // results, make another call with the returned NextToken value.
  20958. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  20959. // The token for the next set of results.
  20960. NextToken *string `locationName:"nextToken" type:"string"`
  20961. // The ID of the Spot fleet request.
  20962. //
  20963. // SpotFleetRequestId is a required field
  20964. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  20965. // The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  20966. //
  20967. // StartTime is a required field
  20968. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601" required:"true"`
  20969. }
  20970. // String returns the string representation
  20971. func (s DescribeSpotFleetRequestHistoryInput) String() string {
  20972. return awsutil.Prettify(s)
  20973. }
  20974. // GoString returns the string representation
  20975. func (s DescribeSpotFleetRequestHistoryInput) GoString() string {
  20976. return s.String()
  20977. }
  20978. // Validate inspects the fields of the type to determine if they are valid.
  20979. func (s *DescribeSpotFleetRequestHistoryInput) Validate() error {
  20980. invalidParams := request.ErrInvalidParams{Context: "DescribeSpotFleetRequestHistoryInput"}
  20981. if s.SpotFleetRequestId == nil {
  20982. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
  20983. }
  20984. if s.StartTime == nil {
  20985. invalidParams.Add(request.NewErrParamRequired("StartTime"))
  20986. }
  20987. if invalidParams.Len() > 0 {
  20988. return invalidParams
  20989. }
  20990. return nil
  20991. }
  20992. // Contains the output of DescribeSpotFleetRequestHistory.
  20993. type DescribeSpotFleetRequestHistoryOutput struct {
  20994. _ struct{} `type:"structure"`
  20995. // Information about the events in the history of the Spot fleet request.
  20996. //
  20997. // HistoryRecords is a required field
  20998. HistoryRecords []*HistoryRecord `locationName:"historyRecordSet" locationNameList:"item" type:"list" required:"true"`
  20999. // The last date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  21000. // All records up to this time were retrieved.
  21001. //
  21002. // If nextToken indicates that there are more results, this value is not present.
  21003. //
  21004. // LastEvaluatedTime is a required field
  21005. LastEvaluatedTime *time.Time `locationName:"lastEvaluatedTime" type:"timestamp" timestampFormat:"iso8601" required:"true"`
  21006. // The token required to retrieve the next set of results. This value is null
  21007. // when there are no more results to return.
  21008. NextToken *string `locationName:"nextToken" type:"string"`
  21009. // The ID of the Spot fleet request.
  21010. //
  21011. // SpotFleetRequestId is a required field
  21012. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  21013. // The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  21014. //
  21015. // StartTime is a required field
  21016. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601" required:"true"`
  21017. }
  21018. // String returns the string representation
  21019. func (s DescribeSpotFleetRequestHistoryOutput) String() string {
  21020. return awsutil.Prettify(s)
  21021. }
  21022. // GoString returns the string representation
  21023. func (s DescribeSpotFleetRequestHistoryOutput) GoString() string {
  21024. return s.String()
  21025. }
  21026. // Contains the parameters for DescribeSpotFleetRequests.
  21027. type DescribeSpotFleetRequestsInput struct {
  21028. _ struct{} `type:"structure"`
  21029. // Checks whether you have the required permissions for the action, without
  21030. // actually making the request, and provides an error response. If you have
  21031. // the required permissions, the error response is DryRunOperation. Otherwise,
  21032. // it is UnauthorizedOperation.
  21033. DryRun *bool `locationName:"dryRun" type:"boolean"`
  21034. // The maximum number of results to return in a single call. Specify a value
  21035. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  21036. // results, make another call with the returned NextToken value.
  21037. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  21038. // The token for the next set of results.
  21039. NextToken *string `locationName:"nextToken" type:"string"`
  21040. // The IDs of the Spot fleet requests.
  21041. SpotFleetRequestIds []*string `locationName:"spotFleetRequestId" locationNameList:"item" type:"list"`
  21042. }
  21043. // String returns the string representation
  21044. func (s DescribeSpotFleetRequestsInput) String() string {
  21045. return awsutil.Prettify(s)
  21046. }
  21047. // GoString returns the string representation
  21048. func (s DescribeSpotFleetRequestsInput) GoString() string {
  21049. return s.String()
  21050. }
  21051. // Contains the output of DescribeSpotFleetRequests.
  21052. type DescribeSpotFleetRequestsOutput struct {
  21053. _ struct{} `type:"structure"`
  21054. // The token required to retrieve the next set of results. This value is null
  21055. // when there are no more results to return.
  21056. NextToken *string `locationName:"nextToken" type:"string"`
  21057. // Information about the configuration of your Spot fleet.
  21058. //
  21059. // SpotFleetRequestConfigs is a required field
  21060. SpotFleetRequestConfigs []*SpotFleetRequestConfig `locationName:"spotFleetRequestConfigSet" locationNameList:"item" type:"list" required:"true"`
  21061. }
  21062. // String returns the string representation
  21063. func (s DescribeSpotFleetRequestsOutput) String() string {
  21064. return awsutil.Prettify(s)
  21065. }
  21066. // GoString returns the string representation
  21067. func (s DescribeSpotFleetRequestsOutput) GoString() string {
  21068. return s.String()
  21069. }
  21070. // Contains the parameters for DescribeSpotInstanceRequests.
  21071. type DescribeSpotInstanceRequestsInput struct {
  21072. _ struct{} `type:"structure"`
  21073. // Checks whether you have the required permissions for the action, without
  21074. // actually making the request, and provides an error response. If you have
  21075. // the required permissions, the error response is DryRunOperation. Otherwise,
  21076. // it is UnauthorizedOperation.
  21077. DryRun *bool `locationName:"dryRun" type:"boolean"`
  21078. // One or more filters.
  21079. //
  21080. // * availability-zone-group - The Availability Zone group.
  21081. //
  21082. // * create-time - The time stamp when the Spot instance request was created.
  21083. //
  21084. // * fault-code - The fault code related to the request.
  21085. //
  21086. // * fault-message - The fault message related to the request.
  21087. //
  21088. // * instance-id - The ID of the instance that fulfilled the request.
  21089. //
  21090. // * launch-group - The Spot instance launch group.
  21091. //
  21092. // * launch.block-device-mapping.delete-on-termination - Indicates whether
  21093. // the Amazon EBS volume is deleted on instance termination.
  21094. //
  21095. // * launch.block-device-mapping.device-name - The device name for the Amazon
  21096. // EBS volume (for example, /dev/sdh).
  21097. //
  21098. // * launch.block-device-mapping.snapshot-id - The ID of the snapshot used
  21099. // for the Amazon EBS volume.
  21100. //
  21101. // * launch.block-device-mapping.volume-size - The size of the Amazon EBS
  21102. // volume, in GiB.
  21103. //
  21104. // * launch.block-device-mapping.volume-type - The type of the Amazon EBS
  21105. // volume: gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD, st1
  21106. // for Throughput Optimized HDD, sc1for Cold HDD, or standard for Magnetic.
  21107. //
  21108. // * launch.group-id - The security group for the instance.
  21109. //
  21110. // * launch.image-id - The ID of the AMI.
  21111. //
  21112. // * launch.instance-type - The type of instance (for example, m3.medium).
  21113. //
  21114. // * launch.kernel-id - The kernel ID.
  21115. //
  21116. // * launch.key-name - The name of the key pair the instance launched with.
  21117. //
  21118. // * launch.monitoring-enabled - Whether monitoring is enabled for the Spot
  21119. // instance.
  21120. //
  21121. // * launch.ramdisk-id - The RAM disk ID.
  21122. //
  21123. // * network-interface.network-interface-id - The ID of the network interface.
  21124. //
  21125. // * network-interface.device-index - The index of the device for the network
  21126. // interface attachment on the instance.
  21127. //
  21128. // * network-interface.subnet-id - The ID of the subnet for the instance.
  21129. //
  21130. // * network-interface.description - A description of the network interface.
  21131. //
  21132. // * network-interface.private-ip-address - The primary private IP address
  21133. // of the network interface.
  21134. //
  21135. // * network-interface.delete-on-termination - Indicates whether the network
  21136. // interface is deleted when the instance is terminated.
  21137. //
  21138. // * network-interface.group-id - The ID of the security group associated
  21139. // with the network interface.
  21140. //
  21141. // * network-interface.group-name - The name of the security group associated
  21142. // with the network interface.
  21143. //
  21144. // * network-interface.addresses.primary - Indicates whether the IP address
  21145. // is the primary private IP address.
  21146. //
  21147. // * product-description - The product description associated with the instance
  21148. // (Linux/UNIX | Windows).
  21149. //
  21150. // * spot-instance-request-id - The Spot instance request ID.
  21151. //
  21152. // * spot-price - The maximum hourly price for any Spot instance launched
  21153. // to fulfill the request.
  21154. //
  21155. // * state - The state of the Spot instance request (open | active | closed
  21156. // | cancelled | failed). Spot bid status information can help you track
  21157. // your Amazon EC2 Spot instance requests. For more information, see Spot
  21158. // Bid Status (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html)
  21159. // in the Amazon Elastic Compute Cloud User Guide.
  21160. //
  21161. // * status-code - The short code describing the most recent evaluation of
  21162. // your Spot instance request.
  21163. //
  21164. // * status-message - The message explaining the status of the Spot instance
  21165. // request.
  21166. //
  21167. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  21168. //
  21169. // * tag-key - The key of a tag assigned to the resource. This filter is
  21170. // independent of the tag-value filter. For example, if you use both the
  21171. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  21172. // assigned both the tag key Purpose (regardless of what the tag's value
  21173. // is), and the tag value X (regardless of what the tag's key is). If you
  21174. // want to list only resources where Purpose is X, see the tag:key=value
  21175. // filter.
  21176. //
  21177. // * tag-value - The value of a tag assigned to the resource. This filter
  21178. // is independent of the tag-key filter.
  21179. //
  21180. // * type - The type of Spot instance request (one-time | persistent).
  21181. //
  21182. // * launched-availability-zone - The Availability Zone in which the bid
  21183. // is launched.
  21184. //
  21185. // * valid-from - The start date of the request.
  21186. //
  21187. // * valid-until - The end date of the request.
  21188. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  21189. // One or more Spot instance request IDs.
  21190. SpotInstanceRequestIds []*string `locationName:"SpotInstanceRequestId" locationNameList:"SpotInstanceRequestId" type:"list"`
  21191. }
  21192. // String returns the string representation
  21193. func (s DescribeSpotInstanceRequestsInput) String() string {
  21194. return awsutil.Prettify(s)
  21195. }
  21196. // GoString returns the string representation
  21197. func (s DescribeSpotInstanceRequestsInput) GoString() string {
  21198. return s.String()
  21199. }
  21200. // Contains the output of DescribeSpotInstanceRequests.
  21201. type DescribeSpotInstanceRequestsOutput struct {
  21202. _ struct{} `type:"structure"`
  21203. // One or more Spot instance requests.
  21204. SpotInstanceRequests []*SpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
  21205. }
  21206. // String returns the string representation
  21207. func (s DescribeSpotInstanceRequestsOutput) String() string {
  21208. return awsutil.Prettify(s)
  21209. }
  21210. // GoString returns the string representation
  21211. func (s DescribeSpotInstanceRequestsOutput) GoString() string {
  21212. return s.String()
  21213. }
  21214. // Contains the parameters for DescribeSpotPriceHistory.
  21215. type DescribeSpotPriceHistoryInput struct {
  21216. _ struct{} `type:"structure"`
  21217. // Filters the results by the specified Availability Zone.
  21218. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  21219. // Checks whether you have the required permissions for the action, without
  21220. // actually making the request, and provides an error response. If you have
  21221. // the required permissions, the error response is DryRunOperation. Otherwise,
  21222. // it is UnauthorizedOperation.
  21223. DryRun *bool `locationName:"dryRun" type:"boolean"`
  21224. // The date and time, up to the current date, from which to stop retrieving
  21225. // the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  21226. EndTime *time.Time `locationName:"endTime" type:"timestamp" timestampFormat:"iso8601"`
  21227. // One or more filters.
  21228. //
  21229. // * availability-zone - The Availability Zone for which prices should be
  21230. // returned.
  21231. //
  21232. // * instance-type - The type of instance (for example, m3.medium).
  21233. //
  21234. // * product-description - The product description for the Spot price (Linux/UNIX
  21235. // | SUSE Linux | Windows | Linux/UNIX (Amazon VPC) | SUSE Linux (Amazon
  21236. // VPC) | Windows (Amazon VPC)).
  21237. //
  21238. // * spot-price - The Spot price. The value must match exactly (or use wildcards;
  21239. // greater than or less than comparison is not supported).
  21240. //
  21241. // * timestamp - The timestamp of the Spot price history, in UTC format (for
  21242. // example, YYYY-MM-DDTHH:MM:SSZ). You can use wildcards (* and ?). Greater
  21243. // than or less than comparison is not supported.
  21244. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  21245. // Filters the results by the specified instance types.
  21246. InstanceTypes []*string `locationName:"InstanceType" type:"list"`
  21247. // The maximum number of results to return in a single call. Specify a value
  21248. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  21249. // results, make another call with the returned NextToken value.
  21250. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  21251. // The token for the next set of results.
  21252. NextToken *string `locationName:"nextToken" type:"string"`
  21253. // Filters the results by the specified basic product descriptions.
  21254. ProductDescriptions []*string `locationName:"ProductDescription" type:"list"`
  21255. // The date and time, up to the past 90 days, from which to start retrieving
  21256. // the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  21257. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
  21258. }
  21259. // String returns the string representation
  21260. func (s DescribeSpotPriceHistoryInput) String() string {
  21261. return awsutil.Prettify(s)
  21262. }
  21263. // GoString returns the string representation
  21264. func (s DescribeSpotPriceHistoryInput) GoString() string {
  21265. return s.String()
  21266. }
  21267. // Contains the output of DescribeSpotPriceHistory.
  21268. type DescribeSpotPriceHistoryOutput struct {
  21269. _ struct{} `type:"structure"`
  21270. // The token required to retrieve the next set of results. This value is null
  21271. // when there are no more results to return.
  21272. NextToken *string `locationName:"nextToken" type:"string"`
  21273. // The historical Spot prices.
  21274. SpotPriceHistory []*SpotPrice `locationName:"spotPriceHistorySet" locationNameList:"item" type:"list"`
  21275. }
  21276. // String returns the string representation
  21277. func (s DescribeSpotPriceHistoryOutput) String() string {
  21278. return awsutil.Prettify(s)
  21279. }
  21280. // GoString returns the string representation
  21281. func (s DescribeSpotPriceHistoryOutput) GoString() string {
  21282. return s.String()
  21283. }
  21284. type DescribeStaleSecurityGroupsInput struct {
  21285. _ struct{} `type:"structure"`
  21286. // Checks whether you have the required permissions for the operation, without
  21287. // actually making the request, and provides an error response. If you have
  21288. // the required permissions, the error response is DryRunOperation. Otherwise,
  21289. // it is UnauthorizedOperation.
  21290. DryRun *bool `type:"boolean"`
  21291. // The maximum number of items to return for this request. The request returns
  21292. // a token that you can specify in a subsequent call to get the next set of
  21293. // results.
  21294. MaxResults *int64 `min:"5" type:"integer"`
  21295. // The token for the next set of items to return. (You received this token from
  21296. // a prior call.)
  21297. NextToken *string `min:"1" type:"string"`
  21298. // The ID of the VPC.
  21299. //
  21300. // VpcId is a required field
  21301. VpcId *string `type:"string" required:"true"`
  21302. }
  21303. // String returns the string representation
  21304. func (s DescribeStaleSecurityGroupsInput) String() string {
  21305. return awsutil.Prettify(s)
  21306. }
  21307. // GoString returns the string representation
  21308. func (s DescribeStaleSecurityGroupsInput) GoString() string {
  21309. return s.String()
  21310. }
  21311. // Validate inspects the fields of the type to determine if they are valid.
  21312. func (s *DescribeStaleSecurityGroupsInput) Validate() error {
  21313. invalidParams := request.ErrInvalidParams{Context: "DescribeStaleSecurityGroupsInput"}
  21314. if s.MaxResults != nil && *s.MaxResults < 5 {
  21315. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  21316. }
  21317. if s.NextToken != nil && len(*s.NextToken) < 1 {
  21318. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  21319. }
  21320. if s.VpcId == nil {
  21321. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  21322. }
  21323. if invalidParams.Len() > 0 {
  21324. return invalidParams
  21325. }
  21326. return nil
  21327. }
  21328. type DescribeStaleSecurityGroupsOutput struct {
  21329. _ struct{} `type:"structure"`
  21330. // The token to use when requesting the next set of items. If there are no additional
  21331. // items to return, the string is empty.
  21332. NextToken *string `locationName:"nextToken" type:"string"`
  21333. // Information about the stale security groups.
  21334. StaleSecurityGroupSet []*StaleSecurityGroup `locationName:"staleSecurityGroupSet" locationNameList:"item" type:"list"`
  21335. }
  21336. // String returns the string representation
  21337. func (s DescribeStaleSecurityGroupsOutput) String() string {
  21338. return awsutil.Prettify(s)
  21339. }
  21340. // GoString returns the string representation
  21341. func (s DescribeStaleSecurityGroupsOutput) GoString() string {
  21342. return s.String()
  21343. }
  21344. // Contains the parameters for DescribeSubnets.
  21345. type DescribeSubnetsInput struct {
  21346. _ struct{} `type:"structure"`
  21347. // Checks whether you have the required permissions for the action, without
  21348. // actually making the request, and provides an error response. If you have
  21349. // the required permissions, the error response is DryRunOperation. Otherwise,
  21350. // it is UnauthorizedOperation.
  21351. DryRun *bool `locationName:"dryRun" type:"boolean"`
  21352. // One or more filters.
  21353. //
  21354. // * availabilityZone - The Availability Zone for the subnet. You can also
  21355. // use availability-zone as the filter name.
  21356. //
  21357. // * available-ip-address-count - The number of IP addresses in the subnet
  21358. // that are available.
  21359. //
  21360. // * cidrBlock - The CIDR block of the subnet. The CIDR block you specify
  21361. // must exactly match the subnet's CIDR block for information to be returned
  21362. // for the subnet. You can also use cidr or cidr-block as the filter names.
  21363. //
  21364. // * defaultForAz - Indicates whether this is the default subnet for the
  21365. // Availability Zone. You can also use default-for-az as the filter name.
  21366. //
  21367. // * state - The state of the subnet (pending | available).
  21368. //
  21369. // * subnet-id - The ID of the subnet.
  21370. //
  21371. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  21372. //
  21373. // * tag-key - The key of a tag assigned to the resource. This filter is
  21374. // independent of the tag-value filter. For example, if you use both the
  21375. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  21376. // assigned both the tag key Purpose (regardless of what the tag's value
  21377. // is), and the tag value X (regardless of what the tag's key is). If you
  21378. // want to list only resources where Purpose is X, see the tag:key=value
  21379. // filter.
  21380. //
  21381. // * tag-value - The value of a tag assigned to the resource. This filter
  21382. // is independent of the tag-key filter.
  21383. //
  21384. // * vpc-id - The ID of the VPC for the subnet.
  21385. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  21386. // One or more subnet IDs.
  21387. //
  21388. // Default: Describes all your subnets.
  21389. SubnetIds []*string `locationName:"SubnetId" locationNameList:"SubnetId" type:"list"`
  21390. }
  21391. // String returns the string representation
  21392. func (s DescribeSubnetsInput) String() string {
  21393. return awsutil.Prettify(s)
  21394. }
  21395. // GoString returns the string representation
  21396. func (s DescribeSubnetsInput) GoString() string {
  21397. return s.String()
  21398. }
  21399. // Contains the output of DescribeSubnets.
  21400. type DescribeSubnetsOutput struct {
  21401. _ struct{} `type:"structure"`
  21402. // Information about one or more subnets.
  21403. Subnets []*Subnet `locationName:"subnetSet" locationNameList:"item" type:"list"`
  21404. }
  21405. // String returns the string representation
  21406. func (s DescribeSubnetsOutput) String() string {
  21407. return awsutil.Prettify(s)
  21408. }
  21409. // GoString returns the string representation
  21410. func (s DescribeSubnetsOutput) GoString() string {
  21411. return s.String()
  21412. }
  21413. // Contains the parameters for DescribeTags.
  21414. type DescribeTagsInput struct {
  21415. _ struct{} `type:"structure"`
  21416. // Checks whether you have the required permissions for the action, without
  21417. // actually making the request, and provides an error response. If you have
  21418. // the required permissions, the error response is DryRunOperation. Otherwise,
  21419. // it is UnauthorizedOperation.
  21420. DryRun *bool `locationName:"dryRun" type:"boolean"`
  21421. // One or more filters.
  21422. //
  21423. // * key - The tag key.
  21424. //
  21425. // * resource-id - The resource ID.
  21426. //
  21427. // * resource-type - The resource type (customer-gateway | dhcp-options |
  21428. // image | instance | internet-gateway | network-acl | network-interface
  21429. // | reserved-instances | route-table | security-group | snapshot | spot-instances-request
  21430. // | subnet | volume | vpc | vpn-connection | vpn-gateway).
  21431. //
  21432. // * value - The tag value.
  21433. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  21434. // The maximum number of results to return in a single call. This value can
  21435. // be between 5 and 1000. To retrieve the remaining results, make another call
  21436. // with the returned NextToken value.
  21437. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  21438. // The token to retrieve the next page of results.
  21439. NextToken *string `locationName:"nextToken" type:"string"`
  21440. }
  21441. // String returns the string representation
  21442. func (s DescribeTagsInput) String() string {
  21443. return awsutil.Prettify(s)
  21444. }
  21445. // GoString returns the string representation
  21446. func (s DescribeTagsInput) GoString() string {
  21447. return s.String()
  21448. }
  21449. // Contains the output of DescribeTags.
  21450. type DescribeTagsOutput struct {
  21451. _ struct{} `type:"structure"`
  21452. // The token to use to retrieve the next page of results. This value is null
  21453. // when there are no more results to return..
  21454. NextToken *string `locationName:"nextToken" type:"string"`
  21455. // A list of tags.
  21456. Tags []*TagDescription `locationName:"tagSet" locationNameList:"item" type:"list"`
  21457. }
  21458. // String returns the string representation
  21459. func (s DescribeTagsOutput) String() string {
  21460. return awsutil.Prettify(s)
  21461. }
  21462. // GoString returns the string representation
  21463. func (s DescribeTagsOutput) GoString() string {
  21464. return s.String()
  21465. }
  21466. // Contains the parameters for DescribeVolumeAttribute.
  21467. type DescribeVolumeAttributeInput struct {
  21468. _ struct{} `type:"structure"`
  21469. // The instance attribute.
  21470. Attribute *string `type:"string" enum:"VolumeAttributeName"`
  21471. // Checks whether you have the required permissions for the action, without
  21472. // actually making the request, and provides an error response. If you have
  21473. // the required permissions, the error response is DryRunOperation. Otherwise,
  21474. // it is UnauthorizedOperation.
  21475. DryRun *bool `locationName:"dryRun" type:"boolean"`
  21476. // The ID of the volume.
  21477. //
  21478. // VolumeId is a required field
  21479. VolumeId *string `type:"string" required:"true"`
  21480. }
  21481. // String returns the string representation
  21482. func (s DescribeVolumeAttributeInput) String() string {
  21483. return awsutil.Prettify(s)
  21484. }
  21485. // GoString returns the string representation
  21486. func (s DescribeVolumeAttributeInput) GoString() string {
  21487. return s.String()
  21488. }
  21489. // Validate inspects the fields of the type to determine if they are valid.
  21490. func (s *DescribeVolumeAttributeInput) Validate() error {
  21491. invalidParams := request.ErrInvalidParams{Context: "DescribeVolumeAttributeInput"}
  21492. if s.VolumeId == nil {
  21493. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  21494. }
  21495. if invalidParams.Len() > 0 {
  21496. return invalidParams
  21497. }
  21498. return nil
  21499. }
  21500. // Contains the output of DescribeVolumeAttribute.
  21501. type DescribeVolumeAttributeOutput struct {
  21502. _ struct{} `type:"structure"`
  21503. // The state of autoEnableIO attribute.
  21504. AutoEnableIO *AttributeBooleanValue `locationName:"autoEnableIO" type:"structure"`
  21505. // A list of product codes.
  21506. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  21507. // The ID of the volume.
  21508. VolumeId *string `locationName:"volumeId" type:"string"`
  21509. }
  21510. // String returns the string representation
  21511. func (s DescribeVolumeAttributeOutput) String() string {
  21512. return awsutil.Prettify(s)
  21513. }
  21514. // GoString returns the string representation
  21515. func (s DescribeVolumeAttributeOutput) GoString() string {
  21516. return s.String()
  21517. }
  21518. // Contains the parameters for DescribeVolumeStatus.
  21519. type DescribeVolumeStatusInput struct {
  21520. _ struct{} `type:"structure"`
  21521. // Checks whether you have the required permissions for the action, without
  21522. // actually making the request, and provides an error response. If you have
  21523. // the required permissions, the error response is DryRunOperation. Otherwise,
  21524. // it is UnauthorizedOperation.
  21525. DryRun *bool `locationName:"dryRun" type:"boolean"`
  21526. // One or more filters.
  21527. //
  21528. // * action.code - The action code for the event (for example, enable-volume-io).
  21529. //
  21530. // * action.description - A description of the action.
  21531. //
  21532. // * action.event-id - The event ID associated with the action.
  21533. //
  21534. // * availability-zone - The Availability Zone of the instance.
  21535. //
  21536. // * event.description - A description of the event.
  21537. //
  21538. // * event.event-id - The event ID.
  21539. //
  21540. // * event.event-type - The event type (for io-enabled: passed | failed;
  21541. // for io-performance: io-performance:degraded | io-performance:severely-degraded
  21542. // | io-performance:stalled).
  21543. //
  21544. // * event.not-after - The latest end time for the event.
  21545. //
  21546. // * event.not-before - The earliest start time for the event.
  21547. //
  21548. // * volume-status.details-name - The cause for volume-status.status (io-enabled
  21549. // | io-performance).
  21550. //
  21551. // * volume-status.details-status - The status of volume-status.details-name
  21552. // (for io-enabled: passed | failed; for io-performance: normal | degraded
  21553. // | severely-degraded | stalled).
  21554. //
  21555. // * volume-status.status - The status of the volume (ok | impaired | warning
  21556. // | insufficient-data).
  21557. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  21558. // The maximum number of volume results returned by DescribeVolumeStatus in
  21559. // paginated output. When this parameter is used, the request only returns MaxResults
  21560. // results in a single page along with a NextToken response element. The remaining
  21561. // results of the initial request can be seen by sending another request with
  21562. // the returned NextToken value. This value can be between 5 and 1000; if MaxResults
  21563. // is given a value larger than 1000, only 1000 results are returned. If this
  21564. // parameter is not used, then DescribeVolumeStatus returns all results. You
  21565. // cannot specify this parameter and the volume IDs parameter in the same request.
  21566. MaxResults *int64 `type:"integer"`
  21567. // The NextToken value to include in a future DescribeVolumeStatus request.
  21568. // When the results of the request exceed MaxResults, this value can be used
  21569. // to retrieve the next page of results. This value is null when there are no
  21570. // more results to return.
  21571. NextToken *string `type:"string"`
  21572. // One or more volume IDs.
  21573. //
  21574. // Default: Describes all your volumes.
  21575. VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
  21576. }
  21577. // String returns the string representation
  21578. func (s DescribeVolumeStatusInput) String() string {
  21579. return awsutil.Prettify(s)
  21580. }
  21581. // GoString returns the string representation
  21582. func (s DescribeVolumeStatusInput) GoString() string {
  21583. return s.String()
  21584. }
  21585. // Contains the output of DescribeVolumeStatus.
  21586. type DescribeVolumeStatusOutput struct {
  21587. _ struct{} `type:"structure"`
  21588. // The token to use to retrieve the next page of results. This value is null
  21589. // when there are no more results to return.
  21590. NextToken *string `locationName:"nextToken" type:"string"`
  21591. // A list of volumes.
  21592. VolumeStatuses []*VolumeStatusItem `locationName:"volumeStatusSet" locationNameList:"item" type:"list"`
  21593. }
  21594. // String returns the string representation
  21595. func (s DescribeVolumeStatusOutput) String() string {
  21596. return awsutil.Prettify(s)
  21597. }
  21598. // GoString returns the string representation
  21599. func (s DescribeVolumeStatusOutput) GoString() string {
  21600. return s.String()
  21601. }
  21602. // Contains the parameters for DescribeVolumes.
  21603. type DescribeVolumesInput struct {
  21604. _ struct{} `type:"structure"`
  21605. // Checks whether you have the required permissions for the action, without
  21606. // actually making the request, and provides an error response. If you have
  21607. // the required permissions, the error response is DryRunOperation. Otherwise,
  21608. // it is UnauthorizedOperation.
  21609. DryRun *bool `locationName:"dryRun" type:"boolean"`
  21610. // One or more filters.
  21611. //
  21612. // * attachment.attach-time - The time stamp when the attachment initiated.
  21613. //
  21614. // * attachment.delete-on-termination - Whether the volume is deleted on
  21615. // instance termination.
  21616. //
  21617. // * attachment.device - The device name that is exposed to the instance
  21618. // (for example, /dev/sda1).
  21619. //
  21620. // * attachment.instance-id - The ID of the instance the volume is attached
  21621. // to.
  21622. //
  21623. // * attachment.status - The attachment state (attaching | attached | detaching
  21624. // | detached).
  21625. //
  21626. // * availability-zone - The Availability Zone in which the volume was created.
  21627. //
  21628. // * create-time - The time stamp when the volume was created.
  21629. //
  21630. // * encrypted - The encryption status of the volume.
  21631. //
  21632. // * size - The size of the volume, in GiB.
  21633. //
  21634. // * snapshot-id - The snapshot from which the volume was created.
  21635. //
  21636. // * status - The status of the volume (creating | available | in-use | deleting
  21637. // | deleted | error).
  21638. //
  21639. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  21640. //
  21641. // * tag-key - The key of a tag assigned to the resource. This filter is
  21642. // independent of the tag-value filter. For example, if you use both the
  21643. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  21644. // assigned both the tag key Purpose (regardless of what the tag's value
  21645. // is), and the tag value X (regardless of what the tag's key is). If you
  21646. // want to list only resources where Purpose is X, see the tag:key=value
  21647. // filter.
  21648. //
  21649. // * tag-value - The value of a tag assigned to the resource. This filter
  21650. // is independent of the tag-key filter.
  21651. //
  21652. // * volume-id - The volume ID.
  21653. //
  21654. // * volume-type - The Amazon EBS volume type. This can be gp2 for General
  21655. // Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput Optimized
  21656. // HDD, sc1 for Cold HDD, or standard for Magnetic volumes.
  21657. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  21658. // The maximum number of volume results returned by DescribeVolumes in paginated
  21659. // output. When this parameter is used, DescribeVolumes only returns MaxResults
  21660. // results in a single page along with a NextToken response element. The remaining
  21661. // results of the initial request can be seen by sending another DescribeVolumes
  21662. // request with the returned NextToken value. This value can be between 5 and
  21663. // 1000; if MaxResults is given a value larger than 1000, only 1000 results
  21664. // are returned. If this parameter is not used, then DescribeVolumes returns
  21665. // all results. You cannot specify this parameter and the volume IDs parameter
  21666. // in the same request.
  21667. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  21668. // The NextToken value returned from a previous paginated DescribeVolumes request
  21669. // where MaxResults was used and the results exceeded the value of that parameter.
  21670. // Pagination continues from the end of the previous results that returned the
  21671. // NextToken value. This value is null when there are no more results to return.
  21672. NextToken *string `locationName:"nextToken" type:"string"`
  21673. // One or more volume IDs.
  21674. VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
  21675. }
  21676. // String returns the string representation
  21677. func (s DescribeVolumesInput) String() string {
  21678. return awsutil.Prettify(s)
  21679. }
  21680. // GoString returns the string representation
  21681. func (s DescribeVolumesInput) GoString() string {
  21682. return s.String()
  21683. }
  21684. // Contains the output of DescribeVolumes.
  21685. type DescribeVolumesOutput struct {
  21686. _ struct{} `type:"structure"`
  21687. // The NextToken value to include in a future DescribeVolumes request. When
  21688. // the results of a DescribeVolumes request exceed MaxResults, this value can
  21689. // be used to retrieve the next page of results. This value is null when there
  21690. // are no more results to return.
  21691. NextToken *string `locationName:"nextToken" type:"string"`
  21692. // Information about the volumes.
  21693. Volumes []*Volume `locationName:"volumeSet" locationNameList:"item" type:"list"`
  21694. }
  21695. // String returns the string representation
  21696. func (s DescribeVolumesOutput) String() string {
  21697. return awsutil.Prettify(s)
  21698. }
  21699. // GoString returns the string representation
  21700. func (s DescribeVolumesOutput) GoString() string {
  21701. return s.String()
  21702. }
  21703. // Contains the parameters for DescribeVpcAttribute.
  21704. type DescribeVpcAttributeInput struct {
  21705. _ struct{} `type:"structure"`
  21706. // The VPC attribute.
  21707. //
  21708. // Attribute is a required field
  21709. Attribute *string `type:"string" required:"true" enum:"VpcAttributeName"`
  21710. // Checks whether you have the required permissions for the action, without
  21711. // actually making the request, and provides an error response. If you have
  21712. // the required permissions, the error response is DryRunOperation. Otherwise,
  21713. // it is UnauthorizedOperation.
  21714. DryRun *bool `locationName:"dryRun" type:"boolean"`
  21715. // The ID of the VPC.
  21716. //
  21717. // VpcId is a required field
  21718. VpcId *string `type:"string" required:"true"`
  21719. }
  21720. // String returns the string representation
  21721. func (s DescribeVpcAttributeInput) String() string {
  21722. return awsutil.Prettify(s)
  21723. }
  21724. // GoString returns the string representation
  21725. func (s DescribeVpcAttributeInput) GoString() string {
  21726. return s.String()
  21727. }
  21728. // Validate inspects the fields of the type to determine if they are valid.
  21729. func (s *DescribeVpcAttributeInput) Validate() error {
  21730. invalidParams := request.ErrInvalidParams{Context: "DescribeVpcAttributeInput"}
  21731. if s.Attribute == nil {
  21732. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  21733. }
  21734. if s.VpcId == nil {
  21735. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  21736. }
  21737. if invalidParams.Len() > 0 {
  21738. return invalidParams
  21739. }
  21740. return nil
  21741. }
  21742. // Contains the output of DescribeVpcAttribute.
  21743. type DescribeVpcAttributeOutput struct {
  21744. _ struct{} `type:"structure"`
  21745. // Indicates whether the instances launched in the VPC get DNS hostnames. If
  21746. // this attribute is true, instances in the VPC get DNS hostnames; otherwise,
  21747. // they do not.
  21748. EnableDnsHostnames *AttributeBooleanValue `locationName:"enableDnsHostnames" type:"structure"`
  21749. // Indicates whether DNS resolution is enabled for the VPC. If this attribute
  21750. // is true, the Amazon DNS server resolves DNS hostnames for your instances
  21751. // to their corresponding IP addresses; otherwise, it does not.
  21752. EnableDnsSupport *AttributeBooleanValue `locationName:"enableDnsSupport" type:"structure"`
  21753. // The ID of the VPC.
  21754. VpcId *string `locationName:"vpcId" type:"string"`
  21755. }
  21756. // String returns the string representation
  21757. func (s DescribeVpcAttributeOutput) String() string {
  21758. return awsutil.Prettify(s)
  21759. }
  21760. // GoString returns the string representation
  21761. func (s DescribeVpcAttributeOutput) GoString() string {
  21762. return s.String()
  21763. }
  21764. // Contains the parameters for DescribeVpcClassicLinkDnsSupport.
  21765. type DescribeVpcClassicLinkDnsSupportInput struct {
  21766. _ struct{} `type:"structure"`
  21767. // The maximum number of items to return for this request. The request returns
  21768. // a token that you can specify in a subsequent call to get the next set of
  21769. // results.
  21770. MaxResults *int64 `locationName:"maxResults" min:"5" type:"integer"`
  21771. // The token for the next set of items to return. (You received this token from
  21772. // a prior call.)
  21773. NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  21774. // One or more VPC IDs.
  21775. VpcIds []*string `locationNameList:"VpcId" type:"list"`
  21776. }
  21777. // String returns the string representation
  21778. func (s DescribeVpcClassicLinkDnsSupportInput) String() string {
  21779. return awsutil.Prettify(s)
  21780. }
  21781. // GoString returns the string representation
  21782. func (s DescribeVpcClassicLinkDnsSupportInput) GoString() string {
  21783. return s.String()
  21784. }
  21785. // Validate inspects the fields of the type to determine if they are valid.
  21786. func (s *DescribeVpcClassicLinkDnsSupportInput) Validate() error {
  21787. invalidParams := request.ErrInvalidParams{Context: "DescribeVpcClassicLinkDnsSupportInput"}
  21788. if s.MaxResults != nil && *s.MaxResults < 5 {
  21789. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  21790. }
  21791. if s.NextToken != nil && len(*s.NextToken) < 1 {
  21792. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  21793. }
  21794. if invalidParams.Len() > 0 {
  21795. return invalidParams
  21796. }
  21797. return nil
  21798. }
  21799. // Contains the output of DescribeVpcClassicLinkDnsSupport.
  21800. type DescribeVpcClassicLinkDnsSupportOutput struct {
  21801. _ struct{} `type:"structure"`
  21802. // The token to use when requesting the next set of items.
  21803. NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  21804. // Information about the ClassicLink DNS support status of the VPCs.
  21805. Vpcs []*ClassicLinkDnsSupport `locationName:"vpcs" locationNameList:"item" type:"list"`
  21806. }
  21807. // String returns the string representation
  21808. func (s DescribeVpcClassicLinkDnsSupportOutput) String() string {
  21809. return awsutil.Prettify(s)
  21810. }
  21811. // GoString returns the string representation
  21812. func (s DescribeVpcClassicLinkDnsSupportOutput) GoString() string {
  21813. return s.String()
  21814. }
  21815. // Contains the parameters for DescribeVpcClassicLink.
  21816. type DescribeVpcClassicLinkInput struct {
  21817. _ struct{} `type:"structure"`
  21818. // Checks whether you have the required permissions for the action, without
  21819. // actually making the request, and provides an error response. If you have
  21820. // the required permissions, the error response is DryRunOperation. Otherwise,
  21821. // it is UnauthorizedOperation.
  21822. DryRun *bool `locationName:"dryRun" type:"boolean"`
  21823. // One or more filters.
  21824. //
  21825. // * is-classic-link-enabled - Whether the VPC is enabled for ClassicLink
  21826. // (true | false).
  21827. //
  21828. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  21829. //
  21830. // * tag-key - The key of a tag assigned to the resource. This filter is
  21831. // independent of the tag-value filter. For example, if you use both the
  21832. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  21833. // assigned both the tag key Purpose (regardless of what the tag's value
  21834. // is), and the tag value X (regardless of what the tag's key is). If you
  21835. // want to list only resources where Purpose is X, see the tag:key=value
  21836. // filter.
  21837. //
  21838. // * tag-value - The value of a tag assigned to the resource. This filter
  21839. // is independent of the tag-key filter.
  21840. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  21841. // One or more VPCs for which you want to describe the ClassicLink status.
  21842. VpcIds []*string `locationName:"VpcId" locationNameList:"VpcId" type:"list"`
  21843. }
  21844. // String returns the string representation
  21845. func (s DescribeVpcClassicLinkInput) String() string {
  21846. return awsutil.Prettify(s)
  21847. }
  21848. // GoString returns the string representation
  21849. func (s DescribeVpcClassicLinkInput) GoString() string {
  21850. return s.String()
  21851. }
  21852. // Contains the output of DescribeVpcClassicLink.
  21853. type DescribeVpcClassicLinkOutput struct {
  21854. _ struct{} `type:"structure"`
  21855. // The ClassicLink status of one or more VPCs.
  21856. Vpcs []*VpcClassicLink `locationName:"vpcSet" locationNameList:"item" type:"list"`
  21857. }
  21858. // String returns the string representation
  21859. func (s DescribeVpcClassicLinkOutput) String() string {
  21860. return awsutil.Prettify(s)
  21861. }
  21862. // GoString returns the string representation
  21863. func (s DescribeVpcClassicLinkOutput) GoString() string {
  21864. return s.String()
  21865. }
  21866. // Contains the parameters for DescribeVpcEndpointServices.
  21867. type DescribeVpcEndpointServicesInput struct {
  21868. _ struct{} `type:"structure"`
  21869. // Checks whether you have the required permissions for the action, without
  21870. // actually making the request, and provides an error response. If you have
  21871. // the required permissions, the error response is DryRunOperation. Otherwise,
  21872. // it is UnauthorizedOperation.
  21873. DryRun *bool `type:"boolean"`
  21874. // The maximum number of items to return for this request. The request returns
  21875. // a token that you can specify in a subsequent call to get the next set of
  21876. // results.
  21877. //
  21878. // Constraint: If the value is greater than 1000, we return only 1000 items.
  21879. MaxResults *int64 `type:"integer"`
  21880. // The token for the next set of items to return. (You received this token from
  21881. // a prior call.)
  21882. NextToken *string `type:"string"`
  21883. }
  21884. // String returns the string representation
  21885. func (s DescribeVpcEndpointServicesInput) String() string {
  21886. return awsutil.Prettify(s)
  21887. }
  21888. // GoString returns the string representation
  21889. func (s DescribeVpcEndpointServicesInput) GoString() string {
  21890. return s.String()
  21891. }
  21892. // Contains the output of DescribeVpcEndpointServices.
  21893. type DescribeVpcEndpointServicesOutput struct {
  21894. _ struct{} `type:"structure"`
  21895. // The token to use when requesting the next set of items. If there are no additional
  21896. // items to return, the string is empty.
  21897. NextToken *string `locationName:"nextToken" type:"string"`
  21898. // A list of supported AWS services.
  21899. ServiceNames []*string `locationName:"serviceNameSet" locationNameList:"item" type:"list"`
  21900. }
  21901. // String returns the string representation
  21902. func (s DescribeVpcEndpointServicesOutput) String() string {
  21903. return awsutil.Prettify(s)
  21904. }
  21905. // GoString returns the string representation
  21906. func (s DescribeVpcEndpointServicesOutput) GoString() string {
  21907. return s.String()
  21908. }
  21909. // Contains the parameters for DescribeVpcEndpoints.
  21910. type DescribeVpcEndpointsInput struct {
  21911. _ struct{} `type:"structure"`
  21912. // Checks whether you have the required permissions for the action, without
  21913. // actually making the request, and provides an error response. If you have
  21914. // the required permissions, the error response is DryRunOperation. Otherwise,
  21915. // it is UnauthorizedOperation.
  21916. DryRun *bool `type:"boolean"`
  21917. // One or more filters.
  21918. //
  21919. // * service-name: The name of the AWS service.
  21920. //
  21921. // * vpc-id: The ID of the VPC in which the endpoint resides.
  21922. //
  21923. // * vpc-endpoint-id: The ID of the endpoint.
  21924. //
  21925. // * vpc-endpoint-state: The state of the endpoint. (pending | available
  21926. // | deleting | deleted)
  21927. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  21928. // The maximum number of items to return for this request. The request returns
  21929. // a token that you can specify in a subsequent call to get the next set of
  21930. // results.
  21931. //
  21932. // Constraint: If the value is greater than 1000, we return only 1000 items.
  21933. MaxResults *int64 `type:"integer"`
  21934. // The token for the next set of items to return. (You received this token from
  21935. // a prior call.)
  21936. NextToken *string `type:"string"`
  21937. // One or more endpoint IDs.
  21938. VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list"`
  21939. }
  21940. // String returns the string representation
  21941. func (s DescribeVpcEndpointsInput) String() string {
  21942. return awsutil.Prettify(s)
  21943. }
  21944. // GoString returns the string representation
  21945. func (s DescribeVpcEndpointsInput) GoString() string {
  21946. return s.String()
  21947. }
  21948. // Contains the output of DescribeVpcEndpoints.
  21949. type DescribeVpcEndpointsOutput struct {
  21950. _ struct{} `type:"structure"`
  21951. // The token to use when requesting the next set of items. If there are no additional
  21952. // items to return, the string is empty.
  21953. NextToken *string `locationName:"nextToken" type:"string"`
  21954. // Information about the endpoints.
  21955. VpcEndpoints []*VpcEndpoint `locationName:"vpcEndpointSet" locationNameList:"item" type:"list"`
  21956. }
  21957. // String returns the string representation
  21958. func (s DescribeVpcEndpointsOutput) String() string {
  21959. return awsutil.Prettify(s)
  21960. }
  21961. // GoString returns the string representation
  21962. func (s DescribeVpcEndpointsOutput) GoString() string {
  21963. return s.String()
  21964. }
  21965. // Contains the parameters for DescribeVpcPeeringConnections.
  21966. type DescribeVpcPeeringConnectionsInput struct {
  21967. _ struct{} `type:"structure"`
  21968. // Checks whether you have the required permissions for the action, without
  21969. // actually making the request, and provides an error response. If you have
  21970. // the required permissions, the error response is DryRunOperation. Otherwise,
  21971. // it is UnauthorizedOperation.
  21972. DryRun *bool `locationName:"dryRun" type:"boolean"`
  21973. // One or more filters.
  21974. //
  21975. // * accepter-vpc-info.cidr-block - The CIDR block of the peer VPC.
  21976. //
  21977. // * accepter-vpc-info.owner-id - The AWS account ID of the owner of the
  21978. // peer VPC.
  21979. //
  21980. // * accepter-vpc-info.vpc-id - The ID of the peer VPC.
  21981. //
  21982. // * expiration-time - The expiration date and time for the VPC peering connection.
  21983. //
  21984. // * requester-vpc-info.cidr-block - The CIDR block of the requester's VPC.
  21985. //
  21986. // * requester-vpc-info.owner-id - The AWS account ID of the owner of the
  21987. // requester VPC.
  21988. //
  21989. // * requester-vpc-info.vpc-id - The ID of the requester VPC.
  21990. //
  21991. // * status-code - The status of the VPC peering connection (pending-acceptance
  21992. // | failed | expired | provisioning | active | deleted | rejected).
  21993. //
  21994. // * status-message - A message that provides more information about the
  21995. // status of the VPC peering connection, if applicable.
  21996. //
  21997. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  21998. //
  21999. // * tag-key - The key of a tag assigned to the resource. This filter is
  22000. // independent of the tag-value filter. For example, if you use both the
  22001. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  22002. // assigned both the tag key Purpose (regardless of what the tag's value
  22003. // is), and the tag value X (regardless of what the tag's key is). If you
  22004. // want to list only resources where Purpose is X, see the tag:key=value
  22005. // filter.
  22006. //
  22007. // * tag-value - The value of a tag assigned to the resource. This filter
  22008. // is independent of the tag-key filter.
  22009. //
  22010. // * vpc-peering-connection-id - The ID of the VPC peering connection.
  22011. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  22012. // One or more VPC peering connection IDs.
  22013. //
  22014. // Default: Describes all your VPC peering connections.
  22015. VpcPeeringConnectionIds []*string `locationName:"VpcPeeringConnectionId" locationNameList:"item" type:"list"`
  22016. }
  22017. // String returns the string representation
  22018. func (s DescribeVpcPeeringConnectionsInput) String() string {
  22019. return awsutil.Prettify(s)
  22020. }
  22021. // GoString returns the string representation
  22022. func (s DescribeVpcPeeringConnectionsInput) GoString() string {
  22023. return s.String()
  22024. }
  22025. // Contains the output of DescribeVpcPeeringConnections.
  22026. type DescribeVpcPeeringConnectionsOutput struct {
  22027. _ struct{} `type:"structure"`
  22028. // Information about the VPC peering connections.
  22029. VpcPeeringConnections []*VpcPeeringConnection `locationName:"vpcPeeringConnectionSet" locationNameList:"item" type:"list"`
  22030. }
  22031. // String returns the string representation
  22032. func (s DescribeVpcPeeringConnectionsOutput) String() string {
  22033. return awsutil.Prettify(s)
  22034. }
  22035. // GoString returns the string representation
  22036. func (s DescribeVpcPeeringConnectionsOutput) GoString() string {
  22037. return s.String()
  22038. }
  22039. // Contains the parameters for DescribeVpcs.
  22040. type DescribeVpcsInput struct {
  22041. _ struct{} `type:"structure"`
  22042. // Checks whether you have the required permissions for the action, without
  22043. // actually making the request, and provides an error response. If you have
  22044. // the required permissions, the error response is DryRunOperation. Otherwise,
  22045. // it is UnauthorizedOperation.
  22046. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22047. // One or more filters.
  22048. //
  22049. // * cidr - The CIDR block of the VPC. The CIDR block you specify must exactly
  22050. // match the VPC's CIDR block for information to be returned for the VPC.
  22051. // Must contain the slash followed by one or two digits (for example, /28).
  22052. //
  22053. // * dhcp-options-id - The ID of a set of DHCP options.
  22054. //
  22055. // * isDefault - Indicates whether the VPC is the default VPC.
  22056. //
  22057. // * state - The state of the VPC (pending | available).
  22058. //
  22059. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  22060. //
  22061. // * tag-key - The key of a tag assigned to the resource. This filter is
  22062. // independent of the tag-value filter. For example, if you use both the
  22063. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  22064. // assigned both the tag key Purpose (regardless of what the tag's value
  22065. // is), and the tag value X (regardless of what the tag's key is). If you
  22066. // want to list only resources where Purpose is X, see the tag:key=value
  22067. // filter.
  22068. //
  22069. // * tag-value - The value of a tag assigned to the resource. This filter
  22070. // is independent of the tag-key filter.
  22071. //
  22072. // * vpc-id - The ID of the VPC.
  22073. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  22074. // One or more VPC IDs.
  22075. //
  22076. // Default: Describes all your VPCs.
  22077. VpcIds []*string `locationName:"VpcId" locationNameList:"VpcId" type:"list"`
  22078. }
  22079. // String returns the string representation
  22080. func (s DescribeVpcsInput) String() string {
  22081. return awsutil.Prettify(s)
  22082. }
  22083. // GoString returns the string representation
  22084. func (s DescribeVpcsInput) GoString() string {
  22085. return s.String()
  22086. }
  22087. // Contains the output of DescribeVpcs.
  22088. type DescribeVpcsOutput struct {
  22089. _ struct{} `type:"structure"`
  22090. // Information about one or more VPCs.
  22091. Vpcs []*Vpc `locationName:"vpcSet" locationNameList:"item" type:"list"`
  22092. }
  22093. // String returns the string representation
  22094. func (s DescribeVpcsOutput) String() string {
  22095. return awsutil.Prettify(s)
  22096. }
  22097. // GoString returns the string representation
  22098. func (s DescribeVpcsOutput) GoString() string {
  22099. return s.String()
  22100. }
  22101. // Contains the parameters for DescribeVpnConnections.
  22102. type DescribeVpnConnectionsInput struct {
  22103. _ struct{} `type:"structure"`
  22104. // Checks whether you have the required permissions for the action, without
  22105. // actually making the request, and provides an error response. If you have
  22106. // the required permissions, the error response is DryRunOperation. Otherwise,
  22107. // it is UnauthorizedOperation.
  22108. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22109. // One or more filters.
  22110. //
  22111. // * customer-gateway-configuration - The configuration information for the
  22112. // customer gateway.
  22113. //
  22114. // * customer-gateway-id - The ID of a customer gateway associated with the
  22115. // VPN connection.
  22116. //
  22117. // * state - The state of the VPN connection (pending | available | deleting
  22118. // | deleted).
  22119. //
  22120. // * option.static-routes-only - Indicates whether the connection has static
  22121. // routes only. Used for devices that do not support Border Gateway Protocol
  22122. // (BGP).
  22123. //
  22124. // * route.destination-cidr-block - The destination CIDR block. This corresponds
  22125. // to the subnet used in a customer data center.
  22126. //
  22127. // * bgp-asn - The BGP Autonomous System Number (ASN) associated with a BGP
  22128. // device.
  22129. //
  22130. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  22131. //
  22132. // * tag-key - The key of a tag assigned to the resource. This filter is
  22133. // independent of the tag-value filter. For example, if you use both the
  22134. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  22135. // assigned both the tag key Purpose (regardless of what the tag's value
  22136. // is), and the tag value X (regardless of what the tag's key is). If you
  22137. // want to list only resources where Purpose is X, see the tag:key=value
  22138. // filter.
  22139. //
  22140. // * tag-value - The value of a tag assigned to the resource. This filter
  22141. // is independent of the tag-key filter.
  22142. //
  22143. // * type - The type of VPN connection. Currently the only supported type
  22144. // is ipsec.1.
  22145. //
  22146. // * vpn-connection-id - The ID of the VPN connection.
  22147. //
  22148. // * vpn-gateway-id - The ID of a virtual private gateway associated with
  22149. // the VPN connection.
  22150. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  22151. // One or more VPN connection IDs.
  22152. //
  22153. // Default: Describes your VPN connections.
  22154. VpnConnectionIds []*string `locationName:"VpnConnectionId" locationNameList:"VpnConnectionId" type:"list"`
  22155. }
  22156. // String returns the string representation
  22157. func (s DescribeVpnConnectionsInput) String() string {
  22158. return awsutil.Prettify(s)
  22159. }
  22160. // GoString returns the string representation
  22161. func (s DescribeVpnConnectionsInput) GoString() string {
  22162. return s.String()
  22163. }
  22164. // Contains the output of DescribeVpnConnections.
  22165. type DescribeVpnConnectionsOutput struct {
  22166. _ struct{} `type:"structure"`
  22167. // Information about one or more VPN connections.
  22168. VpnConnections []*VpnConnection `locationName:"vpnConnectionSet" locationNameList:"item" type:"list"`
  22169. }
  22170. // String returns the string representation
  22171. func (s DescribeVpnConnectionsOutput) String() string {
  22172. return awsutil.Prettify(s)
  22173. }
  22174. // GoString returns the string representation
  22175. func (s DescribeVpnConnectionsOutput) GoString() string {
  22176. return s.String()
  22177. }
  22178. // Contains the parameters for DescribeVpnGateways.
  22179. type DescribeVpnGatewaysInput struct {
  22180. _ struct{} `type:"structure"`
  22181. // Checks whether you have the required permissions for the action, without
  22182. // actually making the request, and provides an error response. If you have
  22183. // the required permissions, the error response is DryRunOperation. Otherwise,
  22184. // it is UnauthorizedOperation.
  22185. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22186. // One or more filters.
  22187. //
  22188. // * attachment.state - The current state of the attachment between the gateway
  22189. // and the VPC (attaching | attached | detaching | detached).
  22190. //
  22191. // * attachment.vpc-id - The ID of an attached VPC.
  22192. //
  22193. // * availability-zone - The Availability Zone for the virtual private gateway
  22194. // (if applicable).
  22195. //
  22196. // * state - The state of the virtual private gateway (pending | available
  22197. // | deleting | deleted).
  22198. //
  22199. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  22200. //
  22201. // * tag-key - The key of a tag assigned to the resource. This filter is
  22202. // independent of the tag-value filter. For example, if you use both the
  22203. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  22204. // assigned both the tag key Purpose (regardless of what the tag's value
  22205. // is), and the tag value X (regardless of what the tag's key is). If you
  22206. // want to list only resources where Purpose is X, see the tag:key=value
  22207. // filter.
  22208. //
  22209. // * tag-value - The value of a tag assigned to the resource. This filter
  22210. // is independent of the tag-key filter.
  22211. //
  22212. // * type - The type of virtual private gateway. Currently the only supported
  22213. // type is ipsec.1.
  22214. //
  22215. // * vpn-gateway-id - The ID of the virtual private gateway.
  22216. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  22217. // One or more virtual private gateway IDs.
  22218. //
  22219. // Default: Describes all your virtual private gateways.
  22220. VpnGatewayIds []*string `locationName:"VpnGatewayId" locationNameList:"VpnGatewayId" type:"list"`
  22221. }
  22222. // String returns the string representation
  22223. func (s DescribeVpnGatewaysInput) String() string {
  22224. return awsutil.Prettify(s)
  22225. }
  22226. // GoString returns the string representation
  22227. func (s DescribeVpnGatewaysInput) GoString() string {
  22228. return s.String()
  22229. }
  22230. // Contains the output of DescribeVpnGateways.
  22231. type DescribeVpnGatewaysOutput struct {
  22232. _ struct{} `type:"structure"`
  22233. // Information about one or more virtual private gateways.
  22234. VpnGateways []*VpnGateway `locationName:"vpnGatewaySet" locationNameList:"item" type:"list"`
  22235. }
  22236. // String returns the string representation
  22237. func (s DescribeVpnGatewaysOutput) String() string {
  22238. return awsutil.Prettify(s)
  22239. }
  22240. // GoString returns the string representation
  22241. func (s DescribeVpnGatewaysOutput) GoString() string {
  22242. return s.String()
  22243. }
  22244. // Contains the parameters for DetachClassicLinkVpc.
  22245. type DetachClassicLinkVpcInput struct {
  22246. _ struct{} `type:"structure"`
  22247. // Checks whether you have the required permissions for the action, without
  22248. // actually making the request, and provides an error response. If you have
  22249. // the required permissions, the error response is DryRunOperation. Otherwise,
  22250. // it is UnauthorizedOperation.
  22251. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22252. // The ID of the instance to unlink from the VPC.
  22253. //
  22254. // InstanceId is a required field
  22255. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  22256. // The ID of the VPC to which the instance is linked.
  22257. //
  22258. // VpcId is a required field
  22259. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  22260. }
  22261. // String returns the string representation
  22262. func (s DetachClassicLinkVpcInput) String() string {
  22263. return awsutil.Prettify(s)
  22264. }
  22265. // GoString returns the string representation
  22266. func (s DetachClassicLinkVpcInput) GoString() string {
  22267. return s.String()
  22268. }
  22269. // Validate inspects the fields of the type to determine if they are valid.
  22270. func (s *DetachClassicLinkVpcInput) Validate() error {
  22271. invalidParams := request.ErrInvalidParams{Context: "DetachClassicLinkVpcInput"}
  22272. if s.InstanceId == nil {
  22273. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  22274. }
  22275. if s.VpcId == nil {
  22276. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  22277. }
  22278. if invalidParams.Len() > 0 {
  22279. return invalidParams
  22280. }
  22281. return nil
  22282. }
  22283. // Contains the output of DetachClassicLinkVpc.
  22284. type DetachClassicLinkVpcOutput struct {
  22285. _ struct{} `type:"structure"`
  22286. // Returns true if the request succeeds; otherwise, it returns an error.
  22287. Return *bool `locationName:"return" type:"boolean"`
  22288. }
  22289. // String returns the string representation
  22290. func (s DetachClassicLinkVpcOutput) String() string {
  22291. return awsutil.Prettify(s)
  22292. }
  22293. // GoString returns the string representation
  22294. func (s DetachClassicLinkVpcOutput) GoString() string {
  22295. return s.String()
  22296. }
  22297. // Contains the parameters for DetachInternetGateway.
  22298. type DetachInternetGatewayInput struct {
  22299. _ struct{} `type:"structure"`
  22300. // Checks whether you have the required permissions for the action, without
  22301. // actually making the request, and provides an error response. If you have
  22302. // the required permissions, the error response is DryRunOperation. Otherwise,
  22303. // it is UnauthorizedOperation.
  22304. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22305. // The ID of the Internet gateway.
  22306. //
  22307. // InternetGatewayId is a required field
  22308. InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
  22309. // The ID of the VPC.
  22310. //
  22311. // VpcId is a required field
  22312. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  22313. }
  22314. // String returns the string representation
  22315. func (s DetachInternetGatewayInput) String() string {
  22316. return awsutil.Prettify(s)
  22317. }
  22318. // GoString returns the string representation
  22319. func (s DetachInternetGatewayInput) GoString() string {
  22320. return s.String()
  22321. }
  22322. // Validate inspects the fields of the type to determine if they are valid.
  22323. func (s *DetachInternetGatewayInput) Validate() error {
  22324. invalidParams := request.ErrInvalidParams{Context: "DetachInternetGatewayInput"}
  22325. if s.InternetGatewayId == nil {
  22326. invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
  22327. }
  22328. if s.VpcId == nil {
  22329. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  22330. }
  22331. if invalidParams.Len() > 0 {
  22332. return invalidParams
  22333. }
  22334. return nil
  22335. }
  22336. type DetachInternetGatewayOutput struct {
  22337. _ struct{} `type:"structure"`
  22338. }
  22339. // String returns the string representation
  22340. func (s DetachInternetGatewayOutput) String() string {
  22341. return awsutil.Prettify(s)
  22342. }
  22343. // GoString returns the string representation
  22344. func (s DetachInternetGatewayOutput) GoString() string {
  22345. return s.String()
  22346. }
  22347. // Contains the parameters for DetachNetworkInterface.
  22348. type DetachNetworkInterfaceInput struct {
  22349. _ struct{} `type:"structure"`
  22350. // The ID of the attachment.
  22351. //
  22352. // AttachmentId is a required field
  22353. AttachmentId *string `locationName:"attachmentId" type:"string" required:"true"`
  22354. // Checks whether you have the required permissions for the action, without
  22355. // actually making the request, and provides an error response. If you have
  22356. // the required permissions, the error response is DryRunOperation. Otherwise,
  22357. // it is UnauthorizedOperation.
  22358. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22359. // Specifies whether to force a detachment.
  22360. Force *bool `locationName:"force" type:"boolean"`
  22361. }
  22362. // String returns the string representation
  22363. func (s DetachNetworkInterfaceInput) String() string {
  22364. return awsutil.Prettify(s)
  22365. }
  22366. // GoString returns the string representation
  22367. func (s DetachNetworkInterfaceInput) GoString() string {
  22368. return s.String()
  22369. }
  22370. // Validate inspects the fields of the type to determine if they are valid.
  22371. func (s *DetachNetworkInterfaceInput) Validate() error {
  22372. invalidParams := request.ErrInvalidParams{Context: "DetachNetworkInterfaceInput"}
  22373. if s.AttachmentId == nil {
  22374. invalidParams.Add(request.NewErrParamRequired("AttachmentId"))
  22375. }
  22376. if invalidParams.Len() > 0 {
  22377. return invalidParams
  22378. }
  22379. return nil
  22380. }
  22381. type DetachNetworkInterfaceOutput struct {
  22382. _ struct{} `type:"structure"`
  22383. }
  22384. // String returns the string representation
  22385. func (s DetachNetworkInterfaceOutput) String() string {
  22386. return awsutil.Prettify(s)
  22387. }
  22388. // GoString returns the string representation
  22389. func (s DetachNetworkInterfaceOutput) GoString() string {
  22390. return s.String()
  22391. }
  22392. // Contains the parameters for DetachVolume.
  22393. type DetachVolumeInput struct {
  22394. _ struct{} `type:"structure"`
  22395. // The device name.
  22396. Device *string `type:"string"`
  22397. // Checks whether you have the required permissions for the action, without
  22398. // actually making the request, and provides an error response. If you have
  22399. // the required permissions, the error response is DryRunOperation. Otherwise,
  22400. // it is UnauthorizedOperation.
  22401. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22402. // Forces detachment if the previous detachment attempt did not occur cleanly
  22403. // (for example, logging into an instance, unmounting the volume, and detaching
  22404. // normally). This option can lead to data loss or a corrupted file system.
  22405. // Use this option only as a last resort to detach a volume from a failed instance.
  22406. // The instance won't have an opportunity to flush file system caches or file
  22407. // system metadata. If you use this option, you must perform file system check
  22408. // and repair procedures.
  22409. Force *bool `type:"boolean"`
  22410. // The ID of the instance.
  22411. InstanceId *string `type:"string"`
  22412. // The ID of the volume.
  22413. //
  22414. // VolumeId is a required field
  22415. VolumeId *string `type:"string" required:"true"`
  22416. }
  22417. // String returns the string representation
  22418. func (s DetachVolumeInput) String() string {
  22419. return awsutil.Prettify(s)
  22420. }
  22421. // GoString returns the string representation
  22422. func (s DetachVolumeInput) GoString() string {
  22423. return s.String()
  22424. }
  22425. // Validate inspects the fields of the type to determine if they are valid.
  22426. func (s *DetachVolumeInput) Validate() error {
  22427. invalidParams := request.ErrInvalidParams{Context: "DetachVolumeInput"}
  22428. if s.VolumeId == nil {
  22429. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  22430. }
  22431. if invalidParams.Len() > 0 {
  22432. return invalidParams
  22433. }
  22434. return nil
  22435. }
  22436. // Contains the parameters for DetachVpnGateway.
  22437. type DetachVpnGatewayInput struct {
  22438. _ struct{} `type:"structure"`
  22439. // Checks whether you have the required permissions for the action, without
  22440. // actually making the request, and provides an error response. If you have
  22441. // the required permissions, the error response is DryRunOperation. Otherwise,
  22442. // it is UnauthorizedOperation.
  22443. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22444. // The ID of the VPC.
  22445. //
  22446. // VpcId is a required field
  22447. VpcId *string `type:"string" required:"true"`
  22448. // The ID of the virtual private gateway.
  22449. //
  22450. // VpnGatewayId is a required field
  22451. VpnGatewayId *string `type:"string" required:"true"`
  22452. }
  22453. // String returns the string representation
  22454. func (s DetachVpnGatewayInput) String() string {
  22455. return awsutil.Prettify(s)
  22456. }
  22457. // GoString returns the string representation
  22458. func (s DetachVpnGatewayInput) GoString() string {
  22459. return s.String()
  22460. }
  22461. // Validate inspects the fields of the type to determine if they are valid.
  22462. func (s *DetachVpnGatewayInput) Validate() error {
  22463. invalidParams := request.ErrInvalidParams{Context: "DetachVpnGatewayInput"}
  22464. if s.VpcId == nil {
  22465. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  22466. }
  22467. if s.VpnGatewayId == nil {
  22468. invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
  22469. }
  22470. if invalidParams.Len() > 0 {
  22471. return invalidParams
  22472. }
  22473. return nil
  22474. }
  22475. type DetachVpnGatewayOutput struct {
  22476. _ struct{} `type:"structure"`
  22477. }
  22478. // String returns the string representation
  22479. func (s DetachVpnGatewayOutput) String() string {
  22480. return awsutil.Prettify(s)
  22481. }
  22482. // GoString returns the string representation
  22483. func (s DetachVpnGatewayOutput) GoString() string {
  22484. return s.String()
  22485. }
  22486. // Describes a DHCP configuration option.
  22487. type DhcpConfiguration struct {
  22488. _ struct{} `type:"structure"`
  22489. // The name of a DHCP option.
  22490. Key *string `locationName:"key" type:"string"`
  22491. // One or more values for the DHCP option.
  22492. Values []*AttributeValue `locationName:"valueSet" locationNameList:"item" type:"list"`
  22493. }
  22494. // String returns the string representation
  22495. func (s DhcpConfiguration) String() string {
  22496. return awsutil.Prettify(s)
  22497. }
  22498. // GoString returns the string representation
  22499. func (s DhcpConfiguration) GoString() string {
  22500. return s.String()
  22501. }
  22502. // Describes a set of DHCP options.
  22503. type DhcpOptions struct {
  22504. _ struct{} `type:"structure"`
  22505. // One or more DHCP options in the set.
  22506. DhcpConfigurations []*DhcpConfiguration `locationName:"dhcpConfigurationSet" locationNameList:"item" type:"list"`
  22507. // The ID of the set of DHCP options.
  22508. DhcpOptionsId *string `locationName:"dhcpOptionsId" type:"string"`
  22509. // Any tags assigned to the DHCP options set.
  22510. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  22511. }
  22512. // String returns the string representation
  22513. func (s DhcpOptions) String() string {
  22514. return awsutil.Prettify(s)
  22515. }
  22516. // GoString returns the string representation
  22517. func (s DhcpOptions) GoString() string {
  22518. return s.String()
  22519. }
  22520. // Contains the parameters for DisableVgwRoutePropagation.
  22521. type DisableVgwRoutePropagationInput struct {
  22522. _ struct{} `type:"structure"`
  22523. // The ID of the virtual private gateway.
  22524. //
  22525. // GatewayId is a required field
  22526. GatewayId *string `type:"string" required:"true"`
  22527. // The ID of the route table.
  22528. //
  22529. // RouteTableId is a required field
  22530. RouteTableId *string `type:"string" required:"true"`
  22531. }
  22532. // String returns the string representation
  22533. func (s DisableVgwRoutePropagationInput) String() string {
  22534. return awsutil.Prettify(s)
  22535. }
  22536. // GoString returns the string representation
  22537. func (s DisableVgwRoutePropagationInput) GoString() string {
  22538. return s.String()
  22539. }
  22540. // Validate inspects the fields of the type to determine if they are valid.
  22541. func (s *DisableVgwRoutePropagationInput) Validate() error {
  22542. invalidParams := request.ErrInvalidParams{Context: "DisableVgwRoutePropagationInput"}
  22543. if s.GatewayId == nil {
  22544. invalidParams.Add(request.NewErrParamRequired("GatewayId"))
  22545. }
  22546. if s.RouteTableId == nil {
  22547. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  22548. }
  22549. if invalidParams.Len() > 0 {
  22550. return invalidParams
  22551. }
  22552. return nil
  22553. }
  22554. type DisableVgwRoutePropagationOutput struct {
  22555. _ struct{} `type:"structure"`
  22556. }
  22557. // String returns the string representation
  22558. func (s DisableVgwRoutePropagationOutput) String() string {
  22559. return awsutil.Prettify(s)
  22560. }
  22561. // GoString returns the string representation
  22562. func (s DisableVgwRoutePropagationOutput) GoString() string {
  22563. return s.String()
  22564. }
  22565. // Contains the parameters for DisableVpcClassicLinkDnsSupport.
  22566. type DisableVpcClassicLinkDnsSupportInput struct {
  22567. _ struct{} `type:"structure"`
  22568. // The ID of the VPC.
  22569. VpcId *string `type:"string"`
  22570. }
  22571. // String returns the string representation
  22572. func (s DisableVpcClassicLinkDnsSupportInput) String() string {
  22573. return awsutil.Prettify(s)
  22574. }
  22575. // GoString returns the string representation
  22576. func (s DisableVpcClassicLinkDnsSupportInput) GoString() string {
  22577. return s.String()
  22578. }
  22579. // Contains the output of DisableVpcClassicLinkDnsSupport.
  22580. type DisableVpcClassicLinkDnsSupportOutput struct {
  22581. _ struct{} `type:"structure"`
  22582. // Returns true if the request succeeds; otherwise, it returns an error.
  22583. Return *bool `locationName:"return" type:"boolean"`
  22584. }
  22585. // String returns the string representation
  22586. func (s DisableVpcClassicLinkDnsSupportOutput) String() string {
  22587. return awsutil.Prettify(s)
  22588. }
  22589. // GoString returns the string representation
  22590. func (s DisableVpcClassicLinkDnsSupportOutput) GoString() string {
  22591. return s.String()
  22592. }
  22593. // Contains the parameters for DisableVpcClassicLink.
  22594. type DisableVpcClassicLinkInput struct {
  22595. _ struct{} `type:"structure"`
  22596. // Checks whether you have the required permissions for the action, without
  22597. // actually making the request, and provides an error response. If you have
  22598. // the required permissions, the error response is DryRunOperation. Otherwise,
  22599. // it is UnauthorizedOperation.
  22600. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22601. // The ID of the VPC.
  22602. //
  22603. // VpcId is a required field
  22604. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  22605. }
  22606. // String returns the string representation
  22607. func (s DisableVpcClassicLinkInput) String() string {
  22608. return awsutil.Prettify(s)
  22609. }
  22610. // GoString returns the string representation
  22611. func (s DisableVpcClassicLinkInput) GoString() string {
  22612. return s.String()
  22613. }
  22614. // Validate inspects the fields of the type to determine if they are valid.
  22615. func (s *DisableVpcClassicLinkInput) Validate() error {
  22616. invalidParams := request.ErrInvalidParams{Context: "DisableVpcClassicLinkInput"}
  22617. if s.VpcId == nil {
  22618. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  22619. }
  22620. if invalidParams.Len() > 0 {
  22621. return invalidParams
  22622. }
  22623. return nil
  22624. }
  22625. // Contains the output of DisableVpcClassicLink.
  22626. type DisableVpcClassicLinkOutput struct {
  22627. _ struct{} `type:"structure"`
  22628. // Returns true if the request succeeds; otherwise, it returns an error.
  22629. Return *bool `locationName:"return" type:"boolean"`
  22630. }
  22631. // String returns the string representation
  22632. func (s DisableVpcClassicLinkOutput) String() string {
  22633. return awsutil.Prettify(s)
  22634. }
  22635. // GoString returns the string representation
  22636. func (s DisableVpcClassicLinkOutput) GoString() string {
  22637. return s.String()
  22638. }
  22639. // Contains the parameters for DisassociateAddress.
  22640. type DisassociateAddressInput struct {
  22641. _ struct{} `type:"structure"`
  22642. // [EC2-VPC] The association ID. Required for EC2-VPC.
  22643. AssociationId *string `type:"string"`
  22644. // Checks whether you have the required permissions for the action, without
  22645. // actually making the request, and provides an error response. If you have
  22646. // the required permissions, the error response is DryRunOperation. Otherwise,
  22647. // it is UnauthorizedOperation.
  22648. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22649. // [EC2-Classic] The Elastic IP address. Required for EC2-Classic.
  22650. PublicIp *string `type:"string"`
  22651. }
  22652. // String returns the string representation
  22653. func (s DisassociateAddressInput) String() string {
  22654. return awsutil.Prettify(s)
  22655. }
  22656. // GoString returns the string representation
  22657. func (s DisassociateAddressInput) GoString() string {
  22658. return s.String()
  22659. }
  22660. type DisassociateAddressOutput struct {
  22661. _ struct{} `type:"structure"`
  22662. }
  22663. // String returns the string representation
  22664. func (s DisassociateAddressOutput) String() string {
  22665. return awsutil.Prettify(s)
  22666. }
  22667. // GoString returns the string representation
  22668. func (s DisassociateAddressOutput) GoString() string {
  22669. return s.String()
  22670. }
  22671. // Contains the parameters for DisassociateRouteTable.
  22672. type DisassociateRouteTableInput struct {
  22673. _ struct{} `type:"structure"`
  22674. // The association ID representing the current association between the route
  22675. // table and subnet.
  22676. //
  22677. // AssociationId is a required field
  22678. AssociationId *string `locationName:"associationId" type:"string" required:"true"`
  22679. // Checks whether you have the required permissions for the action, without
  22680. // actually making the request, and provides an error response. If you have
  22681. // the required permissions, the error response is DryRunOperation. Otherwise,
  22682. // it is UnauthorizedOperation.
  22683. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22684. }
  22685. // String returns the string representation
  22686. func (s DisassociateRouteTableInput) String() string {
  22687. return awsutil.Prettify(s)
  22688. }
  22689. // GoString returns the string representation
  22690. func (s DisassociateRouteTableInput) GoString() string {
  22691. return s.String()
  22692. }
  22693. // Validate inspects the fields of the type to determine if they are valid.
  22694. func (s *DisassociateRouteTableInput) Validate() error {
  22695. invalidParams := request.ErrInvalidParams{Context: "DisassociateRouteTableInput"}
  22696. if s.AssociationId == nil {
  22697. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  22698. }
  22699. if invalidParams.Len() > 0 {
  22700. return invalidParams
  22701. }
  22702. return nil
  22703. }
  22704. type DisassociateRouteTableOutput struct {
  22705. _ struct{} `type:"structure"`
  22706. }
  22707. // String returns the string representation
  22708. func (s DisassociateRouteTableOutput) String() string {
  22709. return awsutil.Prettify(s)
  22710. }
  22711. // GoString returns the string representation
  22712. func (s DisassociateRouteTableOutput) GoString() string {
  22713. return s.String()
  22714. }
  22715. // Describes a disk image.
  22716. type DiskImage struct {
  22717. _ struct{} `type:"structure"`
  22718. // A description of the disk image.
  22719. Description *string `type:"string"`
  22720. // Information about the disk image.
  22721. Image *DiskImageDetail `type:"structure"`
  22722. // Information about the volume.
  22723. Volume *VolumeDetail `type:"structure"`
  22724. }
  22725. // String returns the string representation
  22726. func (s DiskImage) String() string {
  22727. return awsutil.Prettify(s)
  22728. }
  22729. // GoString returns the string representation
  22730. func (s DiskImage) GoString() string {
  22731. return s.String()
  22732. }
  22733. // Validate inspects the fields of the type to determine if they are valid.
  22734. func (s *DiskImage) Validate() error {
  22735. invalidParams := request.ErrInvalidParams{Context: "DiskImage"}
  22736. if s.Image != nil {
  22737. if err := s.Image.Validate(); err != nil {
  22738. invalidParams.AddNested("Image", err.(request.ErrInvalidParams))
  22739. }
  22740. }
  22741. if s.Volume != nil {
  22742. if err := s.Volume.Validate(); err != nil {
  22743. invalidParams.AddNested("Volume", err.(request.ErrInvalidParams))
  22744. }
  22745. }
  22746. if invalidParams.Len() > 0 {
  22747. return invalidParams
  22748. }
  22749. return nil
  22750. }
  22751. // Describes a disk image.
  22752. type DiskImageDescription struct {
  22753. _ struct{} `type:"structure"`
  22754. // The checksum computed for the disk image.
  22755. Checksum *string `locationName:"checksum" type:"string"`
  22756. // The disk image format.
  22757. //
  22758. // Format is a required field
  22759. Format *string `locationName:"format" type:"string" required:"true" enum:"DiskImageFormat"`
  22760. // A presigned URL for the import manifest stored in Amazon S3. For information
  22761. // about creating a presigned URL for an Amazon S3 object, read the "Query String
  22762. // Request Authentication Alternative" section of the Authenticating REST Requests
  22763. // (http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html)
  22764. // topic in the Amazon Simple Storage Service Developer Guide.
  22765. //
  22766. // For information about the import manifest referenced by this API action,
  22767. // see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  22768. //
  22769. // ImportManifestUrl is a required field
  22770. ImportManifestUrl *string `locationName:"importManifestUrl" type:"string" required:"true"`
  22771. // The size of the disk image, in GiB.
  22772. //
  22773. // Size is a required field
  22774. Size *int64 `locationName:"size" type:"long" required:"true"`
  22775. }
  22776. // String returns the string representation
  22777. func (s DiskImageDescription) String() string {
  22778. return awsutil.Prettify(s)
  22779. }
  22780. // GoString returns the string representation
  22781. func (s DiskImageDescription) GoString() string {
  22782. return s.String()
  22783. }
  22784. // Describes a disk image.
  22785. type DiskImageDetail struct {
  22786. _ struct{} `type:"structure"`
  22787. // The size of the disk image, in GiB.
  22788. //
  22789. // Bytes is a required field
  22790. Bytes *int64 `locationName:"bytes" type:"long" required:"true"`
  22791. // The disk image format.
  22792. //
  22793. // Format is a required field
  22794. Format *string `locationName:"format" type:"string" required:"true" enum:"DiskImageFormat"`
  22795. // A presigned URL for the import manifest stored in Amazon S3 and presented
  22796. // here as an Amazon S3 presigned URL. For information about creating a presigned
  22797. // URL for an Amazon S3 object, read the "Query String Request Authentication
  22798. // Alternative" section of the Authenticating REST Requests (http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html)
  22799. // topic in the Amazon Simple Storage Service Developer Guide.
  22800. //
  22801. // For information about the import manifest referenced by this API action,
  22802. // see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  22803. //
  22804. // ImportManifestUrl is a required field
  22805. ImportManifestUrl *string `locationName:"importManifestUrl" type:"string" required:"true"`
  22806. }
  22807. // String returns the string representation
  22808. func (s DiskImageDetail) String() string {
  22809. return awsutil.Prettify(s)
  22810. }
  22811. // GoString returns the string representation
  22812. func (s DiskImageDetail) GoString() string {
  22813. return s.String()
  22814. }
  22815. // Validate inspects the fields of the type to determine if they are valid.
  22816. func (s *DiskImageDetail) Validate() error {
  22817. invalidParams := request.ErrInvalidParams{Context: "DiskImageDetail"}
  22818. if s.Bytes == nil {
  22819. invalidParams.Add(request.NewErrParamRequired("Bytes"))
  22820. }
  22821. if s.Format == nil {
  22822. invalidParams.Add(request.NewErrParamRequired("Format"))
  22823. }
  22824. if s.ImportManifestUrl == nil {
  22825. invalidParams.Add(request.NewErrParamRequired("ImportManifestUrl"))
  22826. }
  22827. if invalidParams.Len() > 0 {
  22828. return invalidParams
  22829. }
  22830. return nil
  22831. }
  22832. // Describes a disk image volume.
  22833. type DiskImageVolumeDescription struct {
  22834. _ struct{} `type:"structure"`
  22835. // The volume identifier.
  22836. //
  22837. // Id is a required field
  22838. Id *string `locationName:"id" type:"string" required:"true"`
  22839. // The size of the volume, in GiB.
  22840. Size *int64 `locationName:"size" type:"long"`
  22841. }
  22842. // String returns the string representation
  22843. func (s DiskImageVolumeDescription) String() string {
  22844. return awsutil.Prettify(s)
  22845. }
  22846. // GoString returns the string representation
  22847. func (s DiskImageVolumeDescription) GoString() string {
  22848. return s.String()
  22849. }
  22850. // Describes a block device for an EBS volume.
  22851. type EbsBlockDevice struct {
  22852. _ struct{} `type:"structure"`
  22853. // Indicates whether the EBS volume is deleted on instance termination.
  22854. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  22855. // Indicates whether the EBS volume is encrypted. Encrypted Amazon EBS volumes
  22856. // may only be attached to instances that support Amazon EBS encryption.
  22857. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  22858. // The number of I/O operations per second (IOPS) that the volume supports.
  22859. // For io1, this represents the number of IOPS that are provisioned for the
  22860. // volume. For gp2, this represents the baseline performance of the volume and
  22861. // the rate at which the volume accumulates I/O credits for bursting. For more
  22862. // information about General Purpose SSD baseline performance, I/O credits,
  22863. // and bursting, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
  22864. // in the Amazon Elastic Compute Cloud User Guide.
  22865. //
  22866. // Constraint: Range is 100-20000 IOPS for io1 volumes and 100-10000 IOPS for
  22867. // gp2 volumes.
  22868. //
  22869. // Condition: This parameter is required for requests to create io1 volumes;
  22870. // it is not used in requests to create gp2, st1, sc1, or standard volumes.
  22871. Iops *int64 `locationName:"iops" type:"integer"`
  22872. // The ID of the snapshot.
  22873. SnapshotId *string `locationName:"snapshotId" type:"string"`
  22874. // The size of the volume, in GiB.
  22875. //
  22876. // Constraints: 1-16384 for General Purpose SSD (gp2), 4-16384 for Provisioned
  22877. // IOPS SSD (io1), 500-16384 for Throughput Optimized HDD (st1), 500-16384 for
  22878. // Cold HDD (sc1), and 1-1024 for Magnetic (standard) volumes. If you specify
  22879. // a snapshot, the volume size must be equal to or larger than the snapshot
  22880. // size.
  22881. //
  22882. // Default: If you're creating the volume from a snapshot and don't specify
  22883. // a volume size, the default is the snapshot size.
  22884. VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
  22885. // The volume type: gp2, io1, st1, sc1, or standard.
  22886. //
  22887. // Default: standard
  22888. VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"`
  22889. }
  22890. // String returns the string representation
  22891. func (s EbsBlockDevice) String() string {
  22892. return awsutil.Prettify(s)
  22893. }
  22894. // GoString returns the string representation
  22895. func (s EbsBlockDevice) GoString() string {
  22896. return s.String()
  22897. }
  22898. // Describes a parameter used to set up an EBS volume in a block device mapping.
  22899. type EbsInstanceBlockDevice struct {
  22900. _ struct{} `type:"structure"`
  22901. // The time stamp when the attachment initiated.
  22902. AttachTime *time.Time `locationName:"attachTime" type:"timestamp" timestampFormat:"iso8601"`
  22903. // Indicates whether the volume is deleted on instance termination.
  22904. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  22905. // The attachment state.
  22906. Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
  22907. // The ID of the EBS volume.
  22908. VolumeId *string `locationName:"volumeId" type:"string"`
  22909. }
  22910. // String returns the string representation
  22911. func (s EbsInstanceBlockDevice) String() string {
  22912. return awsutil.Prettify(s)
  22913. }
  22914. // GoString returns the string representation
  22915. func (s EbsInstanceBlockDevice) GoString() string {
  22916. return s.String()
  22917. }
  22918. // Describes information used to set up an EBS volume specified in a block device
  22919. // mapping.
  22920. type EbsInstanceBlockDeviceSpecification struct {
  22921. _ struct{} `type:"structure"`
  22922. // Indicates whether the volume is deleted on instance termination.
  22923. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  22924. // The ID of the EBS volume.
  22925. VolumeId *string `locationName:"volumeId" type:"string"`
  22926. }
  22927. // String returns the string representation
  22928. func (s EbsInstanceBlockDeviceSpecification) String() string {
  22929. return awsutil.Prettify(s)
  22930. }
  22931. // GoString returns the string representation
  22932. func (s EbsInstanceBlockDeviceSpecification) GoString() string {
  22933. return s.String()
  22934. }
  22935. // Contains the parameters for EnableVgwRoutePropagation.
  22936. type EnableVgwRoutePropagationInput struct {
  22937. _ struct{} `type:"structure"`
  22938. // The ID of the virtual private gateway.
  22939. //
  22940. // GatewayId is a required field
  22941. GatewayId *string `type:"string" required:"true"`
  22942. // The ID of the route table.
  22943. //
  22944. // RouteTableId is a required field
  22945. RouteTableId *string `type:"string" required:"true"`
  22946. }
  22947. // String returns the string representation
  22948. func (s EnableVgwRoutePropagationInput) String() string {
  22949. return awsutil.Prettify(s)
  22950. }
  22951. // GoString returns the string representation
  22952. func (s EnableVgwRoutePropagationInput) GoString() string {
  22953. return s.String()
  22954. }
  22955. // Validate inspects the fields of the type to determine if they are valid.
  22956. func (s *EnableVgwRoutePropagationInput) Validate() error {
  22957. invalidParams := request.ErrInvalidParams{Context: "EnableVgwRoutePropagationInput"}
  22958. if s.GatewayId == nil {
  22959. invalidParams.Add(request.NewErrParamRequired("GatewayId"))
  22960. }
  22961. if s.RouteTableId == nil {
  22962. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  22963. }
  22964. if invalidParams.Len() > 0 {
  22965. return invalidParams
  22966. }
  22967. return nil
  22968. }
  22969. type EnableVgwRoutePropagationOutput struct {
  22970. _ struct{} `type:"structure"`
  22971. }
  22972. // String returns the string representation
  22973. func (s EnableVgwRoutePropagationOutput) String() string {
  22974. return awsutil.Prettify(s)
  22975. }
  22976. // GoString returns the string representation
  22977. func (s EnableVgwRoutePropagationOutput) GoString() string {
  22978. return s.String()
  22979. }
  22980. // Contains the parameters for EnableVolumeIO.
  22981. type EnableVolumeIOInput struct {
  22982. _ struct{} `type:"structure"`
  22983. // Checks whether you have the required permissions for the action, without
  22984. // actually making the request, and provides an error response. If you have
  22985. // the required permissions, the error response is DryRunOperation. Otherwise,
  22986. // it is UnauthorizedOperation.
  22987. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22988. // The ID of the volume.
  22989. //
  22990. // VolumeId is a required field
  22991. VolumeId *string `locationName:"volumeId" type:"string" required:"true"`
  22992. }
  22993. // String returns the string representation
  22994. func (s EnableVolumeIOInput) String() string {
  22995. return awsutil.Prettify(s)
  22996. }
  22997. // GoString returns the string representation
  22998. func (s EnableVolumeIOInput) GoString() string {
  22999. return s.String()
  23000. }
  23001. // Validate inspects the fields of the type to determine if they are valid.
  23002. func (s *EnableVolumeIOInput) Validate() error {
  23003. invalidParams := request.ErrInvalidParams{Context: "EnableVolumeIOInput"}
  23004. if s.VolumeId == nil {
  23005. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  23006. }
  23007. if invalidParams.Len() > 0 {
  23008. return invalidParams
  23009. }
  23010. return nil
  23011. }
  23012. type EnableVolumeIOOutput struct {
  23013. _ struct{} `type:"structure"`
  23014. }
  23015. // String returns the string representation
  23016. func (s EnableVolumeIOOutput) String() string {
  23017. return awsutil.Prettify(s)
  23018. }
  23019. // GoString returns the string representation
  23020. func (s EnableVolumeIOOutput) GoString() string {
  23021. return s.String()
  23022. }
  23023. // Contains the parameters for EnableVpcClassicLinkDnsSupport.
  23024. type EnableVpcClassicLinkDnsSupportInput struct {
  23025. _ struct{} `type:"structure"`
  23026. // The ID of the VPC.
  23027. VpcId *string `type:"string"`
  23028. }
  23029. // String returns the string representation
  23030. func (s EnableVpcClassicLinkDnsSupportInput) String() string {
  23031. return awsutil.Prettify(s)
  23032. }
  23033. // GoString returns the string representation
  23034. func (s EnableVpcClassicLinkDnsSupportInput) GoString() string {
  23035. return s.String()
  23036. }
  23037. // Contains the output of EnableVpcClassicLinkDnsSupport.
  23038. type EnableVpcClassicLinkDnsSupportOutput struct {
  23039. _ struct{} `type:"structure"`
  23040. // Returns true if the request succeeds; otherwise, it returns an error.
  23041. Return *bool `locationName:"return" type:"boolean"`
  23042. }
  23043. // String returns the string representation
  23044. func (s EnableVpcClassicLinkDnsSupportOutput) String() string {
  23045. return awsutil.Prettify(s)
  23046. }
  23047. // GoString returns the string representation
  23048. func (s EnableVpcClassicLinkDnsSupportOutput) GoString() string {
  23049. return s.String()
  23050. }
  23051. // Contains the parameters for EnableVpcClassicLink.
  23052. type EnableVpcClassicLinkInput struct {
  23053. _ struct{} `type:"structure"`
  23054. // Checks whether you have the required permissions for the action, without
  23055. // actually making the request, and provides an error response. If you have
  23056. // the required permissions, the error response is DryRunOperation. Otherwise,
  23057. // it is UnauthorizedOperation.
  23058. DryRun *bool `locationName:"dryRun" type:"boolean"`
  23059. // The ID of the VPC.
  23060. //
  23061. // VpcId is a required field
  23062. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  23063. }
  23064. // String returns the string representation
  23065. func (s EnableVpcClassicLinkInput) String() string {
  23066. return awsutil.Prettify(s)
  23067. }
  23068. // GoString returns the string representation
  23069. func (s EnableVpcClassicLinkInput) GoString() string {
  23070. return s.String()
  23071. }
  23072. // Validate inspects the fields of the type to determine if they are valid.
  23073. func (s *EnableVpcClassicLinkInput) Validate() error {
  23074. invalidParams := request.ErrInvalidParams{Context: "EnableVpcClassicLinkInput"}
  23075. if s.VpcId == nil {
  23076. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  23077. }
  23078. if invalidParams.Len() > 0 {
  23079. return invalidParams
  23080. }
  23081. return nil
  23082. }
  23083. // Contains the output of EnableVpcClassicLink.
  23084. type EnableVpcClassicLinkOutput struct {
  23085. _ struct{} `type:"structure"`
  23086. // Returns true if the request succeeds; otherwise, it returns an error.
  23087. Return *bool `locationName:"return" type:"boolean"`
  23088. }
  23089. // String returns the string representation
  23090. func (s EnableVpcClassicLinkOutput) String() string {
  23091. return awsutil.Prettify(s)
  23092. }
  23093. // GoString returns the string representation
  23094. func (s EnableVpcClassicLinkOutput) GoString() string {
  23095. return s.String()
  23096. }
  23097. // Describes a Spot fleet event.
  23098. type EventInformation struct {
  23099. _ struct{} `type:"structure"`
  23100. // The description of the event.
  23101. EventDescription *string `locationName:"eventDescription" type:"string"`
  23102. // The event.
  23103. //
  23104. // The following are the error events.
  23105. //
  23106. // * iamFleetRoleInvalid - The Spot fleet did not have the required permissions
  23107. // either to launch or terminate an instance.
  23108. //
  23109. // * launchSpecTemporarilyBlacklisted - The configuration is not valid and
  23110. // several attempts to launch instances have failed. For more information,
  23111. // see the description of the event.
  23112. //
  23113. // * spotFleetRequestConfigurationInvalid - The configuration is not valid.
  23114. // For more information, see the description of the event.
  23115. //
  23116. // * spotInstanceCountLimitExceeded - You've reached the limit on the number
  23117. // of Spot instances that you can launch.
  23118. //
  23119. // The following are the fleetRequestChange events.
  23120. //
  23121. // * active - The Spot fleet has been validated and Amazon EC2 is attempting
  23122. // to maintain the target number of running Spot instances.
  23123. //
  23124. // * cancelled - The Spot fleet is canceled and has no running Spot instances.
  23125. // The Spot fleet will be deleted two days after its instances were terminated.
  23126. //
  23127. // * cancelled_running - The Spot fleet is canceled and will not launch additional
  23128. // Spot instances, but its existing Spot instances continue to run until
  23129. // they are interrupted or terminated.
  23130. //
  23131. // * cancelled_terminating - The Spot fleet is canceled and its Spot instances
  23132. // are terminating.
  23133. //
  23134. // * expired - The Spot fleet request has expired. A subsequent event indicates
  23135. // that the instances were terminated, if the request was created with TerminateInstancesWithExpiration
  23136. // set.
  23137. //
  23138. // * modify_in_progress - A request to modify the Spot fleet request was
  23139. // accepted and is in progress.
  23140. //
  23141. // * modify_successful - The Spot fleet request was modified.
  23142. //
  23143. // * price_update - The bid price for a launch configuration was adjusted
  23144. // because it was too high. This change is permanent.
  23145. //
  23146. // * submitted - The Spot fleet request is being evaluated and Amazon EC2
  23147. // is preparing to launch the target number of Spot instances.
  23148. //
  23149. // The following are the instanceChange events.
  23150. //
  23151. // * launched - A bid was fulfilled and a new instance was launched.
  23152. //
  23153. // * terminated - An instance was terminated by the user.
  23154. EventSubType *string `locationName:"eventSubType" type:"string"`
  23155. // The ID of the instance. This information is available only for instanceChange
  23156. // events.
  23157. InstanceId *string `locationName:"instanceId" type:"string"`
  23158. }
  23159. // String returns the string representation
  23160. func (s EventInformation) String() string {
  23161. return awsutil.Prettify(s)
  23162. }
  23163. // GoString returns the string representation
  23164. func (s EventInformation) GoString() string {
  23165. return s.String()
  23166. }
  23167. // Describes an instance export task.
  23168. type ExportTask struct {
  23169. _ struct{} `type:"structure"`
  23170. // A description of the resource being exported.
  23171. Description *string `locationName:"description" type:"string"`
  23172. // The ID of the export task.
  23173. ExportTaskId *string `locationName:"exportTaskId" type:"string"`
  23174. // Information about the export task.
  23175. ExportToS3Task *ExportToS3Task `locationName:"exportToS3" type:"structure"`
  23176. // Information about the instance to export.
  23177. InstanceExportDetails *InstanceExportDetails `locationName:"instanceExport" type:"structure"`
  23178. // The state of the export task.
  23179. State *string `locationName:"state" type:"string" enum:"ExportTaskState"`
  23180. // The status message related to the export task.
  23181. StatusMessage *string `locationName:"statusMessage" type:"string"`
  23182. }
  23183. // String returns the string representation
  23184. func (s ExportTask) String() string {
  23185. return awsutil.Prettify(s)
  23186. }
  23187. // GoString returns the string representation
  23188. func (s ExportTask) GoString() string {
  23189. return s.String()
  23190. }
  23191. // Describes the format and location for an instance export task.
  23192. type ExportToS3Task struct {
  23193. _ struct{} `type:"structure"`
  23194. // The container format used to combine disk images with metadata (such as OVF).
  23195. // If absent, only the disk image is exported.
  23196. ContainerFormat *string `locationName:"containerFormat" type:"string" enum:"ContainerFormat"`
  23197. // The format for the exported image.
  23198. DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"`
  23199. // The S3 bucket for the destination image. The destination bucket must exist
  23200. // and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.
  23201. S3Bucket *string `locationName:"s3Bucket" type:"string"`
  23202. // The encryption key for your S3 bucket.
  23203. S3Key *string `locationName:"s3Key" type:"string"`
  23204. }
  23205. // String returns the string representation
  23206. func (s ExportToS3Task) String() string {
  23207. return awsutil.Prettify(s)
  23208. }
  23209. // GoString returns the string representation
  23210. func (s ExportToS3Task) GoString() string {
  23211. return s.String()
  23212. }
  23213. // Describes an instance export task.
  23214. type ExportToS3TaskSpecification struct {
  23215. _ struct{} `type:"structure"`
  23216. // The container format used to combine disk images with metadata (such as OVF).
  23217. // If absent, only the disk image is exported.
  23218. ContainerFormat *string `locationName:"containerFormat" type:"string" enum:"ContainerFormat"`
  23219. // The format for the exported image.
  23220. DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"`
  23221. // The S3 bucket for the destination image. The destination bucket must exist
  23222. // and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.
  23223. S3Bucket *string `locationName:"s3Bucket" type:"string"`
  23224. // The image is written to a single object in the S3 bucket at the S3 key s3prefix
  23225. // + exportTaskId + '.' + diskImageFormat.
  23226. S3Prefix *string `locationName:"s3Prefix" type:"string"`
  23227. }
  23228. // String returns the string representation
  23229. func (s ExportToS3TaskSpecification) String() string {
  23230. return awsutil.Prettify(s)
  23231. }
  23232. // GoString returns the string representation
  23233. func (s ExportToS3TaskSpecification) GoString() string {
  23234. return s.String()
  23235. }
  23236. // A filter name and value pair that is used to return a more specific list
  23237. // of results. Filters can be used to match a set of resources by various criteria,
  23238. // such as tags, attributes, or IDs.
  23239. type Filter struct {
  23240. _ struct{} `type:"structure"`
  23241. // The name of the filter. Filter names are case-sensitive.
  23242. Name *string `type:"string"`
  23243. // One or more filter values. Filter values are case-sensitive.
  23244. Values []*string `locationName:"Value" locationNameList:"item" type:"list"`
  23245. }
  23246. // String returns the string representation
  23247. func (s Filter) String() string {
  23248. return awsutil.Prettify(s)
  23249. }
  23250. // GoString returns the string representation
  23251. func (s Filter) GoString() string {
  23252. return s.String()
  23253. }
  23254. // Describes a flow log.
  23255. type FlowLog struct {
  23256. _ struct{} `type:"structure"`
  23257. // The date and time the flow log was created.
  23258. CreationTime *time.Time `locationName:"creationTime" type:"timestamp" timestampFormat:"iso8601"`
  23259. // Information about the error that occurred. Rate limited indicates that CloudWatch
  23260. // logs throttling has been applied for one or more network interfaces, or that
  23261. // you've reached the limit on the number of CloudWatch Logs log groups that
  23262. // you can create. Access error indicates that the IAM role associated with
  23263. // the flow log does not have sufficient permissions to publish to CloudWatch
  23264. // Logs. Unknown error indicates an internal error.
  23265. DeliverLogsErrorMessage *string `locationName:"deliverLogsErrorMessage" type:"string"`
  23266. // The ARN of the IAM role that posts logs to CloudWatch Logs.
  23267. DeliverLogsPermissionArn *string `locationName:"deliverLogsPermissionArn" type:"string"`
  23268. // The status of the logs delivery (SUCCESS | FAILED).
  23269. DeliverLogsStatus *string `locationName:"deliverLogsStatus" type:"string"`
  23270. // The flow log ID.
  23271. FlowLogId *string `locationName:"flowLogId" type:"string"`
  23272. // The status of the flow log (ACTIVE).
  23273. FlowLogStatus *string `locationName:"flowLogStatus" type:"string"`
  23274. // The name of the flow log group.
  23275. LogGroupName *string `locationName:"logGroupName" type:"string"`
  23276. // The ID of the resource on which the flow log was created.
  23277. ResourceId *string `locationName:"resourceId" type:"string"`
  23278. // The type of traffic captured for the flow log.
  23279. TrafficType *string `locationName:"trafficType" type:"string" enum:"TrafficType"`
  23280. }
  23281. // String returns the string representation
  23282. func (s FlowLog) String() string {
  23283. return awsutil.Prettify(s)
  23284. }
  23285. // GoString returns the string representation
  23286. func (s FlowLog) GoString() string {
  23287. return s.String()
  23288. }
  23289. // Contains the parameters for GetConsoleOutput.
  23290. type GetConsoleOutputInput struct {
  23291. _ struct{} `type:"structure"`
  23292. // Checks whether you have the required permissions for the action, without
  23293. // actually making the request, and provides an error response. If you have
  23294. // the required permissions, the error response is DryRunOperation. Otherwise,
  23295. // it is UnauthorizedOperation.
  23296. DryRun *bool `locationName:"dryRun" type:"boolean"`
  23297. // The ID of the instance.
  23298. //
  23299. // InstanceId is a required field
  23300. InstanceId *string `type:"string" required:"true"`
  23301. }
  23302. // String returns the string representation
  23303. func (s GetConsoleOutputInput) String() string {
  23304. return awsutil.Prettify(s)
  23305. }
  23306. // GoString returns the string representation
  23307. func (s GetConsoleOutputInput) GoString() string {
  23308. return s.String()
  23309. }
  23310. // Validate inspects the fields of the type to determine if they are valid.
  23311. func (s *GetConsoleOutputInput) Validate() error {
  23312. invalidParams := request.ErrInvalidParams{Context: "GetConsoleOutputInput"}
  23313. if s.InstanceId == nil {
  23314. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  23315. }
  23316. if invalidParams.Len() > 0 {
  23317. return invalidParams
  23318. }
  23319. return nil
  23320. }
  23321. // Contains the output of GetConsoleOutput.
  23322. type GetConsoleOutputOutput struct {
  23323. _ struct{} `type:"structure"`
  23324. // The ID of the instance.
  23325. InstanceId *string `locationName:"instanceId" type:"string"`
  23326. // The console output, Base64-encoded. If using a command line tool, the tool
  23327. // decodes the output for you.
  23328. Output *string `locationName:"output" type:"string"`
  23329. // The time the output was last updated.
  23330. Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601"`
  23331. }
  23332. // String returns the string representation
  23333. func (s GetConsoleOutputOutput) String() string {
  23334. return awsutil.Prettify(s)
  23335. }
  23336. // GoString returns the string representation
  23337. func (s GetConsoleOutputOutput) GoString() string {
  23338. return s.String()
  23339. }
  23340. // Contains the parameters for the request.
  23341. type GetConsoleScreenshotInput struct {
  23342. _ struct{} `type:"structure"`
  23343. // Checks whether you have the required permissions for the action, without
  23344. // actually making the request, and provides an error response. If you have
  23345. // the required permissions, the error response is DryRunOperation. Otherwise,
  23346. // it is UnauthorizedOperation.
  23347. DryRun *bool `type:"boolean"`
  23348. // The ID of the instance.
  23349. //
  23350. // InstanceId is a required field
  23351. InstanceId *string `type:"string" required:"true"`
  23352. // When set to true, acts as keystroke input and wakes up an instance that's
  23353. // in standby or "sleep" mode.
  23354. WakeUp *bool `type:"boolean"`
  23355. }
  23356. // String returns the string representation
  23357. func (s GetConsoleScreenshotInput) String() string {
  23358. return awsutil.Prettify(s)
  23359. }
  23360. // GoString returns the string representation
  23361. func (s GetConsoleScreenshotInput) GoString() string {
  23362. return s.String()
  23363. }
  23364. // Validate inspects the fields of the type to determine if they are valid.
  23365. func (s *GetConsoleScreenshotInput) Validate() error {
  23366. invalidParams := request.ErrInvalidParams{Context: "GetConsoleScreenshotInput"}
  23367. if s.InstanceId == nil {
  23368. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  23369. }
  23370. if invalidParams.Len() > 0 {
  23371. return invalidParams
  23372. }
  23373. return nil
  23374. }
  23375. // Contains the output of the request.
  23376. type GetConsoleScreenshotOutput struct {
  23377. _ struct{} `type:"structure"`
  23378. // The data that comprises the image.
  23379. ImageData *string `locationName:"imageData" type:"string"`
  23380. // The ID of the instance.
  23381. InstanceId *string `locationName:"instanceId" type:"string"`
  23382. }
  23383. // String returns the string representation
  23384. func (s GetConsoleScreenshotOutput) String() string {
  23385. return awsutil.Prettify(s)
  23386. }
  23387. // GoString returns the string representation
  23388. func (s GetConsoleScreenshotOutput) GoString() string {
  23389. return s.String()
  23390. }
  23391. type GetHostReservationPurchasePreviewInput struct {
  23392. _ struct{} `type:"structure"`
  23393. // The ID/s of the Dedicated Host/s that the reservation will be associated
  23394. // with.
  23395. //
  23396. // HostIdSet is a required field
  23397. HostIdSet []*string `locationNameList:"item" type:"list" required:"true"`
  23398. // The offering ID of the reservation.
  23399. //
  23400. // OfferingId is a required field
  23401. OfferingId *string `type:"string" required:"true"`
  23402. }
  23403. // String returns the string representation
  23404. func (s GetHostReservationPurchasePreviewInput) String() string {
  23405. return awsutil.Prettify(s)
  23406. }
  23407. // GoString returns the string representation
  23408. func (s GetHostReservationPurchasePreviewInput) GoString() string {
  23409. return s.String()
  23410. }
  23411. // Validate inspects the fields of the type to determine if they are valid.
  23412. func (s *GetHostReservationPurchasePreviewInput) Validate() error {
  23413. invalidParams := request.ErrInvalidParams{Context: "GetHostReservationPurchasePreviewInput"}
  23414. if s.HostIdSet == nil {
  23415. invalidParams.Add(request.NewErrParamRequired("HostIdSet"))
  23416. }
  23417. if s.OfferingId == nil {
  23418. invalidParams.Add(request.NewErrParamRequired("OfferingId"))
  23419. }
  23420. if invalidParams.Len() > 0 {
  23421. return invalidParams
  23422. }
  23423. return nil
  23424. }
  23425. type GetHostReservationPurchasePreviewOutput struct {
  23426. _ struct{} `type:"structure"`
  23427. // The currency in which the totalUpfrontPrice and totalHourlyPrice amounts
  23428. // are specified. At this time, the only supported currency is USD.
  23429. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  23430. // The purchase information of the Dedicated Host Reservation and the Dedicated
  23431. // Hosts associated with it.
  23432. Purchase []*Purchase `locationName:"purchase" type:"list"`
  23433. // The potential total hourly price of the reservation per hour.
  23434. TotalHourlyPrice *string `locationName:"totalHourlyPrice" type:"string"`
  23435. // The potential total upfront price. This is billed immediately.
  23436. TotalUpfrontPrice *string `locationName:"totalUpfrontPrice" type:"string"`
  23437. }
  23438. // String returns the string representation
  23439. func (s GetHostReservationPurchasePreviewOutput) String() string {
  23440. return awsutil.Prettify(s)
  23441. }
  23442. // GoString returns the string representation
  23443. func (s GetHostReservationPurchasePreviewOutput) GoString() string {
  23444. return s.String()
  23445. }
  23446. // Contains the parameters for GetPasswordData.
  23447. type GetPasswordDataInput struct {
  23448. _ struct{} `type:"structure"`
  23449. // Checks whether you have the required permissions for the action, without
  23450. // actually making the request, and provides an error response. If you have
  23451. // the required permissions, the error response is DryRunOperation. Otherwise,
  23452. // it is UnauthorizedOperation.
  23453. DryRun *bool `locationName:"dryRun" type:"boolean"`
  23454. // The ID of the Windows instance.
  23455. //
  23456. // InstanceId is a required field
  23457. InstanceId *string `type:"string" required:"true"`
  23458. }
  23459. // String returns the string representation
  23460. func (s GetPasswordDataInput) String() string {
  23461. return awsutil.Prettify(s)
  23462. }
  23463. // GoString returns the string representation
  23464. func (s GetPasswordDataInput) GoString() string {
  23465. return s.String()
  23466. }
  23467. // Validate inspects the fields of the type to determine if they are valid.
  23468. func (s *GetPasswordDataInput) Validate() error {
  23469. invalidParams := request.ErrInvalidParams{Context: "GetPasswordDataInput"}
  23470. if s.InstanceId == nil {
  23471. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  23472. }
  23473. if invalidParams.Len() > 0 {
  23474. return invalidParams
  23475. }
  23476. return nil
  23477. }
  23478. // Contains the output of GetPasswordData.
  23479. type GetPasswordDataOutput struct {
  23480. _ struct{} `type:"structure"`
  23481. // The ID of the Windows instance.
  23482. InstanceId *string `locationName:"instanceId" type:"string"`
  23483. // The password of the instance.
  23484. PasswordData *string `locationName:"passwordData" type:"string"`
  23485. // The time the data was last updated.
  23486. Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601"`
  23487. }
  23488. // String returns the string representation
  23489. func (s GetPasswordDataOutput) String() string {
  23490. return awsutil.Prettify(s)
  23491. }
  23492. // GoString returns the string representation
  23493. func (s GetPasswordDataOutput) GoString() string {
  23494. return s.String()
  23495. }
  23496. // Contains the parameters for GetReservedInstanceExchangeQuote.
  23497. type GetReservedInstancesExchangeQuoteInput struct {
  23498. _ struct{} `type:"structure"`
  23499. // Checks whether you have the required permissions for the action, without
  23500. // actually making the request, and provides an error response. If you have
  23501. // the required permissions, the error response is DryRunOperation. Otherwise,
  23502. // it is UnauthorizedOperation.
  23503. DryRun *bool `type:"boolean"`
  23504. // The ID/s of the Convertible Reserved Instances you want to exchange.
  23505. //
  23506. // ReservedInstanceIds is a required field
  23507. ReservedInstanceIds []*string `locationName:"ReservedInstanceId" locationNameList:"ReservedInstanceId" type:"list" required:"true"`
  23508. // The configuration requirements of the Convertible Reserved Instances you
  23509. // want in exchange for your current Convertible Reserved Instances.
  23510. TargetConfigurations []*TargetConfigurationRequest `locationName:"TargetConfiguration" locationNameList:"TargetConfigurationRequest" type:"list"`
  23511. }
  23512. // String returns the string representation
  23513. func (s GetReservedInstancesExchangeQuoteInput) String() string {
  23514. return awsutil.Prettify(s)
  23515. }
  23516. // GoString returns the string representation
  23517. func (s GetReservedInstancesExchangeQuoteInput) GoString() string {
  23518. return s.String()
  23519. }
  23520. // Validate inspects the fields of the type to determine if they are valid.
  23521. func (s *GetReservedInstancesExchangeQuoteInput) Validate() error {
  23522. invalidParams := request.ErrInvalidParams{Context: "GetReservedInstancesExchangeQuoteInput"}
  23523. if s.ReservedInstanceIds == nil {
  23524. invalidParams.Add(request.NewErrParamRequired("ReservedInstanceIds"))
  23525. }
  23526. if s.TargetConfigurations != nil {
  23527. for i, v := range s.TargetConfigurations {
  23528. if v == nil {
  23529. continue
  23530. }
  23531. if err := v.Validate(); err != nil {
  23532. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetConfigurations", i), err.(request.ErrInvalidParams))
  23533. }
  23534. }
  23535. }
  23536. if invalidParams.Len() > 0 {
  23537. return invalidParams
  23538. }
  23539. return nil
  23540. }
  23541. // Contains the output of GetReservedInstancesExchangeQuote.
  23542. type GetReservedInstancesExchangeQuoteOutput struct {
  23543. _ struct{} `type:"structure"`
  23544. // The currency of the transaction.
  23545. CurrencyCode *string `locationName:"currencyCode" type:"string"`
  23546. // If true, the exchange is valid. If false, the exchange cannot be performed.
  23547. IsValidExchange *bool `locationName:"isValidExchange" type:"boolean"`
  23548. // The new end date of the reservation term.
  23549. OutputReservedInstancesWillExpireAt *time.Time `locationName:"outputReservedInstancesWillExpireAt" type:"timestamp" timestampFormat:"iso8601"`
  23550. // The total true upfront charge for the exchange.
  23551. PaymentDue *string `locationName:"paymentDue" type:"string"`
  23552. // The cost associated with the Reserved Instance.
  23553. ReservedInstanceValueRollup *ReservationValue `locationName:"reservedInstanceValueRollup" type:"structure"`
  23554. // The configuration of your Convertible Reserved Instances.
  23555. ReservedInstanceValueSet []*ReservedInstanceReservationValue `locationName:"reservedInstanceValueSet" locationNameList:"item" type:"list"`
  23556. // The cost associated with the Reserved Instance.
  23557. TargetConfigurationValueRollup *ReservationValue `locationName:"targetConfigurationValueRollup" type:"structure"`
  23558. // The values of the target Convertible Reserved Instances.
  23559. TargetConfigurationValueSet []*TargetReservationValue `locationName:"targetConfigurationValueSet" locationNameList:"item" type:"list"`
  23560. // Describes the reason why the exchange can not be completed.
  23561. ValidationFailureReason *string `locationName:"validationFailureReason" type:"string"`
  23562. }
  23563. // String returns the string representation
  23564. func (s GetReservedInstancesExchangeQuoteOutput) String() string {
  23565. return awsutil.Prettify(s)
  23566. }
  23567. // GoString returns the string representation
  23568. func (s GetReservedInstancesExchangeQuoteOutput) GoString() string {
  23569. return s.String()
  23570. }
  23571. // Describes a security group.
  23572. type GroupIdentifier struct {
  23573. _ struct{} `type:"structure"`
  23574. // The ID of the security group.
  23575. GroupId *string `locationName:"groupId" type:"string"`
  23576. // The name of the security group.
  23577. GroupName *string `locationName:"groupName" type:"string"`
  23578. }
  23579. // String returns the string representation
  23580. func (s GroupIdentifier) String() string {
  23581. return awsutil.Prettify(s)
  23582. }
  23583. // GoString returns the string representation
  23584. func (s GroupIdentifier) GoString() string {
  23585. return s.String()
  23586. }
  23587. // Describes an event in the history of the Spot fleet request.
  23588. type HistoryRecord struct {
  23589. _ struct{} `type:"structure"`
  23590. // Information about the event.
  23591. //
  23592. // EventInformation is a required field
  23593. EventInformation *EventInformation `locationName:"eventInformation" type:"structure" required:"true"`
  23594. // The event type.
  23595. //
  23596. // * error - Indicates an error with the Spot fleet request.
  23597. //
  23598. // * fleetRequestChange - Indicates a change in the status or configuration
  23599. // of the Spot fleet request.
  23600. //
  23601. // * instanceChange - Indicates that an instance was launched or terminated.
  23602. //
  23603. // EventType is a required field
  23604. EventType *string `locationName:"eventType" type:"string" required:"true" enum:"EventType"`
  23605. // The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  23606. //
  23607. // Timestamp is a required field
  23608. Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601" required:"true"`
  23609. }
  23610. // String returns the string representation
  23611. func (s HistoryRecord) String() string {
  23612. return awsutil.Prettify(s)
  23613. }
  23614. // GoString returns the string representation
  23615. func (s HistoryRecord) GoString() string {
  23616. return s.String()
  23617. }
  23618. // Describes the properties of the Dedicated Host.
  23619. type Host struct {
  23620. _ struct{} `type:"structure"`
  23621. // Whether auto-placement is on or off.
  23622. AutoPlacement *string `locationName:"autoPlacement" type:"string" enum:"AutoPlacement"`
  23623. // The Availability Zone of the Dedicated Host.
  23624. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  23625. // The number of new instances that can be launched onto the Dedicated Host.
  23626. AvailableCapacity *AvailableCapacity `locationName:"availableCapacity" type:"structure"`
  23627. // Unique, case-sensitive identifier you provide to ensure idempotency of the
  23628. // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  23629. // in the Amazon Elastic Compute Cloud User Guide.
  23630. ClientToken *string `locationName:"clientToken" type:"string"`
  23631. // The ID of the Dedicated Host.
  23632. HostId *string `locationName:"hostId" type:"string"`
  23633. // The hardware specifications of the Dedicated Host.
  23634. HostProperties *HostProperties `locationName:"hostProperties" type:"structure"`
  23635. // The reservation ID of the Dedicated Host. This returns a null response if
  23636. // the Dedicated Host doesn't have an associated reservation.
  23637. HostReservationId *string `locationName:"hostReservationId" type:"string"`
  23638. // The IDs and instance type that are currently running on the Dedicated Host.
  23639. Instances []*HostInstance `locationName:"instances" locationNameList:"item" type:"list"`
  23640. // The Dedicated Host's state.
  23641. State *string `locationName:"state" type:"string" enum:"AllocationState"`
  23642. }
  23643. // String returns the string representation
  23644. func (s Host) String() string {
  23645. return awsutil.Prettify(s)
  23646. }
  23647. // GoString returns the string representation
  23648. func (s Host) GoString() string {
  23649. return s.String()
  23650. }
  23651. // Describes an instance running on a Dedicated Host.
  23652. type HostInstance struct {
  23653. _ struct{} `type:"structure"`
  23654. // the IDs of instances that are running on the Dedicated Host.
  23655. InstanceId *string `locationName:"instanceId" type:"string"`
  23656. // The instance type size (for example, m3.medium) of the running instance.
  23657. InstanceType *string `locationName:"instanceType" type:"string"`
  23658. }
  23659. // String returns the string representation
  23660. func (s HostInstance) String() string {
  23661. return awsutil.Prettify(s)
  23662. }
  23663. // GoString returns the string representation
  23664. func (s HostInstance) GoString() string {
  23665. return s.String()
  23666. }
  23667. // Details about the Dedicated Host Reservation offering.
  23668. type HostOffering struct {
  23669. _ struct{} `type:"structure"`
  23670. // The currency of the offering.
  23671. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  23672. // The duration of the offering (in seconds).
  23673. Duration *int64 `locationName:"duration" type:"integer"`
  23674. // The hourly price of the offering.
  23675. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  23676. // The instance family of the offering.
  23677. InstanceFamily *string `locationName:"instanceFamily" type:"string"`
  23678. // The ID of the offering.
  23679. OfferingId *string `locationName:"offeringId" type:"string"`
  23680. // The available payment option.
  23681. PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
  23682. // The upfront price of the offering. Does not apply to No Upfront offerings.
  23683. UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
  23684. }
  23685. // String returns the string representation
  23686. func (s HostOffering) String() string {
  23687. return awsutil.Prettify(s)
  23688. }
  23689. // GoString returns the string representation
  23690. func (s HostOffering) GoString() string {
  23691. return s.String()
  23692. }
  23693. // Describes properties of a Dedicated Host.
  23694. type HostProperties struct {
  23695. _ struct{} `type:"structure"`
  23696. // The number of cores on the Dedicated Host.
  23697. Cores *int64 `locationName:"cores" type:"integer"`
  23698. // The instance type size that the Dedicated Host supports (for example, m3.medium).
  23699. InstanceType *string `locationName:"instanceType" type:"string"`
  23700. // The number of sockets on the Dedicated Host.
  23701. Sockets *int64 `locationName:"sockets" type:"integer"`
  23702. // The number of vCPUs on the Dedicated Host.
  23703. TotalVCpus *int64 `locationName:"totalVCpus" type:"integer"`
  23704. }
  23705. // String returns the string representation
  23706. func (s HostProperties) String() string {
  23707. return awsutil.Prettify(s)
  23708. }
  23709. // GoString returns the string representation
  23710. func (s HostProperties) GoString() string {
  23711. return s.String()
  23712. }
  23713. // Details about the Dedicated Host Reservation and associated Dedicated Hosts.
  23714. type HostReservation struct {
  23715. _ struct{} `type:"structure"`
  23716. // The number of Dedicated Hosts the reservation is associated with.
  23717. Count *int64 `locationName:"count" type:"integer"`
  23718. // The currency in which the upfrontPrice and hourlyPrice amounts are specified.
  23719. // At this time, the only supported currency is USD.
  23720. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  23721. // The length of the reservation's term, specified in seconds. Can be 31536000
  23722. // (1 year) | 94608000 (3 years).
  23723. Duration *int64 `locationName:"duration" type:"integer"`
  23724. // The date and time that the reservation ends.
  23725. End *time.Time `locationName:"end" type:"timestamp" timestampFormat:"iso8601"`
  23726. // The IDs of the Dedicated Hosts associated with the reservation.
  23727. HostIdSet []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
  23728. // The ID of the reservation that specifies the associated Dedicated Hosts.
  23729. HostReservationId *string `locationName:"hostReservationId" type:"string"`
  23730. // The hourly price of the reservation.
  23731. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  23732. // The instance family of the Dedicated Host Reservation. The instance family
  23733. // on the Dedicated Host must be the same in order for it to benefit from the
  23734. // reservation.
  23735. InstanceFamily *string `locationName:"instanceFamily" type:"string"`
  23736. // The ID of the reservation. This remains the same regardless of which Dedicated
  23737. // Hosts are associated with it.
  23738. OfferingId *string `locationName:"offeringId" type:"string"`
  23739. // The payment option selected for this reservation.
  23740. PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
  23741. // The date and time that the reservation started.
  23742. Start *time.Time `locationName:"start" type:"timestamp" timestampFormat:"iso8601"`
  23743. // The state of the reservation.
  23744. State *string `locationName:"state" type:"string" enum:"ReservationState"`
  23745. // The upfront price of the reservation.
  23746. UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
  23747. }
  23748. // String returns the string representation
  23749. func (s HostReservation) String() string {
  23750. return awsutil.Prettify(s)
  23751. }
  23752. // GoString returns the string representation
  23753. func (s HostReservation) GoString() string {
  23754. return s.String()
  23755. }
  23756. // Describes an IAM instance profile.
  23757. type IamInstanceProfile struct {
  23758. _ struct{} `type:"structure"`
  23759. // The Amazon Resource Name (ARN) of the instance profile.
  23760. Arn *string `locationName:"arn" type:"string"`
  23761. // The ID of the instance profile.
  23762. Id *string `locationName:"id" type:"string"`
  23763. }
  23764. // String returns the string representation
  23765. func (s IamInstanceProfile) String() string {
  23766. return awsutil.Prettify(s)
  23767. }
  23768. // GoString returns the string representation
  23769. func (s IamInstanceProfile) GoString() string {
  23770. return s.String()
  23771. }
  23772. // Describes an IAM instance profile.
  23773. type IamInstanceProfileSpecification struct {
  23774. _ struct{} `type:"structure"`
  23775. // The Amazon Resource Name (ARN) of the instance profile.
  23776. Arn *string `locationName:"arn" type:"string"`
  23777. // The name of the instance profile.
  23778. Name *string `locationName:"name" type:"string"`
  23779. }
  23780. // String returns the string representation
  23781. func (s IamInstanceProfileSpecification) String() string {
  23782. return awsutil.Prettify(s)
  23783. }
  23784. // GoString returns the string representation
  23785. func (s IamInstanceProfileSpecification) GoString() string {
  23786. return s.String()
  23787. }
  23788. // Describes the ICMP type and code.
  23789. type IcmpTypeCode struct {
  23790. _ struct{} `type:"structure"`
  23791. // The ICMP type. A value of -1 means all types.
  23792. Code *int64 `locationName:"code" type:"integer"`
  23793. // The ICMP code. A value of -1 means all codes for the specified ICMP type.
  23794. Type *int64 `locationName:"type" type:"integer"`
  23795. }
  23796. // String returns the string representation
  23797. func (s IcmpTypeCode) String() string {
  23798. return awsutil.Prettify(s)
  23799. }
  23800. // GoString returns the string representation
  23801. func (s IcmpTypeCode) GoString() string {
  23802. return s.String()
  23803. }
  23804. // Describes the ID format for a resource.
  23805. type IdFormat struct {
  23806. _ struct{} `type:"structure"`
  23807. // The date in UTC at which you are permanently switched over to using longer
  23808. // IDs. If a deadline is not yet available for this resource type, this field
  23809. // is not returned.
  23810. Deadline *time.Time `locationName:"deadline" type:"timestamp" timestampFormat:"iso8601"`
  23811. // The type of resource.
  23812. Resource *string `locationName:"resource" type:"string"`
  23813. // Indicates whether longer IDs (17-character IDs) are enabled for the resource.
  23814. UseLongIds *bool `locationName:"useLongIds" type:"boolean"`
  23815. }
  23816. // String returns the string representation
  23817. func (s IdFormat) String() string {
  23818. return awsutil.Prettify(s)
  23819. }
  23820. // GoString returns the string representation
  23821. func (s IdFormat) GoString() string {
  23822. return s.String()
  23823. }
  23824. // Describes an image.
  23825. type Image struct {
  23826. _ struct{} `type:"structure"`
  23827. // The architecture of the image.
  23828. Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
  23829. // Any block device mapping entries.
  23830. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  23831. // The date and time the image was created.
  23832. CreationDate *string `locationName:"creationDate" type:"string"`
  23833. // The description of the AMI that was provided during image creation.
  23834. Description *string `locationName:"description" type:"string"`
  23835. // Specifies whether enhanced networking with ENA is enabled.
  23836. EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
  23837. // The hypervisor type of the image.
  23838. Hypervisor *string `locationName:"hypervisor" type:"string" enum:"HypervisorType"`
  23839. // The ID of the AMI.
  23840. ImageId *string `locationName:"imageId" type:"string"`
  23841. // The location of the AMI.
  23842. ImageLocation *string `locationName:"imageLocation" type:"string"`
  23843. // The AWS account alias (for example, amazon, self) or the AWS account ID of
  23844. // the AMI owner.
  23845. ImageOwnerAlias *string `locationName:"imageOwnerAlias" type:"string"`
  23846. // The type of image.
  23847. ImageType *string `locationName:"imageType" type:"string" enum:"ImageTypeValues"`
  23848. // The kernel associated with the image, if any. Only applicable for machine
  23849. // images.
  23850. KernelId *string `locationName:"kernelId" type:"string"`
  23851. // The name of the AMI that was provided during image creation.
  23852. Name *string `locationName:"name" type:"string"`
  23853. // The AWS account ID of the image owner.
  23854. OwnerId *string `locationName:"imageOwnerId" type:"string"`
  23855. // The value is Windows for Windows AMIs; otherwise blank.
  23856. Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
  23857. // Any product codes associated with the AMI.
  23858. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  23859. // Indicates whether the image has public launch permissions. The value is true
  23860. // if this image has public launch permissions or false if it has only implicit
  23861. // and explicit launch permissions.
  23862. Public *bool `locationName:"isPublic" type:"boolean"`
  23863. // The RAM disk associated with the image, if any. Only applicable for machine
  23864. // images.
  23865. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  23866. // The device name of the root device (for example, /dev/sda1 or /dev/xvda).
  23867. RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
  23868. // The type of root device used by the AMI. The AMI can use an EBS volume or
  23869. // an instance store volume.
  23870. RootDeviceType *string `locationName:"rootDeviceType" type:"string" enum:"DeviceType"`
  23871. // Specifies whether enhanced networking with the Intel 82599 Virtual Function
  23872. // interface is enabled.
  23873. SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
  23874. // The current state of the AMI. If the state is available, the image is successfully
  23875. // registered and can be used to launch an instance.
  23876. State *string `locationName:"imageState" type:"string" enum:"ImageState"`
  23877. // The reason for the state change.
  23878. StateReason *StateReason `locationName:"stateReason" type:"structure"`
  23879. // Any tags assigned to the image.
  23880. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  23881. // The type of virtualization of the AMI.
  23882. VirtualizationType *string `locationName:"virtualizationType" type:"string" enum:"VirtualizationType"`
  23883. }
  23884. // String returns the string representation
  23885. func (s Image) String() string {
  23886. return awsutil.Prettify(s)
  23887. }
  23888. // GoString returns the string representation
  23889. func (s Image) GoString() string {
  23890. return s.String()
  23891. }
  23892. // Describes the disk container object for an import image task.
  23893. type ImageDiskContainer struct {
  23894. _ struct{} `type:"structure"`
  23895. // The description of the disk image.
  23896. Description *string `type:"string"`
  23897. // The block device mapping for the disk.
  23898. DeviceName *string `type:"string"`
  23899. // The format of the disk image being imported.
  23900. //
  23901. // Valid values: RAW | VHD | VMDK | OVA
  23902. Format *string `type:"string"`
  23903. // The ID of the EBS snapshot to be used for importing the snapshot.
  23904. SnapshotId *string `type:"string"`
  23905. // The URL to the Amazon S3-based disk image being imported. The URL can either
  23906. // be a https URL (https://..) or an Amazon S3 URL (s3://..)
  23907. Url *string `type:"string"`
  23908. // The S3 bucket for the disk image.
  23909. UserBucket *UserBucket `type:"structure"`
  23910. }
  23911. // String returns the string representation
  23912. func (s ImageDiskContainer) String() string {
  23913. return awsutil.Prettify(s)
  23914. }
  23915. // GoString returns the string representation
  23916. func (s ImageDiskContainer) GoString() string {
  23917. return s.String()
  23918. }
  23919. // Contains the parameters for ImportImage.
  23920. type ImportImageInput struct {
  23921. _ struct{} `type:"structure"`
  23922. // The architecture of the virtual machine.
  23923. //
  23924. // Valid values: i386 | x86_64
  23925. Architecture *string `type:"string"`
  23926. // The client-specific data.
  23927. ClientData *ClientData `type:"structure"`
  23928. // The token to enable idempotency for VM import requests.
  23929. ClientToken *string `type:"string"`
  23930. // A description string for the import image task.
  23931. Description *string `type:"string"`
  23932. // Information about the disk containers.
  23933. DiskContainers []*ImageDiskContainer `locationName:"DiskContainer" locationNameList:"item" type:"list"`
  23934. // Checks whether you have the required permissions for the action, without
  23935. // actually making the request, and provides an error response. If you have
  23936. // the required permissions, the error response is DryRunOperation. Otherwise,
  23937. // it is UnauthorizedOperation.
  23938. DryRun *bool `type:"boolean"`
  23939. // The target hypervisor platform.
  23940. //
  23941. // Valid values: xen
  23942. Hypervisor *string `type:"string"`
  23943. // The license type to be used for the Amazon Machine Image (AMI) after importing.
  23944. //
  23945. // Note: You may only use BYOL if you have existing licenses with rights to
  23946. // use these licenses in a third party cloud like AWS. For more information,
  23947. // see Prerequisites (http://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html#prerequisites-image)
  23948. // in the VM Import/Export User Guide.
  23949. //
  23950. // Valid values: AWS | BYOL
  23951. LicenseType *string `type:"string"`
  23952. // The operating system of the virtual machine.
  23953. //
  23954. // Valid values: Windows | Linux
  23955. Platform *string `type:"string"`
  23956. // The name of the role to use when not using the default role, 'vmimport'.
  23957. RoleName *string `type:"string"`
  23958. }
  23959. // String returns the string representation
  23960. func (s ImportImageInput) String() string {
  23961. return awsutil.Prettify(s)
  23962. }
  23963. // GoString returns the string representation
  23964. func (s ImportImageInput) GoString() string {
  23965. return s.String()
  23966. }
  23967. // Contains the output for ImportImage.
  23968. type ImportImageOutput struct {
  23969. _ struct{} `type:"structure"`
  23970. // The architecture of the virtual machine.
  23971. Architecture *string `locationName:"architecture" type:"string"`
  23972. // A description of the import task.
  23973. Description *string `locationName:"description" type:"string"`
  23974. // The target hypervisor of the import task.
  23975. Hypervisor *string `locationName:"hypervisor" type:"string"`
  23976. // The ID of the Amazon Machine Image (AMI) created by the import task.
  23977. ImageId *string `locationName:"imageId" type:"string"`
  23978. // The task ID of the import image task.
  23979. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  23980. // The license type of the virtual machine.
  23981. LicenseType *string `locationName:"licenseType" type:"string"`
  23982. // The operating system of the virtual machine.
  23983. Platform *string `locationName:"platform" type:"string"`
  23984. // The progress of the task.
  23985. Progress *string `locationName:"progress" type:"string"`
  23986. // Information about the snapshots.
  23987. SnapshotDetails []*SnapshotDetail `locationName:"snapshotDetailSet" locationNameList:"item" type:"list"`
  23988. // A brief status of the task.
  23989. Status *string `locationName:"status" type:"string"`
  23990. // A detailed status message of the import task.
  23991. StatusMessage *string `locationName:"statusMessage" type:"string"`
  23992. }
  23993. // String returns the string representation
  23994. func (s ImportImageOutput) String() string {
  23995. return awsutil.Prettify(s)
  23996. }
  23997. // GoString returns the string representation
  23998. func (s ImportImageOutput) GoString() string {
  23999. return s.String()
  24000. }
  24001. // Describes an import image task.
  24002. type ImportImageTask struct {
  24003. _ struct{} `type:"structure"`
  24004. // The architecture of the virtual machine.
  24005. //
  24006. // Valid values: i386 | x86_64
  24007. Architecture *string `locationName:"architecture" type:"string"`
  24008. // A description of the import task.
  24009. Description *string `locationName:"description" type:"string"`
  24010. // The target hypervisor for the import task.
  24011. //
  24012. // Valid values: xen
  24013. Hypervisor *string `locationName:"hypervisor" type:"string"`
  24014. // The ID of the Amazon Machine Image (AMI) of the imported virtual machine.
  24015. ImageId *string `locationName:"imageId" type:"string"`
  24016. // The ID of the import image task.
  24017. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  24018. // The license type of the virtual machine.
  24019. LicenseType *string `locationName:"licenseType" type:"string"`
  24020. // The description string for the import image task.
  24021. Platform *string `locationName:"platform" type:"string"`
  24022. // The percentage of progress of the import image task.
  24023. Progress *string `locationName:"progress" type:"string"`
  24024. // Information about the snapshots.
  24025. SnapshotDetails []*SnapshotDetail `locationName:"snapshotDetailSet" locationNameList:"item" type:"list"`
  24026. // A brief status for the import image task.
  24027. Status *string `locationName:"status" type:"string"`
  24028. // A descriptive status message for the import image task.
  24029. StatusMessage *string `locationName:"statusMessage" type:"string"`
  24030. }
  24031. // String returns the string representation
  24032. func (s ImportImageTask) String() string {
  24033. return awsutil.Prettify(s)
  24034. }
  24035. // GoString returns the string representation
  24036. func (s ImportImageTask) GoString() string {
  24037. return s.String()
  24038. }
  24039. // Contains the parameters for ImportInstance.
  24040. type ImportInstanceInput struct {
  24041. _ struct{} `type:"structure"`
  24042. // A description for the instance being imported.
  24043. Description *string `locationName:"description" type:"string"`
  24044. // The disk image.
  24045. DiskImages []*DiskImage `locationName:"diskImage" type:"list"`
  24046. // Checks whether you have the required permissions for the action, without
  24047. // actually making the request, and provides an error response. If you have
  24048. // the required permissions, the error response is DryRunOperation. Otherwise,
  24049. // it is UnauthorizedOperation.
  24050. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24051. // The launch specification.
  24052. LaunchSpecification *ImportInstanceLaunchSpecification `locationName:"launchSpecification" type:"structure"`
  24053. // The instance operating system.
  24054. //
  24055. // Platform is a required field
  24056. Platform *string `locationName:"platform" type:"string" required:"true" enum:"PlatformValues"`
  24057. }
  24058. // String returns the string representation
  24059. func (s ImportInstanceInput) String() string {
  24060. return awsutil.Prettify(s)
  24061. }
  24062. // GoString returns the string representation
  24063. func (s ImportInstanceInput) GoString() string {
  24064. return s.String()
  24065. }
  24066. // Validate inspects the fields of the type to determine if they are valid.
  24067. func (s *ImportInstanceInput) Validate() error {
  24068. invalidParams := request.ErrInvalidParams{Context: "ImportInstanceInput"}
  24069. if s.Platform == nil {
  24070. invalidParams.Add(request.NewErrParamRequired("Platform"))
  24071. }
  24072. if s.DiskImages != nil {
  24073. for i, v := range s.DiskImages {
  24074. if v == nil {
  24075. continue
  24076. }
  24077. if err := v.Validate(); err != nil {
  24078. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DiskImages", i), err.(request.ErrInvalidParams))
  24079. }
  24080. }
  24081. }
  24082. if invalidParams.Len() > 0 {
  24083. return invalidParams
  24084. }
  24085. return nil
  24086. }
  24087. // Describes the launch specification for VM import.
  24088. type ImportInstanceLaunchSpecification struct {
  24089. _ struct{} `type:"structure"`
  24090. // Reserved.
  24091. AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
  24092. // The architecture of the instance.
  24093. Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
  24094. // One or more security group IDs.
  24095. GroupIds []*string `locationName:"GroupId" locationNameList:"SecurityGroupId" type:"list"`
  24096. // One or more security group names.
  24097. GroupNames []*string `locationName:"GroupName" locationNameList:"SecurityGroup" type:"list"`
  24098. // Indicates whether an instance stops or terminates when you initiate shutdown
  24099. // from the instance (using the operating system command for system shutdown).
  24100. InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"`
  24101. // The instance type. For more information about the instance types that you
  24102. // can import, see Instance Types (http://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html#vmimport-instance-types)
  24103. // in the VM Import/Export User Guide.
  24104. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  24105. // Indicates whether monitoring is enabled.
  24106. Monitoring *bool `locationName:"monitoring" type:"boolean"`
  24107. // The placement information for the instance.
  24108. Placement *Placement `locationName:"placement" type:"structure"`
  24109. // [EC2-VPC] An available IP address from the IP address range of the subnet.
  24110. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  24111. // [EC2-VPC] The ID of the subnet in which to launch the instance.
  24112. SubnetId *string `locationName:"subnetId" type:"string"`
  24113. // The user data to make available to the instance. If you are using an AWS
  24114. // SDK or command line tool, Base64-encoding is performed for you, and you can
  24115. // load the text from a file. Otherwise, you must provide Base64-encoded text.
  24116. UserData *UserData `locationName:"userData" type:"structure"`
  24117. }
  24118. // String returns the string representation
  24119. func (s ImportInstanceLaunchSpecification) String() string {
  24120. return awsutil.Prettify(s)
  24121. }
  24122. // GoString returns the string representation
  24123. func (s ImportInstanceLaunchSpecification) GoString() string {
  24124. return s.String()
  24125. }
  24126. // Contains the output for ImportInstance.
  24127. type ImportInstanceOutput struct {
  24128. _ struct{} `type:"structure"`
  24129. // Information about the conversion task.
  24130. ConversionTask *ConversionTask `locationName:"conversionTask" type:"structure"`
  24131. }
  24132. // String returns the string representation
  24133. func (s ImportInstanceOutput) String() string {
  24134. return awsutil.Prettify(s)
  24135. }
  24136. // GoString returns the string representation
  24137. func (s ImportInstanceOutput) GoString() string {
  24138. return s.String()
  24139. }
  24140. // Describes an import instance task.
  24141. type ImportInstanceTaskDetails struct {
  24142. _ struct{} `type:"structure"`
  24143. // A description of the task.
  24144. Description *string `locationName:"description" type:"string"`
  24145. // The ID of the instance.
  24146. InstanceId *string `locationName:"instanceId" type:"string"`
  24147. // The instance operating system.
  24148. Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
  24149. // One or more volumes.
  24150. //
  24151. // Volumes is a required field
  24152. Volumes []*ImportInstanceVolumeDetailItem `locationName:"volumes" locationNameList:"item" type:"list" required:"true"`
  24153. }
  24154. // String returns the string representation
  24155. func (s ImportInstanceTaskDetails) String() string {
  24156. return awsutil.Prettify(s)
  24157. }
  24158. // GoString returns the string representation
  24159. func (s ImportInstanceTaskDetails) GoString() string {
  24160. return s.String()
  24161. }
  24162. // Describes an import volume task.
  24163. type ImportInstanceVolumeDetailItem struct {
  24164. _ struct{} `type:"structure"`
  24165. // The Availability Zone where the resulting instance will reside.
  24166. //
  24167. // AvailabilityZone is a required field
  24168. AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
  24169. // The number of bytes converted so far.
  24170. //
  24171. // BytesConverted is a required field
  24172. BytesConverted *int64 `locationName:"bytesConverted" type:"long" required:"true"`
  24173. // A description of the task.
  24174. Description *string `locationName:"description" type:"string"`
  24175. // The image.
  24176. //
  24177. // Image is a required field
  24178. Image *DiskImageDescription `locationName:"image" type:"structure" required:"true"`
  24179. // The status of the import of this particular disk image.
  24180. //
  24181. // Status is a required field
  24182. Status *string `locationName:"status" type:"string" required:"true"`
  24183. // The status information or errors related to the disk image.
  24184. StatusMessage *string `locationName:"statusMessage" type:"string"`
  24185. // The volume.
  24186. //
  24187. // Volume is a required field
  24188. Volume *DiskImageVolumeDescription `locationName:"volume" type:"structure" required:"true"`
  24189. }
  24190. // String returns the string representation
  24191. func (s ImportInstanceVolumeDetailItem) String() string {
  24192. return awsutil.Prettify(s)
  24193. }
  24194. // GoString returns the string representation
  24195. func (s ImportInstanceVolumeDetailItem) GoString() string {
  24196. return s.String()
  24197. }
  24198. // Contains the parameters for ImportKeyPair.
  24199. type ImportKeyPairInput struct {
  24200. _ struct{} `type:"structure"`
  24201. // Checks whether you have the required permissions for the action, without
  24202. // actually making the request, and provides an error response. If you have
  24203. // the required permissions, the error response is DryRunOperation. Otherwise,
  24204. // it is UnauthorizedOperation.
  24205. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24206. // A unique name for the key pair.
  24207. //
  24208. // KeyName is a required field
  24209. KeyName *string `locationName:"keyName" type:"string" required:"true"`
  24210. // The public key. For API calls, the text must be base64-encoded. For command
  24211. // line tools, base64 encoding is performed for you.
  24212. //
  24213. // PublicKeyMaterial is automatically base64 encoded/decoded by the SDK.
  24214. //
  24215. // PublicKeyMaterial is a required field
  24216. PublicKeyMaterial []byte `locationName:"publicKeyMaterial" type:"blob" required:"true"`
  24217. }
  24218. // String returns the string representation
  24219. func (s ImportKeyPairInput) String() string {
  24220. return awsutil.Prettify(s)
  24221. }
  24222. // GoString returns the string representation
  24223. func (s ImportKeyPairInput) GoString() string {
  24224. return s.String()
  24225. }
  24226. // Validate inspects the fields of the type to determine if they are valid.
  24227. func (s *ImportKeyPairInput) Validate() error {
  24228. invalidParams := request.ErrInvalidParams{Context: "ImportKeyPairInput"}
  24229. if s.KeyName == nil {
  24230. invalidParams.Add(request.NewErrParamRequired("KeyName"))
  24231. }
  24232. if s.PublicKeyMaterial == nil {
  24233. invalidParams.Add(request.NewErrParamRequired("PublicKeyMaterial"))
  24234. }
  24235. if invalidParams.Len() > 0 {
  24236. return invalidParams
  24237. }
  24238. return nil
  24239. }
  24240. // Contains the output of ImportKeyPair.
  24241. type ImportKeyPairOutput struct {
  24242. _ struct{} `type:"structure"`
  24243. // The MD5 public key fingerprint as specified in section 4 of RFC 4716.
  24244. KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
  24245. // The key pair name you provided.
  24246. KeyName *string `locationName:"keyName" type:"string"`
  24247. }
  24248. // String returns the string representation
  24249. func (s ImportKeyPairOutput) String() string {
  24250. return awsutil.Prettify(s)
  24251. }
  24252. // GoString returns the string representation
  24253. func (s ImportKeyPairOutput) GoString() string {
  24254. return s.String()
  24255. }
  24256. // Contains the parameters for ImportSnapshot.
  24257. type ImportSnapshotInput struct {
  24258. _ struct{} `type:"structure"`
  24259. // The client-specific data.
  24260. ClientData *ClientData `type:"structure"`
  24261. // Token to enable idempotency for VM import requests.
  24262. ClientToken *string `type:"string"`
  24263. // The description string for the import snapshot task.
  24264. Description *string `type:"string"`
  24265. // Information about the disk container.
  24266. DiskContainer *SnapshotDiskContainer `type:"structure"`
  24267. // Checks whether you have the required permissions for the action, without
  24268. // actually making the request, and provides an error response. If you have
  24269. // the required permissions, the error response is DryRunOperation. Otherwise,
  24270. // it is UnauthorizedOperation.
  24271. DryRun *bool `type:"boolean"`
  24272. // The name of the role to use when not using the default role, 'vmimport'.
  24273. RoleName *string `type:"string"`
  24274. }
  24275. // String returns the string representation
  24276. func (s ImportSnapshotInput) String() string {
  24277. return awsutil.Prettify(s)
  24278. }
  24279. // GoString returns the string representation
  24280. func (s ImportSnapshotInput) GoString() string {
  24281. return s.String()
  24282. }
  24283. // Contains the output for ImportSnapshot.
  24284. type ImportSnapshotOutput struct {
  24285. _ struct{} `type:"structure"`
  24286. // A description of the import snapshot task.
  24287. Description *string `locationName:"description" type:"string"`
  24288. // The ID of the import snapshot task.
  24289. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  24290. // Information about the import snapshot task.
  24291. SnapshotTaskDetail *SnapshotTaskDetail `locationName:"snapshotTaskDetail" type:"structure"`
  24292. }
  24293. // String returns the string representation
  24294. func (s ImportSnapshotOutput) String() string {
  24295. return awsutil.Prettify(s)
  24296. }
  24297. // GoString returns the string representation
  24298. func (s ImportSnapshotOutput) GoString() string {
  24299. return s.String()
  24300. }
  24301. // Describes an import snapshot task.
  24302. type ImportSnapshotTask struct {
  24303. _ struct{} `type:"structure"`
  24304. // A description of the import snapshot task.
  24305. Description *string `locationName:"description" type:"string"`
  24306. // The ID of the import snapshot task.
  24307. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  24308. // Describes an import snapshot task.
  24309. SnapshotTaskDetail *SnapshotTaskDetail `locationName:"snapshotTaskDetail" type:"structure"`
  24310. }
  24311. // String returns the string representation
  24312. func (s ImportSnapshotTask) String() string {
  24313. return awsutil.Prettify(s)
  24314. }
  24315. // GoString returns the string representation
  24316. func (s ImportSnapshotTask) GoString() string {
  24317. return s.String()
  24318. }
  24319. // Contains the parameters for ImportVolume.
  24320. type ImportVolumeInput struct {
  24321. _ struct{} `type:"structure"`
  24322. // The Availability Zone for the resulting EBS volume.
  24323. //
  24324. // AvailabilityZone is a required field
  24325. AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
  24326. // A description of the volume.
  24327. Description *string `locationName:"description" type:"string"`
  24328. // Checks whether you have the required permissions for the action, without
  24329. // actually making the request, and provides an error response. If you have
  24330. // the required permissions, the error response is DryRunOperation. Otherwise,
  24331. // it is UnauthorizedOperation.
  24332. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24333. // The disk image.
  24334. //
  24335. // Image is a required field
  24336. Image *DiskImageDetail `locationName:"image" type:"structure" required:"true"`
  24337. // The volume size.
  24338. //
  24339. // Volume is a required field
  24340. Volume *VolumeDetail `locationName:"volume" type:"structure" required:"true"`
  24341. }
  24342. // String returns the string representation
  24343. func (s ImportVolumeInput) String() string {
  24344. return awsutil.Prettify(s)
  24345. }
  24346. // GoString returns the string representation
  24347. func (s ImportVolumeInput) GoString() string {
  24348. return s.String()
  24349. }
  24350. // Validate inspects the fields of the type to determine if they are valid.
  24351. func (s *ImportVolumeInput) Validate() error {
  24352. invalidParams := request.ErrInvalidParams{Context: "ImportVolumeInput"}
  24353. if s.AvailabilityZone == nil {
  24354. invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
  24355. }
  24356. if s.Image == nil {
  24357. invalidParams.Add(request.NewErrParamRequired("Image"))
  24358. }
  24359. if s.Volume == nil {
  24360. invalidParams.Add(request.NewErrParamRequired("Volume"))
  24361. }
  24362. if s.Image != nil {
  24363. if err := s.Image.Validate(); err != nil {
  24364. invalidParams.AddNested("Image", err.(request.ErrInvalidParams))
  24365. }
  24366. }
  24367. if s.Volume != nil {
  24368. if err := s.Volume.Validate(); err != nil {
  24369. invalidParams.AddNested("Volume", err.(request.ErrInvalidParams))
  24370. }
  24371. }
  24372. if invalidParams.Len() > 0 {
  24373. return invalidParams
  24374. }
  24375. return nil
  24376. }
  24377. // Contains the output for ImportVolume.
  24378. type ImportVolumeOutput struct {
  24379. _ struct{} `type:"structure"`
  24380. // Information about the conversion task.
  24381. ConversionTask *ConversionTask `locationName:"conversionTask" type:"structure"`
  24382. }
  24383. // String returns the string representation
  24384. func (s ImportVolumeOutput) String() string {
  24385. return awsutil.Prettify(s)
  24386. }
  24387. // GoString returns the string representation
  24388. func (s ImportVolumeOutput) GoString() string {
  24389. return s.String()
  24390. }
  24391. // Describes an import volume task.
  24392. type ImportVolumeTaskDetails struct {
  24393. _ struct{} `type:"structure"`
  24394. // The Availability Zone where the resulting volume will reside.
  24395. //
  24396. // AvailabilityZone is a required field
  24397. AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
  24398. // The number of bytes converted so far.
  24399. //
  24400. // BytesConverted is a required field
  24401. BytesConverted *int64 `locationName:"bytesConverted" type:"long" required:"true"`
  24402. // The description you provided when starting the import volume task.
  24403. Description *string `locationName:"description" type:"string"`
  24404. // The image.
  24405. //
  24406. // Image is a required field
  24407. Image *DiskImageDescription `locationName:"image" type:"structure" required:"true"`
  24408. // The volume.
  24409. //
  24410. // Volume is a required field
  24411. Volume *DiskImageVolumeDescription `locationName:"volume" type:"structure" required:"true"`
  24412. }
  24413. // String returns the string representation
  24414. func (s ImportVolumeTaskDetails) String() string {
  24415. return awsutil.Prettify(s)
  24416. }
  24417. // GoString returns the string representation
  24418. func (s ImportVolumeTaskDetails) GoString() string {
  24419. return s.String()
  24420. }
  24421. // Describes an instance.
  24422. type Instance struct {
  24423. _ struct{} `type:"structure"`
  24424. // The AMI launch index, which can be used to find this instance in the launch
  24425. // group.
  24426. AmiLaunchIndex *int64 `locationName:"amiLaunchIndex" type:"integer"`
  24427. // The architecture of the image.
  24428. Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
  24429. // Any block device mapping entries for the instance.
  24430. BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  24431. // The idempotency token you provided when you launched the instance, if applicable.
  24432. ClientToken *string `locationName:"clientToken" type:"string"`
  24433. // Indicates whether the instance is optimized for EBS I/O. This optimization
  24434. // provides dedicated throughput to Amazon EBS and an optimized configuration
  24435. // stack to provide optimal I/O performance. This optimization isn't available
  24436. // with all instance types. Additional usage charges apply when using an EBS
  24437. // Optimized instance.
  24438. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  24439. // Specifies whether enhanced networking with ENA is enabled.
  24440. EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
  24441. // The hypervisor type of the instance.
  24442. Hypervisor *string `locationName:"hypervisor" type:"string" enum:"HypervisorType"`
  24443. // The IAM instance profile associated with the instance, if applicable.
  24444. IamInstanceProfile *IamInstanceProfile `locationName:"iamInstanceProfile" type:"structure"`
  24445. // The ID of the AMI used to launch the instance.
  24446. ImageId *string `locationName:"imageId" type:"string"`
  24447. // The ID of the instance.
  24448. InstanceId *string `locationName:"instanceId" type:"string"`
  24449. // Indicates whether this is a Spot instance or a Scheduled Instance.
  24450. InstanceLifecycle *string `locationName:"instanceLifecycle" type:"string" enum:"InstanceLifecycleType"`
  24451. // The instance type.
  24452. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  24453. // The kernel associated with this instance, if applicable.
  24454. KernelId *string `locationName:"kernelId" type:"string"`
  24455. // The name of the key pair, if this instance was launched with an associated
  24456. // key pair.
  24457. KeyName *string `locationName:"keyName" type:"string"`
  24458. // The time the instance was launched.
  24459. LaunchTime *time.Time `locationName:"launchTime" type:"timestamp" timestampFormat:"iso8601"`
  24460. // The monitoring information for the instance.
  24461. Monitoring *Monitoring `locationName:"monitoring" type:"structure"`
  24462. // [EC2-VPC] One or more network interfaces for the instance.
  24463. NetworkInterfaces []*InstanceNetworkInterface `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
  24464. // The location where the instance launched, if applicable.
  24465. Placement *Placement `locationName:"placement" type:"structure"`
  24466. // The value is Windows for Windows instances; otherwise blank.
  24467. Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
  24468. // The private DNS name assigned to the instance. This DNS name can only be
  24469. // used inside the Amazon EC2 network. This name is not available until the
  24470. // instance enters the running state. For EC2-VPC, this name is only available
  24471. // if you've enabled DNS hostnames for your VPC.
  24472. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  24473. // The private IP address assigned to the instance.
  24474. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  24475. // The product codes attached to this instance, if applicable.
  24476. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  24477. // The public DNS name assigned to the instance. This name is not available
  24478. // until the instance enters the running state. For EC2-VPC, this name is only
  24479. // available if you've enabled DNS hostnames for your VPC.
  24480. PublicDnsName *string `locationName:"dnsName" type:"string"`
  24481. // The public IP address assigned to the instance, if applicable.
  24482. PublicIpAddress *string `locationName:"ipAddress" type:"string"`
  24483. // The RAM disk associated with this instance, if applicable.
  24484. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  24485. // The root device name (for example, /dev/sda1 or /dev/xvda).
  24486. RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
  24487. // The root device type used by the AMI. The AMI can use an EBS volume or an
  24488. // instance store volume.
  24489. RootDeviceType *string `locationName:"rootDeviceType" type:"string" enum:"DeviceType"`
  24490. // One or more security groups for the instance.
  24491. SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  24492. // Specifies whether to enable an instance launched in a VPC to perform NAT.
  24493. // This controls whether source/destination checking is enabled on the instance.
  24494. // A value of true means checking is enabled, and false means checking is disabled.
  24495. // The value must be false for the instance to perform NAT. For more information,
  24496. // see NAT Instances (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
  24497. // in the Amazon Virtual Private Cloud User Guide.
  24498. SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
  24499. // If the request is a Spot instance request, the ID of the request.
  24500. SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
  24501. // Specifies whether enhanced networking with the Intel 82599 Virtual Function
  24502. // interface is enabled.
  24503. SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
  24504. // The current state of the instance.
  24505. State *InstanceState `locationName:"instanceState" type:"structure"`
  24506. // The reason for the most recent state transition.
  24507. StateReason *StateReason `locationName:"stateReason" type:"structure"`
  24508. // The reason for the most recent state transition. This might be an empty string.
  24509. StateTransitionReason *string `locationName:"reason" type:"string"`
  24510. // [EC2-VPC] The ID of the subnet in which the instance is running.
  24511. SubnetId *string `locationName:"subnetId" type:"string"`
  24512. // Any tags assigned to the instance.
  24513. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  24514. // The virtualization type of the instance.
  24515. VirtualizationType *string `locationName:"virtualizationType" type:"string" enum:"VirtualizationType"`
  24516. // [EC2-VPC] The ID of the VPC in which the instance is running.
  24517. VpcId *string `locationName:"vpcId" type:"string"`
  24518. }
  24519. // String returns the string representation
  24520. func (s Instance) String() string {
  24521. return awsutil.Prettify(s)
  24522. }
  24523. // GoString returns the string representation
  24524. func (s Instance) GoString() string {
  24525. return s.String()
  24526. }
  24527. // Describes a block device mapping.
  24528. type InstanceBlockDeviceMapping struct {
  24529. _ struct{} `type:"structure"`
  24530. // The device name exposed to the instance (for example, /dev/sdh or xvdh).
  24531. DeviceName *string `locationName:"deviceName" type:"string"`
  24532. // Parameters used to automatically set up EBS volumes when the instance is
  24533. // launched.
  24534. Ebs *EbsInstanceBlockDevice `locationName:"ebs" type:"structure"`
  24535. }
  24536. // String returns the string representation
  24537. func (s InstanceBlockDeviceMapping) String() string {
  24538. return awsutil.Prettify(s)
  24539. }
  24540. // GoString returns the string representation
  24541. func (s InstanceBlockDeviceMapping) GoString() string {
  24542. return s.String()
  24543. }
  24544. // Describes a block device mapping entry.
  24545. type InstanceBlockDeviceMappingSpecification struct {
  24546. _ struct{} `type:"structure"`
  24547. // The device name exposed to the instance (for example, /dev/sdh or xvdh).
  24548. DeviceName *string `locationName:"deviceName" type:"string"`
  24549. // Parameters used to automatically set up EBS volumes when the instance is
  24550. // launched.
  24551. Ebs *EbsInstanceBlockDeviceSpecification `locationName:"ebs" type:"structure"`
  24552. // suppress the specified device included in the block device mapping.
  24553. NoDevice *string `locationName:"noDevice" type:"string"`
  24554. // The virtual device name.
  24555. VirtualName *string `locationName:"virtualName" type:"string"`
  24556. }
  24557. // String returns the string representation
  24558. func (s InstanceBlockDeviceMappingSpecification) String() string {
  24559. return awsutil.Prettify(s)
  24560. }
  24561. // GoString returns the string representation
  24562. func (s InstanceBlockDeviceMappingSpecification) GoString() string {
  24563. return s.String()
  24564. }
  24565. // Information about the instance type that the Dedicated Host supports.
  24566. type InstanceCapacity struct {
  24567. _ struct{} `type:"structure"`
  24568. // The number of instances that can still be launched onto the Dedicated Host.
  24569. AvailableCapacity *int64 `locationName:"availableCapacity" type:"integer"`
  24570. // The instance type size supported by the Dedicated Host.
  24571. InstanceType *string `locationName:"instanceType" type:"string"`
  24572. // The total number of instances that can be launched onto the Dedicated Host.
  24573. TotalCapacity *int64 `locationName:"totalCapacity" type:"integer"`
  24574. }
  24575. // String returns the string representation
  24576. func (s InstanceCapacity) String() string {
  24577. return awsutil.Prettify(s)
  24578. }
  24579. // GoString returns the string representation
  24580. func (s InstanceCapacity) GoString() string {
  24581. return s.String()
  24582. }
  24583. // Describes a Reserved Instance listing state.
  24584. type InstanceCount struct {
  24585. _ struct{} `type:"structure"`
  24586. // The number of listed Reserved Instances in the state specified by the state.
  24587. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  24588. // The states of the listed Reserved Instances.
  24589. State *string `locationName:"state" type:"string" enum:"ListingState"`
  24590. }
  24591. // String returns the string representation
  24592. func (s InstanceCount) String() string {
  24593. return awsutil.Prettify(s)
  24594. }
  24595. // GoString returns the string representation
  24596. func (s InstanceCount) GoString() string {
  24597. return s.String()
  24598. }
  24599. // Describes an instance to export.
  24600. type InstanceExportDetails struct {
  24601. _ struct{} `type:"structure"`
  24602. // The ID of the resource being exported.
  24603. InstanceId *string `locationName:"instanceId" type:"string"`
  24604. // The target virtualization environment.
  24605. TargetEnvironment *string `locationName:"targetEnvironment" type:"string" enum:"ExportEnvironment"`
  24606. }
  24607. // String returns the string representation
  24608. func (s InstanceExportDetails) String() string {
  24609. return awsutil.Prettify(s)
  24610. }
  24611. // GoString returns the string representation
  24612. func (s InstanceExportDetails) GoString() string {
  24613. return s.String()
  24614. }
  24615. // Describes the monitoring information of the instance.
  24616. type InstanceMonitoring struct {
  24617. _ struct{} `type:"structure"`
  24618. // The ID of the instance.
  24619. InstanceId *string `locationName:"instanceId" type:"string"`
  24620. // The monitoring information.
  24621. Monitoring *Monitoring `locationName:"monitoring" type:"structure"`
  24622. }
  24623. // String returns the string representation
  24624. func (s InstanceMonitoring) String() string {
  24625. return awsutil.Prettify(s)
  24626. }
  24627. // GoString returns the string representation
  24628. func (s InstanceMonitoring) GoString() string {
  24629. return s.String()
  24630. }
  24631. // Describes a network interface.
  24632. type InstanceNetworkInterface struct {
  24633. _ struct{} `type:"structure"`
  24634. // The association information for an Elastic IP associated with the network
  24635. // interface.
  24636. Association *InstanceNetworkInterfaceAssociation `locationName:"association" type:"structure"`
  24637. // The network interface attachment.
  24638. Attachment *InstanceNetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
  24639. // The description.
  24640. Description *string `locationName:"description" type:"string"`
  24641. // One or more security groups.
  24642. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  24643. // The MAC address.
  24644. MacAddress *string `locationName:"macAddress" type:"string"`
  24645. // The ID of the network interface.
  24646. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  24647. // The ID of the AWS account that created the network interface.
  24648. OwnerId *string `locationName:"ownerId" type:"string"`
  24649. // The private DNS name.
  24650. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  24651. // The IP address of the network interface within the subnet.
  24652. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  24653. // The private IP addresses associated with the network interface.
  24654. PrivateIpAddresses []*InstancePrivateIpAddress `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"`
  24655. // Indicates whether to validate network traffic to or from this network interface.
  24656. SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
  24657. // The status of the network interface.
  24658. Status *string `locationName:"status" type:"string" enum:"NetworkInterfaceStatus"`
  24659. // The ID of the subnet.
  24660. SubnetId *string `locationName:"subnetId" type:"string"`
  24661. // The ID of the VPC.
  24662. VpcId *string `locationName:"vpcId" type:"string"`
  24663. }
  24664. // String returns the string representation
  24665. func (s InstanceNetworkInterface) String() string {
  24666. return awsutil.Prettify(s)
  24667. }
  24668. // GoString returns the string representation
  24669. func (s InstanceNetworkInterface) GoString() string {
  24670. return s.String()
  24671. }
  24672. // Describes association information for an Elastic IP address.
  24673. type InstanceNetworkInterfaceAssociation struct {
  24674. _ struct{} `type:"structure"`
  24675. // The ID of the owner of the Elastic IP address.
  24676. IpOwnerId *string `locationName:"ipOwnerId" type:"string"`
  24677. // The public DNS name.
  24678. PublicDnsName *string `locationName:"publicDnsName" type:"string"`
  24679. // The public IP address or Elastic IP address bound to the network interface.
  24680. PublicIp *string `locationName:"publicIp" type:"string"`
  24681. }
  24682. // String returns the string representation
  24683. func (s InstanceNetworkInterfaceAssociation) String() string {
  24684. return awsutil.Prettify(s)
  24685. }
  24686. // GoString returns the string representation
  24687. func (s InstanceNetworkInterfaceAssociation) GoString() string {
  24688. return s.String()
  24689. }
  24690. // Describes a network interface attachment.
  24691. type InstanceNetworkInterfaceAttachment struct {
  24692. _ struct{} `type:"structure"`
  24693. // The time stamp when the attachment initiated.
  24694. AttachTime *time.Time `locationName:"attachTime" type:"timestamp" timestampFormat:"iso8601"`
  24695. // The ID of the network interface attachment.
  24696. AttachmentId *string `locationName:"attachmentId" type:"string"`
  24697. // Indicates whether the network interface is deleted when the instance is terminated.
  24698. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  24699. // The index of the device on the instance for the network interface attachment.
  24700. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
  24701. // The attachment state.
  24702. Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
  24703. }
  24704. // String returns the string representation
  24705. func (s InstanceNetworkInterfaceAttachment) String() string {
  24706. return awsutil.Prettify(s)
  24707. }
  24708. // GoString returns the string representation
  24709. func (s InstanceNetworkInterfaceAttachment) GoString() string {
  24710. return s.String()
  24711. }
  24712. // Describes a network interface.
  24713. type InstanceNetworkInterfaceSpecification struct {
  24714. _ struct{} `type:"structure"`
  24715. // Indicates whether to assign a public IP address to an instance you launch
  24716. // in a VPC. The public IP address can only be assigned to a network interface
  24717. // for eth0, and can only be assigned to a new network interface, not an existing
  24718. // one. You cannot specify more than one network interface in the request. If
  24719. // launching into a default subnet, the default value is true.
  24720. AssociatePublicIpAddress *bool `locationName:"associatePublicIpAddress" type:"boolean"`
  24721. // If set to true, the interface is deleted when the instance is terminated.
  24722. // You can specify true only if creating a new network interface when launching
  24723. // an instance.
  24724. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  24725. // The description of the network interface. Applies only if creating a network
  24726. // interface when launching an instance.
  24727. Description *string `locationName:"description" type:"string"`
  24728. // The index of the device on the instance for the network interface attachment.
  24729. // If you are specifying a network interface in a RunInstances request, you
  24730. // must provide the device index.
  24731. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
  24732. // The IDs of the security groups for the network interface. Applies only if
  24733. // creating a network interface when launching an instance.
  24734. Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  24735. // The ID of the network interface.
  24736. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  24737. // The private IP address of the network interface. Applies only if creating
  24738. // a network interface when launching an instance. You cannot specify this option
  24739. // if you're launching more than one instance in a RunInstances request.
  24740. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  24741. // One or more private IP addresses to assign to the network interface. Only
  24742. // one private IP address can be designated as primary. You cannot specify this
  24743. // option if you're launching more than one instance in a RunInstances request.
  24744. PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddressesSet" queryName:"PrivateIpAddresses" locationNameList:"item" type:"list"`
  24745. // The number of secondary private IP addresses. You can't specify this option
  24746. // and specify more than one private IP address using the private IP addresses
  24747. // option. You cannot specify this option if you're launching more than one
  24748. // instance in a RunInstances request.
  24749. SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
  24750. // The ID of the subnet associated with the network string. Applies only if
  24751. // creating a network interface when launching an instance.
  24752. SubnetId *string `locationName:"subnetId" type:"string"`
  24753. }
  24754. // String returns the string representation
  24755. func (s InstanceNetworkInterfaceSpecification) String() string {
  24756. return awsutil.Prettify(s)
  24757. }
  24758. // GoString returns the string representation
  24759. func (s InstanceNetworkInterfaceSpecification) GoString() string {
  24760. return s.String()
  24761. }
  24762. // Validate inspects the fields of the type to determine if they are valid.
  24763. func (s *InstanceNetworkInterfaceSpecification) Validate() error {
  24764. invalidParams := request.ErrInvalidParams{Context: "InstanceNetworkInterfaceSpecification"}
  24765. if s.PrivateIpAddresses != nil {
  24766. for i, v := range s.PrivateIpAddresses {
  24767. if v == nil {
  24768. continue
  24769. }
  24770. if err := v.Validate(); err != nil {
  24771. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PrivateIpAddresses", i), err.(request.ErrInvalidParams))
  24772. }
  24773. }
  24774. }
  24775. if invalidParams.Len() > 0 {
  24776. return invalidParams
  24777. }
  24778. return nil
  24779. }
  24780. // Describes a private IP address.
  24781. type InstancePrivateIpAddress struct {
  24782. _ struct{} `type:"structure"`
  24783. // The association information for an Elastic IP address for the network interface.
  24784. Association *InstanceNetworkInterfaceAssociation `locationName:"association" type:"structure"`
  24785. // Indicates whether this IP address is the primary private IP address of the
  24786. // network interface.
  24787. Primary *bool `locationName:"primary" type:"boolean"`
  24788. // The private DNS name.
  24789. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  24790. // The private IP address of the network interface.
  24791. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  24792. }
  24793. // String returns the string representation
  24794. func (s InstancePrivateIpAddress) String() string {
  24795. return awsutil.Prettify(s)
  24796. }
  24797. // GoString returns the string representation
  24798. func (s InstancePrivateIpAddress) GoString() string {
  24799. return s.String()
  24800. }
  24801. // Describes the current state of the instance.
  24802. type InstanceState struct {
  24803. _ struct{} `type:"structure"`
  24804. // The low byte represents the state. The high byte is an opaque internal value
  24805. // and should be ignored.
  24806. //
  24807. // * 0 : pending
  24808. //
  24809. // * 16 : running
  24810. //
  24811. // * 32 : shutting-down
  24812. //
  24813. // * 48 : terminated
  24814. //
  24815. // * 64 : stopping
  24816. //
  24817. // * 80 : stopped
  24818. Code *int64 `locationName:"code" type:"integer"`
  24819. // The current state of the instance.
  24820. Name *string `locationName:"name" type:"string" enum:"InstanceStateName"`
  24821. }
  24822. // String returns the string representation
  24823. func (s InstanceState) String() string {
  24824. return awsutil.Prettify(s)
  24825. }
  24826. // GoString returns the string representation
  24827. func (s InstanceState) GoString() string {
  24828. return s.String()
  24829. }
  24830. // Describes an instance state change.
  24831. type InstanceStateChange struct {
  24832. _ struct{} `type:"structure"`
  24833. // The current state of the instance.
  24834. CurrentState *InstanceState `locationName:"currentState" type:"structure"`
  24835. // The ID of the instance.
  24836. InstanceId *string `locationName:"instanceId" type:"string"`
  24837. // The previous state of the instance.
  24838. PreviousState *InstanceState `locationName:"previousState" type:"structure"`
  24839. }
  24840. // String returns the string representation
  24841. func (s InstanceStateChange) String() string {
  24842. return awsutil.Prettify(s)
  24843. }
  24844. // GoString returns the string representation
  24845. func (s InstanceStateChange) GoString() string {
  24846. return s.String()
  24847. }
  24848. // Describes the status of an instance.
  24849. type InstanceStatus struct {
  24850. _ struct{} `type:"structure"`
  24851. // The Availability Zone of the instance.
  24852. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  24853. // Any scheduled events associated with the instance.
  24854. Events []*InstanceStatusEvent `locationName:"eventsSet" locationNameList:"item" type:"list"`
  24855. // The ID of the instance.
  24856. InstanceId *string `locationName:"instanceId" type:"string"`
  24857. // The intended state of the instance. DescribeInstanceStatus requires that
  24858. // an instance be in the running state.
  24859. InstanceState *InstanceState `locationName:"instanceState" type:"structure"`
  24860. // Reports impaired functionality that stems from issues internal to the instance,
  24861. // such as impaired reachability.
  24862. InstanceStatus *InstanceStatusSummary `locationName:"instanceStatus" type:"structure"`
  24863. // Reports impaired functionality that stems from issues related to the systems
  24864. // that support an instance, such as hardware failures and network connectivity
  24865. // problems.
  24866. SystemStatus *InstanceStatusSummary `locationName:"systemStatus" type:"structure"`
  24867. }
  24868. // String returns the string representation
  24869. func (s InstanceStatus) String() string {
  24870. return awsutil.Prettify(s)
  24871. }
  24872. // GoString returns the string representation
  24873. func (s InstanceStatus) GoString() string {
  24874. return s.String()
  24875. }
  24876. // Describes the instance status.
  24877. type InstanceStatusDetails struct {
  24878. _ struct{} `type:"structure"`
  24879. // The time when a status check failed. For an instance that was launched and
  24880. // impaired, this is the time when the instance was launched.
  24881. ImpairedSince *time.Time `locationName:"impairedSince" type:"timestamp" timestampFormat:"iso8601"`
  24882. // The type of instance status.
  24883. Name *string `locationName:"name" type:"string" enum:"StatusName"`
  24884. // The status.
  24885. Status *string `locationName:"status" type:"string" enum:"StatusType"`
  24886. }
  24887. // String returns the string representation
  24888. func (s InstanceStatusDetails) String() string {
  24889. return awsutil.Prettify(s)
  24890. }
  24891. // GoString returns the string representation
  24892. func (s InstanceStatusDetails) GoString() string {
  24893. return s.String()
  24894. }
  24895. // Describes a scheduled event for an instance.
  24896. type InstanceStatusEvent struct {
  24897. _ struct{} `type:"structure"`
  24898. // The event code.
  24899. Code *string `locationName:"code" type:"string" enum:"EventCode"`
  24900. // A description of the event.
  24901. //
  24902. // After a scheduled event is completed, it can still be described for up to
  24903. // a week. If the event has been completed, this description starts with the
  24904. // following text: [Completed].
  24905. Description *string `locationName:"description" type:"string"`
  24906. // The latest scheduled end time for the event.
  24907. NotAfter *time.Time `locationName:"notAfter" type:"timestamp" timestampFormat:"iso8601"`
  24908. // The earliest scheduled start time for the event.
  24909. NotBefore *time.Time `locationName:"notBefore" type:"timestamp" timestampFormat:"iso8601"`
  24910. }
  24911. // String returns the string representation
  24912. func (s InstanceStatusEvent) String() string {
  24913. return awsutil.Prettify(s)
  24914. }
  24915. // GoString returns the string representation
  24916. func (s InstanceStatusEvent) GoString() string {
  24917. return s.String()
  24918. }
  24919. // Describes the status of an instance.
  24920. type InstanceStatusSummary struct {
  24921. _ struct{} `type:"structure"`
  24922. // The system instance health or application instance health.
  24923. Details []*InstanceStatusDetails `locationName:"details" locationNameList:"item" type:"list"`
  24924. // The status.
  24925. Status *string `locationName:"status" type:"string" enum:"SummaryStatus"`
  24926. }
  24927. // String returns the string representation
  24928. func (s InstanceStatusSummary) String() string {
  24929. return awsutil.Prettify(s)
  24930. }
  24931. // GoString returns the string representation
  24932. func (s InstanceStatusSummary) GoString() string {
  24933. return s.String()
  24934. }
  24935. // Describes an Internet gateway.
  24936. type InternetGateway struct {
  24937. _ struct{} `type:"structure"`
  24938. // Any VPCs attached to the Internet gateway.
  24939. Attachments []*InternetGatewayAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
  24940. // The ID of the Internet gateway.
  24941. InternetGatewayId *string `locationName:"internetGatewayId" type:"string"`
  24942. // Any tags assigned to the Internet gateway.
  24943. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  24944. }
  24945. // String returns the string representation
  24946. func (s InternetGateway) String() string {
  24947. return awsutil.Prettify(s)
  24948. }
  24949. // GoString returns the string representation
  24950. func (s InternetGateway) GoString() string {
  24951. return s.String()
  24952. }
  24953. // Describes the attachment of a VPC to an Internet gateway.
  24954. type InternetGatewayAttachment struct {
  24955. _ struct{} `type:"structure"`
  24956. // The current state of the attachment.
  24957. State *string `locationName:"state" type:"string" enum:"AttachmentStatus"`
  24958. // The ID of the VPC.
  24959. VpcId *string `locationName:"vpcId" type:"string"`
  24960. }
  24961. // String returns the string representation
  24962. func (s InternetGatewayAttachment) String() string {
  24963. return awsutil.Prettify(s)
  24964. }
  24965. // GoString returns the string representation
  24966. func (s InternetGatewayAttachment) GoString() string {
  24967. return s.String()
  24968. }
  24969. // Describes a security group rule.
  24970. type IpPermission struct {
  24971. _ struct{} `type:"structure"`
  24972. // The start of port range for the TCP and UDP protocols, or an ICMP type number.
  24973. // A value of -1 indicates all ICMP types.
  24974. FromPort *int64 `locationName:"fromPort" type:"integer"`
  24975. // The IP protocol name (for tcp, udp, and icmp) or number (see Protocol Numbers
  24976. // (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
  24977. //
  24978. // [EC2-VPC only] When you authorize or revoke security group rules, you can
  24979. // use -1 to specify all.
  24980. IpProtocol *string `locationName:"ipProtocol" type:"string"`
  24981. // One or more IP ranges.
  24982. IpRanges []*IpRange `locationName:"ipRanges" locationNameList:"item" type:"list"`
  24983. // (Valid for AuthorizeSecurityGroupEgress, RevokeSecurityGroupEgress and DescribeSecurityGroups
  24984. // only) One or more prefix list IDs for an AWS service. In an AuthorizeSecurityGroupEgress
  24985. // request, this is the AWS service that you want to access through a VPC endpoint
  24986. // from instances associated with the security group.
  24987. PrefixListIds []*PrefixListId `locationName:"prefixListIds" locationNameList:"item" type:"list"`
  24988. // The end of port range for the TCP and UDP protocols, or an ICMP code. A value
  24989. // of -1 indicates all ICMP codes for the specified ICMP type.
  24990. ToPort *int64 `locationName:"toPort" type:"integer"`
  24991. // One or more security group and AWS account ID pairs.
  24992. UserIdGroupPairs []*UserIdGroupPair `locationName:"groups" locationNameList:"item" type:"list"`
  24993. }
  24994. // String returns the string representation
  24995. func (s IpPermission) String() string {
  24996. return awsutil.Prettify(s)
  24997. }
  24998. // GoString returns the string representation
  24999. func (s IpPermission) GoString() string {
  25000. return s.String()
  25001. }
  25002. // Describes an IP range.
  25003. type IpRange struct {
  25004. _ struct{} `type:"structure"`
  25005. // The CIDR range. You can either specify a CIDR range or a source security
  25006. // group, not both.
  25007. CidrIp *string `locationName:"cidrIp" type:"string"`
  25008. }
  25009. // String returns the string representation
  25010. func (s IpRange) String() string {
  25011. return awsutil.Prettify(s)
  25012. }
  25013. // GoString returns the string representation
  25014. func (s IpRange) GoString() string {
  25015. return s.String()
  25016. }
  25017. // Describes a key pair.
  25018. type KeyPairInfo struct {
  25019. _ struct{} `type:"structure"`
  25020. // If you used CreateKeyPair to create the key pair, this is the SHA-1 digest
  25021. // of the DER encoded private key. If you used ImportKeyPair to provide AWS
  25022. // the public key, this is the MD5 public key fingerprint as specified in section
  25023. // 4 of RFC4716.
  25024. KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
  25025. // The name of the key pair.
  25026. KeyName *string `locationName:"keyName" type:"string"`
  25027. }
  25028. // String returns the string representation
  25029. func (s KeyPairInfo) String() string {
  25030. return awsutil.Prettify(s)
  25031. }
  25032. // GoString returns the string representation
  25033. func (s KeyPairInfo) GoString() string {
  25034. return s.String()
  25035. }
  25036. // Describes a launch permission.
  25037. type LaunchPermission struct {
  25038. _ struct{} `type:"structure"`
  25039. // The name of the group.
  25040. Group *string `locationName:"group" type:"string" enum:"PermissionGroup"`
  25041. // The AWS account ID.
  25042. UserId *string `locationName:"userId" type:"string"`
  25043. }
  25044. // String returns the string representation
  25045. func (s LaunchPermission) String() string {
  25046. return awsutil.Prettify(s)
  25047. }
  25048. // GoString returns the string representation
  25049. func (s LaunchPermission) GoString() string {
  25050. return s.String()
  25051. }
  25052. // Describes a launch permission modification.
  25053. type LaunchPermissionModifications struct {
  25054. _ struct{} `type:"structure"`
  25055. // The AWS account ID to add to the list of launch permissions for the AMI.
  25056. Add []*LaunchPermission `locationNameList:"item" type:"list"`
  25057. // The AWS account ID to remove from the list of launch permissions for the
  25058. // AMI.
  25059. Remove []*LaunchPermission `locationNameList:"item" type:"list"`
  25060. }
  25061. // String returns the string representation
  25062. func (s LaunchPermissionModifications) String() string {
  25063. return awsutil.Prettify(s)
  25064. }
  25065. // GoString returns the string representation
  25066. func (s LaunchPermissionModifications) GoString() string {
  25067. return s.String()
  25068. }
  25069. // Describes the launch specification for an instance.
  25070. type LaunchSpecification struct {
  25071. _ struct{} `type:"structure"`
  25072. // Deprecated.
  25073. AddressingType *string `locationName:"addressingType" type:"string"`
  25074. // One or more block device mapping entries.
  25075. //
  25076. // Although you can specify encrypted EBS volumes in this block device mapping
  25077. // for your Spot Instances, these volumes are not encrypted.
  25078. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  25079. // Indicates whether the instance is optimized for EBS I/O. This optimization
  25080. // provides dedicated throughput to Amazon EBS and an optimized configuration
  25081. // stack to provide optimal EBS I/O performance. This optimization isn't available
  25082. // with all instance types. Additional usage charges apply when using an EBS
  25083. // Optimized instance.
  25084. //
  25085. // Default: false
  25086. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  25087. // The IAM instance profile.
  25088. IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
  25089. // The ID of the AMI.
  25090. ImageId *string `locationName:"imageId" type:"string"`
  25091. // The instance type.
  25092. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  25093. // The ID of the kernel.
  25094. KernelId *string `locationName:"kernelId" type:"string"`
  25095. // The name of the key pair.
  25096. KeyName *string `locationName:"keyName" type:"string"`
  25097. // Describes the monitoring for the instance.
  25098. Monitoring *RunInstancesMonitoringEnabled `locationName:"monitoring" type:"structure"`
  25099. // One or more network interfaces.
  25100. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
  25101. // The placement information for the instance.
  25102. Placement *SpotPlacement `locationName:"placement" type:"structure"`
  25103. // The ID of the RAM disk.
  25104. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  25105. // One or more security groups. When requesting instances in a VPC, you must
  25106. // specify the IDs of the security groups. When requesting instances in EC2-Classic,
  25107. // you can specify the names or the IDs of the security groups.
  25108. SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  25109. // The ID of the subnet in which to launch the instance.
  25110. SubnetId *string `locationName:"subnetId" type:"string"`
  25111. // The user data to make available to the instances. If you are using an AWS
  25112. // SDK or command line tool, Base64-encoding is performed for you, and you can
  25113. // load the text from a file. Otherwise, you must provide Base64-encoded text.
  25114. UserData *string `locationName:"userData" type:"string"`
  25115. }
  25116. // String returns the string representation
  25117. func (s LaunchSpecification) String() string {
  25118. return awsutil.Prettify(s)
  25119. }
  25120. // GoString returns the string representation
  25121. func (s LaunchSpecification) GoString() string {
  25122. return s.String()
  25123. }
  25124. // Contains the parameters for ModifyHosts.
  25125. type ModifyHostsInput struct {
  25126. _ struct{} `type:"structure"`
  25127. // Specify whether to enable or disable auto-placement.
  25128. //
  25129. // AutoPlacement is a required field
  25130. AutoPlacement *string `locationName:"autoPlacement" type:"string" required:"true" enum:"AutoPlacement"`
  25131. // The host IDs of the Dedicated Hosts you want to modify.
  25132. //
  25133. // HostIds is a required field
  25134. HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list" required:"true"`
  25135. }
  25136. // String returns the string representation
  25137. func (s ModifyHostsInput) String() string {
  25138. return awsutil.Prettify(s)
  25139. }
  25140. // GoString returns the string representation
  25141. func (s ModifyHostsInput) GoString() string {
  25142. return s.String()
  25143. }
  25144. // Validate inspects the fields of the type to determine if they are valid.
  25145. func (s *ModifyHostsInput) Validate() error {
  25146. invalidParams := request.ErrInvalidParams{Context: "ModifyHostsInput"}
  25147. if s.AutoPlacement == nil {
  25148. invalidParams.Add(request.NewErrParamRequired("AutoPlacement"))
  25149. }
  25150. if s.HostIds == nil {
  25151. invalidParams.Add(request.NewErrParamRequired("HostIds"))
  25152. }
  25153. if invalidParams.Len() > 0 {
  25154. return invalidParams
  25155. }
  25156. return nil
  25157. }
  25158. // Contains the output of ModifyHosts.
  25159. type ModifyHostsOutput struct {
  25160. _ struct{} `type:"structure"`
  25161. // The IDs of the Dedicated Hosts that were successfully modified.
  25162. Successful []*string `locationName:"successful" locationNameList:"item" type:"list"`
  25163. // The IDs of the Dedicated Hosts that could not be modified. Check whether
  25164. // the setting you requested can be used.
  25165. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  25166. }
  25167. // String returns the string representation
  25168. func (s ModifyHostsOutput) String() string {
  25169. return awsutil.Prettify(s)
  25170. }
  25171. // GoString returns the string representation
  25172. func (s ModifyHostsOutput) GoString() string {
  25173. return s.String()
  25174. }
  25175. // Contains the parameters of ModifyIdFormat.
  25176. type ModifyIdFormatInput struct {
  25177. _ struct{} `type:"structure"`
  25178. // The type of resource: instance | reservation | snapshot | volume
  25179. //
  25180. // Resource is a required field
  25181. Resource *string `type:"string" required:"true"`
  25182. // Indicate whether the resource should use longer IDs (17-character IDs).
  25183. //
  25184. // UseLongIds is a required field
  25185. UseLongIds *bool `type:"boolean" required:"true"`
  25186. }
  25187. // String returns the string representation
  25188. func (s ModifyIdFormatInput) String() string {
  25189. return awsutil.Prettify(s)
  25190. }
  25191. // GoString returns the string representation
  25192. func (s ModifyIdFormatInput) GoString() string {
  25193. return s.String()
  25194. }
  25195. // Validate inspects the fields of the type to determine if they are valid.
  25196. func (s *ModifyIdFormatInput) Validate() error {
  25197. invalidParams := request.ErrInvalidParams{Context: "ModifyIdFormatInput"}
  25198. if s.Resource == nil {
  25199. invalidParams.Add(request.NewErrParamRequired("Resource"))
  25200. }
  25201. if s.UseLongIds == nil {
  25202. invalidParams.Add(request.NewErrParamRequired("UseLongIds"))
  25203. }
  25204. if invalidParams.Len() > 0 {
  25205. return invalidParams
  25206. }
  25207. return nil
  25208. }
  25209. type ModifyIdFormatOutput struct {
  25210. _ struct{} `type:"structure"`
  25211. }
  25212. // String returns the string representation
  25213. func (s ModifyIdFormatOutput) String() string {
  25214. return awsutil.Prettify(s)
  25215. }
  25216. // GoString returns the string representation
  25217. func (s ModifyIdFormatOutput) GoString() string {
  25218. return s.String()
  25219. }
  25220. // Contains the parameters of ModifyIdentityIdFormat.
  25221. type ModifyIdentityIdFormatInput struct {
  25222. _ struct{} `type:"structure"`
  25223. // The ARN of the principal, which can be an IAM user, IAM role, or the root
  25224. // user. Specify all to modify the ID format for all IAM users, IAM roles, and
  25225. // the root user of the account.
  25226. //
  25227. // PrincipalArn is a required field
  25228. PrincipalArn *string `locationName:"principalArn" type:"string" required:"true"`
  25229. // The type of resource: instance | reservation | snapshot | volume
  25230. //
  25231. // Resource is a required field
  25232. Resource *string `locationName:"resource" type:"string" required:"true"`
  25233. // Indicates whether the resource should use longer IDs (17-character IDs)
  25234. //
  25235. // UseLongIds is a required field
  25236. UseLongIds *bool `locationName:"useLongIds" type:"boolean" required:"true"`
  25237. }
  25238. // String returns the string representation
  25239. func (s ModifyIdentityIdFormatInput) String() string {
  25240. return awsutil.Prettify(s)
  25241. }
  25242. // GoString returns the string representation
  25243. func (s ModifyIdentityIdFormatInput) GoString() string {
  25244. return s.String()
  25245. }
  25246. // Validate inspects the fields of the type to determine if they are valid.
  25247. func (s *ModifyIdentityIdFormatInput) Validate() error {
  25248. invalidParams := request.ErrInvalidParams{Context: "ModifyIdentityIdFormatInput"}
  25249. if s.PrincipalArn == nil {
  25250. invalidParams.Add(request.NewErrParamRequired("PrincipalArn"))
  25251. }
  25252. if s.Resource == nil {
  25253. invalidParams.Add(request.NewErrParamRequired("Resource"))
  25254. }
  25255. if s.UseLongIds == nil {
  25256. invalidParams.Add(request.NewErrParamRequired("UseLongIds"))
  25257. }
  25258. if invalidParams.Len() > 0 {
  25259. return invalidParams
  25260. }
  25261. return nil
  25262. }
  25263. type ModifyIdentityIdFormatOutput struct {
  25264. _ struct{} `type:"structure"`
  25265. }
  25266. // String returns the string representation
  25267. func (s ModifyIdentityIdFormatOutput) String() string {
  25268. return awsutil.Prettify(s)
  25269. }
  25270. // GoString returns the string representation
  25271. func (s ModifyIdentityIdFormatOutput) GoString() string {
  25272. return s.String()
  25273. }
  25274. // Contains the parameters for ModifyImageAttribute.
  25275. type ModifyImageAttributeInput struct {
  25276. _ struct{} `type:"structure"`
  25277. // The name of the attribute to modify.
  25278. Attribute *string `type:"string"`
  25279. // A description for the AMI.
  25280. Description *AttributeValue `type:"structure"`
  25281. // Checks whether you have the required permissions for the action, without
  25282. // actually making the request, and provides an error response. If you have
  25283. // the required permissions, the error response is DryRunOperation. Otherwise,
  25284. // it is UnauthorizedOperation.
  25285. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25286. // The ID of the AMI.
  25287. //
  25288. // ImageId is a required field
  25289. ImageId *string `type:"string" required:"true"`
  25290. // A launch permission modification.
  25291. LaunchPermission *LaunchPermissionModifications `type:"structure"`
  25292. // The operation type.
  25293. OperationType *string `type:"string" enum:"OperationType"`
  25294. // One or more product codes. After you add a product code to an AMI, it can't
  25295. // be removed. This is only valid when modifying the productCodes attribute.
  25296. ProductCodes []*string `locationName:"ProductCode" locationNameList:"ProductCode" type:"list"`
  25297. // One or more user groups. This is only valid when modifying the launchPermission
  25298. // attribute.
  25299. UserGroups []*string `locationName:"UserGroup" locationNameList:"UserGroup" type:"list"`
  25300. // One or more AWS account IDs. This is only valid when modifying the launchPermission
  25301. // attribute.
  25302. UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"`
  25303. // The value of the attribute being modified. This is only valid when modifying
  25304. // the description attribute.
  25305. Value *string `type:"string"`
  25306. }
  25307. // String returns the string representation
  25308. func (s ModifyImageAttributeInput) String() string {
  25309. return awsutil.Prettify(s)
  25310. }
  25311. // GoString returns the string representation
  25312. func (s ModifyImageAttributeInput) GoString() string {
  25313. return s.String()
  25314. }
  25315. // Validate inspects the fields of the type to determine if they are valid.
  25316. func (s *ModifyImageAttributeInput) Validate() error {
  25317. invalidParams := request.ErrInvalidParams{Context: "ModifyImageAttributeInput"}
  25318. if s.ImageId == nil {
  25319. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  25320. }
  25321. if invalidParams.Len() > 0 {
  25322. return invalidParams
  25323. }
  25324. return nil
  25325. }
  25326. type ModifyImageAttributeOutput struct {
  25327. _ struct{} `type:"structure"`
  25328. }
  25329. // String returns the string representation
  25330. func (s ModifyImageAttributeOutput) String() string {
  25331. return awsutil.Prettify(s)
  25332. }
  25333. // GoString returns the string representation
  25334. func (s ModifyImageAttributeOutput) GoString() string {
  25335. return s.String()
  25336. }
  25337. // Contains the parameters for ModifyInstanceAttribute.
  25338. type ModifyInstanceAttributeInput struct {
  25339. _ struct{} `type:"structure"`
  25340. // The name of the attribute.
  25341. Attribute *string `locationName:"attribute" type:"string" enum:"InstanceAttributeName"`
  25342. // Modifies the DeleteOnTermination attribute for volumes that are currently
  25343. // attached. The volume must be owned by the caller. If no value is specified
  25344. // for DeleteOnTermination, the default is true and the volume is deleted when
  25345. // the instance is terminated.
  25346. //
  25347. // To add instance store volumes to an Amazon EBS-backed instance, you must
  25348. // add them when you launch the instance. For more information, see Updating
  25349. // the Block Device Mapping when Launching an Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html#Using_OverridingAMIBDM)
  25350. // in the Amazon Elastic Compute Cloud User Guide.
  25351. BlockDeviceMappings []*InstanceBlockDeviceMappingSpecification `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  25352. // If the value is true, you can't terminate the instance using the Amazon EC2
  25353. // console, CLI, or API; otherwise, you can. You cannot use this paramater for
  25354. // Spot Instances.
  25355. DisableApiTermination *AttributeBooleanValue `locationName:"disableApiTermination" type:"structure"`
  25356. // Checks whether you have the required permissions for the action, without
  25357. // actually making the request, and provides an error response. If you have
  25358. // the required permissions, the error response is DryRunOperation. Otherwise,
  25359. // it is UnauthorizedOperation.
  25360. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25361. // Specifies whether the instance is optimized for EBS I/O. This optimization
  25362. // provides dedicated throughput to Amazon EBS and an optimized configuration
  25363. // stack to provide optimal EBS I/O performance. This optimization isn't available
  25364. // with all instance types. Additional usage charges apply when using an EBS
  25365. // Optimized instance.
  25366. EbsOptimized *AttributeBooleanValue `locationName:"ebsOptimized" type:"structure"`
  25367. // Set to true to enable enhanced networking with ENA for the instance.
  25368. //
  25369. // This option is supported only for HVM instances. Specifying this option with
  25370. // a PV instance can make it unreachable.
  25371. EnaSupport *AttributeBooleanValue `locationName:"enaSupport" type:"structure"`
  25372. // [EC2-VPC] Changes the security groups of the instance. You must specify at
  25373. // least one security group, even if it's just the default security group for
  25374. // the VPC. You must specify the security group ID, not the security group name.
  25375. Groups []*string `locationName:"GroupId" locationNameList:"groupId" type:"list"`
  25376. // The ID of the instance.
  25377. //
  25378. // InstanceId is a required field
  25379. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  25380. // Specifies whether an instance stops or terminates when you initiate shutdown
  25381. // from the instance (using the operating system command for system shutdown).
  25382. InstanceInitiatedShutdownBehavior *AttributeValue `locationName:"instanceInitiatedShutdownBehavior" type:"structure"`
  25383. // Changes the instance type to the specified value. For more information, see
  25384. // Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).
  25385. // If the instance type is not valid, the error returned is InvalidInstanceAttributeValue.
  25386. InstanceType *AttributeValue `locationName:"instanceType" type:"structure"`
  25387. // Changes the instance's kernel to the specified value. We recommend that you
  25388. // use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB
  25389. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html).
  25390. Kernel *AttributeValue `locationName:"kernel" type:"structure"`
  25391. // Changes the instance's RAM disk to the specified value. We recommend that
  25392. // you use PV-GRUB instead of kernels and RAM disks. For more information, see
  25393. // PV-GRUB (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html).
  25394. Ramdisk *AttributeValue `locationName:"ramdisk" type:"structure"`
  25395. // Specifies whether source/destination checking is enabled. A value of true
  25396. // means that checking is enabled, and false means checking is disabled. This
  25397. // value must be false for a NAT instance to perform NAT.
  25398. SourceDestCheck *AttributeBooleanValue `type:"structure"`
  25399. // Set to simple to enable enhanced networking with the Intel 82599 Virtual
  25400. // Function interface for the instance.
  25401. //
  25402. // There is no way to disable enhanced networking with the Intel 82599 Virtual
  25403. // Function interface at this time.
  25404. //
  25405. // This option is supported only for HVM instances. Specifying this option with
  25406. // a PV instance can make it unreachable.
  25407. SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
  25408. // Changes the instance's user data to the specified value. If you are using
  25409. // an AWS SDK or command line tool, Base64-encoding is performed for you, and
  25410. // you can load the text from a file. Otherwise, you must provide Base64-encoded
  25411. // text.
  25412. UserData *BlobAttributeValue `locationName:"userData" type:"structure"`
  25413. // A new value for the attribute. Use only with the kernel, ramdisk, userData,
  25414. // disableApiTermination, or instanceInitiatedShutdownBehavior attribute.
  25415. Value *string `locationName:"value" type:"string"`
  25416. }
  25417. // String returns the string representation
  25418. func (s ModifyInstanceAttributeInput) String() string {
  25419. return awsutil.Prettify(s)
  25420. }
  25421. // GoString returns the string representation
  25422. func (s ModifyInstanceAttributeInput) GoString() string {
  25423. return s.String()
  25424. }
  25425. // Validate inspects the fields of the type to determine if they are valid.
  25426. func (s *ModifyInstanceAttributeInput) Validate() error {
  25427. invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceAttributeInput"}
  25428. if s.InstanceId == nil {
  25429. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  25430. }
  25431. if invalidParams.Len() > 0 {
  25432. return invalidParams
  25433. }
  25434. return nil
  25435. }
  25436. type ModifyInstanceAttributeOutput struct {
  25437. _ struct{} `type:"structure"`
  25438. }
  25439. // String returns the string representation
  25440. func (s ModifyInstanceAttributeOutput) String() string {
  25441. return awsutil.Prettify(s)
  25442. }
  25443. // GoString returns the string representation
  25444. func (s ModifyInstanceAttributeOutput) GoString() string {
  25445. return s.String()
  25446. }
  25447. // Contains the parameters for ModifyInstancePlacement.
  25448. type ModifyInstancePlacementInput struct {
  25449. _ struct{} `type:"structure"`
  25450. // The new affinity setting for the instance.
  25451. Affinity *string `locationName:"affinity" type:"string" enum:"Affinity"`
  25452. // The ID of the Dedicated Host that the instance will have affinity with.
  25453. HostId *string `locationName:"hostId" type:"string"`
  25454. // The ID of the instance that you are modifying.
  25455. //
  25456. // InstanceId is a required field
  25457. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  25458. // The tenancy of the instance that you are modifying.
  25459. Tenancy *string `locationName:"tenancy" type:"string" enum:"HostTenancy"`
  25460. }
  25461. // String returns the string representation
  25462. func (s ModifyInstancePlacementInput) String() string {
  25463. return awsutil.Prettify(s)
  25464. }
  25465. // GoString returns the string representation
  25466. func (s ModifyInstancePlacementInput) GoString() string {
  25467. return s.String()
  25468. }
  25469. // Validate inspects the fields of the type to determine if they are valid.
  25470. func (s *ModifyInstancePlacementInput) Validate() error {
  25471. invalidParams := request.ErrInvalidParams{Context: "ModifyInstancePlacementInput"}
  25472. if s.InstanceId == nil {
  25473. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  25474. }
  25475. if invalidParams.Len() > 0 {
  25476. return invalidParams
  25477. }
  25478. return nil
  25479. }
  25480. // Contains the output of ModifyInstancePlacement.
  25481. type ModifyInstancePlacementOutput struct {
  25482. _ struct{} `type:"structure"`
  25483. // Is true if the request succeeds, and an error otherwise.
  25484. Return *bool `locationName:"return" type:"boolean"`
  25485. }
  25486. // String returns the string representation
  25487. func (s ModifyInstancePlacementOutput) String() string {
  25488. return awsutil.Prettify(s)
  25489. }
  25490. // GoString returns the string representation
  25491. func (s ModifyInstancePlacementOutput) GoString() string {
  25492. return s.String()
  25493. }
  25494. // Contains the parameters for ModifyNetworkInterfaceAttribute.
  25495. type ModifyNetworkInterfaceAttributeInput struct {
  25496. _ struct{} `type:"structure"`
  25497. // Information about the interface attachment. If modifying the 'delete on termination'
  25498. // attribute, you must specify the ID of the interface attachment.
  25499. Attachment *NetworkInterfaceAttachmentChanges `locationName:"attachment" type:"structure"`
  25500. // A description for the network interface.
  25501. Description *AttributeValue `locationName:"description" type:"structure"`
  25502. // Checks whether you have the required permissions for the action, without
  25503. // actually making the request, and provides an error response. If you have
  25504. // the required permissions, the error response is DryRunOperation. Otherwise,
  25505. // it is UnauthorizedOperation.
  25506. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25507. // Changes the security groups for the network interface. The new set of groups
  25508. // you specify replaces the current set. You must specify at least one group,
  25509. // even if it's just the default security group in the VPC. You must specify
  25510. // the ID of the security group, not the name.
  25511. Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  25512. // The ID of the network interface.
  25513. //
  25514. // NetworkInterfaceId is a required field
  25515. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  25516. // Indicates whether source/destination checking is enabled. A value of true
  25517. // means checking is enabled, and false means checking is disabled. This value
  25518. // must be false for a NAT instance to perform NAT. For more information, see
  25519. // NAT Instances (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
  25520. // in the Amazon Virtual Private Cloud User Guide.
  25521. SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
  25522. }
  25523. // String returns the string representation
  25524. func (s ModifyNetworkInterfaceAttributeInput) String() string {
  25525. return awsutil.Prettify(s)
  25526. }
  25527. // GoString returns the string representation
  25528. func (s ModifyNetworkInterfaceAttributeInput) GoString() string {
  25529. return s.String()
  25530. }
  25531. // Validate inspects the fields of the type to determine if they are valid.
  25532. func (s *ModifyNetworkInterfaceAttributeInput) Validate() error {
  25533. invalidParams := request.ErrInvalidParams{Context: "ModifyNetworkInterfaceAttributeInput"}
  25534. if s.NetworkInterfaceId == nil {
  25535. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  25536. }
  25537. if invalidParams.Len() > 0 {
  25538. return invalidParams
  25539. }
  25540. return nil
  25541. }
  25542. type ModifyNetworkInterfaceAttributeOutput struct {
  25543. _ struct{} `type:"structure"`
  25544. }
  25545. // String returns the string representation
  25546. func (s ModifyNetworkInterfaceAttributeOutput) String() string {
  25547. return awsutil.Prettify(s)
  25548. }
  25549. // GoString returns the string representation
  25550. func (s ModifyNetworkInterfaceAttributeOutput) GoString() string {
  25551. return s.String()
  25552. }
  25553. // Contains the parameters for ModifyReservedInstances.
  25554. type ModifyReservedInstancesInput struct {
  25555. _ struct{} `type:"structure"`
  25556. // A unique, case-sensitive token you provide to ensure idempotency of your
  25557. // modification request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  25558. ClientToken *string `locationName:"clientToken" type:"string"`
  25559. // The IDs of the Reserved Instances to modify.
  25560. //
  25561. // ReservedInstancesIds is a required field
  25562. ReservedInstancesIds []*string `locationName:"ReservedInstancesId" locationNameList:"ReservedInstancesId" type:"list" required:"true"`
  25563. // The configuration settings for the Reserved Instances to modify.
  25564. //
  25565. // TargetConfigurations is a required field
  25566. TargetConfigurations []*ReservedInstancesConfiguration `locationName:"ReservedInstancesConfigurationSetItemType" locationNameList:"item" type:"list" required:"true"`
  25567. }
  25568. // String returns the string representation
  25569. func (s ModifyReservedInstancesInput) String() string {
  25570. return awsutil.Prettify(s)
  25571. }
  25572. // GoString returns the string representation
  25573. func (s ModifyReservedInstancesInput) GoString() string {
  25574. return s.String()
  25575. }
  25576. // Validate inspects the fields of the type to determine if they are valid.
  25577. func (s *ModifyReservedInstancesInput) Validate() error {
  25578. invalidParams := request.ErrInvalidParams{Context: "ModifyReservedInstancesInput"}
  25579. if s.ReservedInstancesIds == nil {
  25580. invalidParams.Add(request.NewErrParamRequired("ReservedInstancesIds"))
  25581. }
  25582. if s.TargetConfigurations == nil {
  25583. invalidParams.Add(request.NewErrParamRequired("TargetConfigurations"))
  25584. }
  25585. if invalidParams.Len() > 0 {
  25586. return invalidParams
  25587. }
  25588. return nil
  25589. }
  25590. // Contains the output of ModifyReservedInstances.
  25591. type ModifyReservedInstancesOutput struct {
  25592. _ struct{} `type:"structure"`
  25593. // The ID for the modification.
  25594. ReservedInstancesModificationId *string `locationName:"reservedInstancesModificationId" type:"string"`
  25595. }
  25596. // String returns the string representation
  25597. func (s ModifyReservedInstancesOutput) String() string {
  25598. return awsutil.Prettify(s)
  25599. }
  25600. // GoString returns the string representation
  25601. func (s ModifyReservedInstancesOutput) GoString() string {
  25602. return s.String()
  25603. }
  25604. // Contains the parameters for ModifySnapshotAttribute.
  25605. type ModifySnapshotAttributeInput struct {
  25606. _ struct{} `type:"structure"`
  25607. // The snapshot attribute to modify.
  25608. //
  25609. // Only volume creation permissions may be modified at the customer level.
  25610. Attribute *string `type:"string" enum:"SnapshotAttributeName"`
  25611. // A JSON representation of the snapshot attribute modification.
  25612. CreateVolumePermission *CreateVolumePermissionModifications `type:"structure"`
  25613. // Checks whether you have the required permissions for the action, without
  25614. // actually making the request, and provides an error response. If you have
  25615. // the required permissions, the error response is DryRunOperation. Otherwise,
  25616. // it is UnauthorizedOperation.
  25617. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25618. // The group to modify for the snapshot.
  25619. GroupNames []*string `locationName:"UserGroup" locationNameList:"GroupName" type:"list"`
  25620. // The type of operation to perform to the attribute.
  25621. OperationType *string `type:"string" enum:"OperationType"`
  25622. // The ID of the snapshot.
  25623. //
  25624. // SnapshotId is a required field
  25625. SnapshotId *string `type:"string" required:"true"`
  25626. // The account ID to modify for the snapshot.
  25627. UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"`
  25628. }
  25629. // String returns the string representation
  25630. func (s ModifySnapshotAttributeInput) String() string {
  25631. return awsutil.Prettify(s)
  25632. }
  25633. // GoString returns the string representation
  25634. func (s ModifySnapshotAttributeInput) GoString() string {
  25635. return s.String()
  25636. }
  25637. // Validate inspects the fields of the type to determine if they are valid.
  25638. func (s *ModifySnapshotAttributeInput) Validate() error {
  25639. invalidParams := request.ErrInvalidParams{Context: "ModifySnapshotAttributeInput"}
  25640. if s.SnapshotId == nil {
  25641. invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
  25642. }
  25643. if invalidParams.Len() > 0 {
  25644. return invalidParams
  25645. }
  25646. return nil
  25647. }
  25648. type ModifySnapshotAttributeOutput struct {
  25649. _ struct{} `type:"structure"`
  25650. }
  25651. // String returns the string representation
  25652. func (s ModifySnapshotAttributeOutput) String() string {
  25653. return awsutil.Prettify(s)
  25654. }
  25655. // GoString returns the string representation
  25656. func (s ModifySnapshotAttributeOutput) GoString() string {
  25657. return s.String()
  25658. }
  25659. // Contains the parameters for ModifySpotFleetRequest.
  25660. type ModifySpotFleetRequestInput struct {
  25661. _ struct{} `type:"structure"`
  25662. // Indicates whether running Spot instances should be terminated if the target
  25663. // capacity of the Spot fleet request is decreased below the current size of
  25664. // the Spot fleet.
  25665. ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"ExcessCapacityTerminationPolicy"`
  25666. // The ID of the Spot fleet request.
  25667. //
  25668. // SpotFleetRequestId is a required field
  25669. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  25670. // The size of the fleet.
  25671. TargetCapacity *int64 `locationName:"targetCapacity" type:"integer"`
  25672. }
  25673. // String returns the string representation
  25674. func (s ModifySpotFleetRequestInput) String() string {
  25675. return awsutil.Prettify(s)
  25676. }
  25677. // GoString returns the string representation
  25678. func (s ModifySpotFleetRequestInput) GoString() string {
  25679. return s.String()
  25680. }
  25681. // Validate inspects the fields of the type to determine if they are valid.
  25682. func (s *ModifySpotFleetRequestInput) Validate() error {
  25683. invalidParams := request.ErrInvalidParams{Context: "ModifySpotFleetRequestInput"}
  25684. if s.SpotFleetRequestId == nil {
  25685. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
  25686. }
  25687. if invalidParams.Len() > 0 {
  25688. return invalidParams
  25689. }
  25690. return nil
  25691. }
  25692. // Contains the output of ModifySpotFleetRequest.
  25693. type ModifySpotFleetRequestOutput struct {
  25694. _ struct{} `type:"structure"`
  25695. // Is true if the request succeeds, and an error otherwise.
  25696. Return *bool `locationName:"return" type:"boolean"`
  25697. }
  25698. // String returns the string representation
  25699. func (s ModifySpotFleetRequestOutput) String() string {
  25700. return awsutil.Prettify(s)
  25701. }
  25702. // GoString returns the string representation
  25703. func (s ModifySpotFleetRequestOutput) GoString() string {
  25704. return s.String()
  25705. }
  25706. // Contains the parameters for ModifySubnetAttribute.
  25707. type ModifySubnetAttributeInput struct {
  25708. _ struct{} `type:"structure"`
  25709. // Specify true to indicate that instances launched into the specified subnet
  25710. // should be assigned public IP address.
  25711. MapPublicIpOnLaunch *AttributeBooleanValue `type:"structure"`
  25712. // The ID of the subnet.
  25713. //
  25714. // SubnetId is a required field
  25715. SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
  25716. }
  25717. // String returns the string representation
  25718. func (s ModifySubnetAttributeInput) String() string {
  25719. return awsutil.Prettify(s)
  25720. }
  25721. // GoString returns the string representation
  25722. func (s ModifySubnetAttributeInput) GoString() string {
  25723. return s.String()
  25724. }
  25725. // Validate inspects the fields of the type to determine if they are valid.
  25726. func (s *ModifySubnetAttributeInput) Validate() error {
  25727. invalidParams := request.ErrInvalidParams{Context: "ModifySubnetAttributeInput"}
  25728. if s.SubnetId == nil {
  25729. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  25730. }
  25731. if invalidParams.Len() > 0 {
  25732. return invalidParams
  25733. }
  25734. return nil
  25735. }
  25736. type ModifySubnetAttributeOutput struct {
  25737. _ struct{} `type:"structure"`
  25738. }
  25739. // String returns the string representation
  25740. func (s ModifySubnetAttributeOutput) String() string {
  25741. return awsutil.Prettify(s)
  25742. }
  25743. // GoString returns the string representation
  25744. func (s ModifySubnetAttributeOutput) GoString() string {
  25745. return s.String()
  25746. }
  25747. // Contains the parameters for ModifyVolumeAttribute.
  25748. type ModifyVolumeAttributeInput struct {
  25749. _ struct{} `type:"structure"`
  25750. // Indicates whether the volume should be auto-enabled for I/O operations.
  25751. AutoEnableIO *AttributeBooleanValue `type:"structure"`
  25752. // Checks whether you have the required permissions for the action, without
  25753. // actually making the request, and provides an error response. If you have
  25754. // the required permissions, the error response is DryRunOperation. Otherwise,
  25755. // it is UnauthorizedOperation.
  25756. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25757. // The ID of the volume.
  25758. //
  25759. // VolumeId is a required field
  25760. VolumeId *string `type:"string" required:"true"`
  25761. }
  25762. // String returns the string representation
  25763. func (s ModifyVolumeAttributeInput) String() string {
  25764. return awsutil.Prettify(s)
  25765. }
  25766. // GoString returns the string representation
  25767. func (s ModifyVolumeAttributeInput) GoString() string {
  25768. return s.String()
  25769. }
  25770. // Validate inspects the fields of the type to determine if they are valid.
  25771. func (s *ModifyVolumeAttributeInput) Validate() error {
  25772. invalidParams := request.ErrInvalidParams{Context: "ModifyVolumeAttributeInput"}
  25773. if s.VolumeId == nil {
  25774. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  25775. }
  25776. if invalidParams.Len() > 0 {
  25777. return invalidParams
  25778. }
  25779. return nil
  25780. }
  25781. type ModifyVolumeAttributeOutput struct {
  25782. _ struct{} `type:"structure"`
  25783. }
  25784. // String returns the string representation
  25785. func (s ModifyVolumeAttributeOutput) String() string {
  25786. return awsutil.Prettify(s)
  25787. }
  25788. // GoString returns the string representation
  25789. func (s ModifyVolumeAttributeOutput) GoString() string {
  25790. return s.String()
  25791. }
  25792. // Contains the parameters for ModifyVpcAttribute.
  25793. type ModifyVpcAttributeInput struct {
  25794. _ struct{} `type:"structure"`
  25795. // Indicates whether the instances launched in the VPC get DNS hostnames. If
  25796. // enabled, instances in the VPC get DNS hostnames; otherwise, they do not.
  25797. //
  25798. // You cannot modify the DNS resolution and DNS hostnames attributes in the
  25799. // same request. Use separate requests for each attribute. You can only enable
  25800. // DNS hostnames if you've enabled DNS support.
  25801. EnableDnsHostnames *AttributeBooleanValue `type:"structure"`
  25802. // Indicates whether the DNS resolution is supported for the VPC. If enabled,
  25803. // queries to the Amazon provided DNS server at the 169.254.169.253 IP address,
  25804. // or the reserved IP address at the base of the VPC network range "plus two"
  25805. // will succeed. If disabled, the Amazon provided DNS service in the VPC that
  25806. // resolves public DNS hostnames to IP addresses is not enabled.
  25807. //
  25808. // You cannot modify the DNS resolution and DNS hostnames attributes in the
  25809. // same request. Use separate requests for each attribute.
  25810. EnableDnsSupport *AttributeBooleanValue `type:"structure"`
  25811. // The ID of the VPC.
  25812. //
  25813. // VpcId is a required field
  25814. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  25815. }
  25816. // String returns the string representation
  25817. func (s ModifyVpcAttributeInput) String() string {
  25818. return awsutil.Prettify(s)
  25819. }
  25820. // GoString returns the string representation
  25821. func (s ModifyVpcAttributeInput) GoString() string {
  25822. return s.String()
  25823. }
  25824. // Validate inspects the fields of the type to determine if they are valid.
  25825. func (s *ModifyVpcAttributeInput) Validate() error {
  25826. invalidParams := request.ErrInvalidParams{Context: "ModifyVpcAttributeInput"}
  25827. if s.VpcId == nil {
  25828. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  25829. }
  25830. if invalidParams.Len() > 0 {
  25831. return invalidParams
  25832. }
  25833. return nil
  25834. }
  25835. type ModifyVpcAttributeOutput struct {
  25836. _ struct{} `type:"structure"`
  25837. }
  25838. // String returns the string representation
  25839. func (s ModifyVpcAttributeOutput) String() string {
  25840. return awsutil.Prettify(s)
  25841. }
  25842. // GoString returns the string representation
  25843. func (s ModifyVpcAttributeOutput) GoString() string {
  25844. return s.String()
  25845. }
  25846. // Contains the parameters for ModifyVpcEndpoint.
  25847. type ModifyVpcEndpointInput struct {
  25848. _ struct{} `type:"structure"`
  25849. // One or more route tables IDs to associate with the endpoint.
  25850. AddRouteTableIds []*string `locationName:"AddRouteTableId" locationNameList:"item" type:"list"`
  25851. // Checks whether you have the required permissions for the action, without
  25852. // actually making the request, and provides an error response. If you have
  25853. // the required permissions, the error response is DryRunOperation. Otherwise,
  25854. // it is UnauthorizedOperation.
  25855. DryRun *bool `type:"boolean"`
  25856. // A policy document to attach to the endpoint. The policy must be in valid
  25857. // JSON format.
  25858. PolicyDocument *string `type:"string"`
  25859. // One or more route table IDs to disassociate from the endpoint.
  25860. RemoveRouteTableIds []*string `locationName:"RemoveRouteTableId" locationNameList:"item" type:"list"`
  25861. // Specify true to reset the policy document to the default policy. The default
  25862. // policy allows access to the service.
  25863. ResetPolicy *bool `type:"boolean"`
  25864. // The ID of the endpoint.
  25865. //
  25866. // VpcEndpointId is a required field
  25867. VpcEndpointId *string `type:"string" required:"true"`
  25868. }
  25869. // String returns the string representation
  25870. func (s ModifyVpcEndpointInput) String() string {
  25871. return awsutil.Prettify(s)
  25872. }
  25873. // GoString returns the string representation
  25874. func (s ModifyVpcEndpointInput) GoString() string {
  25875. return s.String()
  25876. }
  25877. // Validate inspects the fields of the type to determine if they are valid.
  25878. func (s *ModifyVpcEndpointInput) Validate() error {
  25879. invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointInput"}
  25880. if s.VpcEndpointId == nil {
  25881. invalidParams.Add(request.NewErrParamRequired("VpcEndpointId"))
  25882. }
  25883. if invalidParams.Len() > 0 {
  25884. return invalidParams
  25885. }
  25886. return nil
  25887. }
  25888. // Contains the output of ModifyVpcEndpoint.
  25889. type ModifyVpcEndpointOutput struct {
  25890. _ struct{} `type:"structure"`
  25891. // Returns true if the request succeeds; otherwise, it returns an error.
  25892. Return *bool `locationName:"return" type:"boolean"`
  25893. }
  25894. // String returns the string representation
  25895. func (s ModifyVpcEndpointOutput) String() string {
  25896. return awsutil.Prettify(s)
  25897. }
  25898. // GoString returns the string representation
  25899. func (s ModifyVpcEndpointOutput) GoString() string {
  25900. return s.String()
  25901. }
  25902. type ModifyVpcPeeringConnectionOptionsInput struct {
  25903. _ struct{} `type:"structure"`
  25904. // The VPC peering connection options for the accepter VPC.
  25905. AccepterPeeringConnectionOptions *PeeringConnectionOptionsRequest `type:"structure"`
  25906. // Checks whether you have the required permissions for the operation, without
  25907. // actually making the request, and provides an error response. If you have
  25908. // the required permissions, the error response is DryRunOperation. Otherwise,
  25909. // it is UnauthorizedOperation.
  25910. DryRun *bool `type:"boolean"`
  25911. // The VPC peering connection options for the requester VPC.
  25912. RequesterPeeringConnectionOptions *PeeringConnectionOptionsRequest `type:"structure"`
  25913. // The ID of the VPC peering connection.
  25914. //
  25915. // VpcPeeringConnectionId is a required field
  25916. VpcPeeringConnectionId *string `type:"string" required:"true"`
  25917. }
  25918. // String returns the string representation
  25919. func (s ModifyVpcPeeringConnectionOptionsInput) String() string {
  25920. return awsutil.Prettify(s)
  25921. }
  25922. // GoString returns the string representation
  25923. func (s ModifyVpcPeeringConnectionOptionsInput) GoString() string {
  25924. return s.String()
  25925. }
  25926. // Validate inspects the fields of the type to determine if they are valid.
  25927. func (s *ModifyVpcPeeringConnectionOptionsInput) Validate() error {
  25928. invalidParams := request.ErrInvalidParams{Context: "ModifyVpcPeeringConnectionOptionsInput"}
  25929. if s.VpcPeeringConnectionId == nil {
  25930. invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
  25931. }
  25932. if invalidParams.Len() > 0 {
  25933. return invalidParams
  25934. }
  25935. return nil
  25936. }
  25937. type ModifyVpcPeeringConnectionOptionsOutput struct {
  25938. _ struct{} `type:"structure"`
  25939. // Information about the VPC peering connection options for the accepter VPC.
  25940. AccepterPeeringConnectionOptions *PeeringConnectionOptions `locationName:"accepterPeeringConnectionOptions" type:"structure"`
  25941. // Information about the VPC peering connection options for the requester VPC.
  25942. RequesterPeeringConnectionOptions *PeeringConnectionOptions `locationName:"requesterPeeringConnectionOptions" type:"structure"`
  25943. }
  25944. // String returns the string representation
  25945. func (s ModifyVpcPeeringConnectionOptionsOutput) String() string {
  25946. return awsutil.Prettify(s)
  25947. }
  25948. // GoString returns the string representation
  25949. func (s ModifyVpcPeeringConnectionOptionsOutput) GoString() string {
  25950. return s.String()
  25951. }
  25952. // Contains the parameters for MonitorInstances.
  25953. type MonitorInstancesInput struct {
  25954. _ struct{} `type:"structure"`
  25955. // Checks whether you have the required permissions for the action, without
  25956. // actually making the request, and provides an error response. If you have
  25957. // the required permissions, the error response is DryRunOperation. Otherwise,
  25958. // it is UnauthorizedOperation.
  25959. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25960. // One or more instance IDs.
  25961. //
  25962. // InstanceIds is a required field
  25963. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  25964. }
  25965. // String returns the string representation
  25966. func (s MonitorInstancesInput) String() string {
  25967. return awsutil.Prettify(s)
  25968. }
  25969. // GoString returns the string representation
  25970. func (s MonitorInstancesInput) GoString() string {
  25971. return s.String()
  25972. }
  25973. // Validate inspects the fields of the type to determine if they are valid.
  25974. func (s *MonitorInstancesInput) Validate() error {
  25975. invalidParams := request.ErrInvalidParams{Context: "MonitorInstancesInput"}
  25976. if s.InstanceIds == nil {
  25977. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  25978. }
  25979. if invalidParams.Len() > 0 {
  25980. return invalidParams
  25981. }
  25982. return nil
  25983. }
  25984. // Contains the output of MonitorInstances.
  25985. type MonitorInstancesOutput struct {
  25986. _ struct{} `type:"structure"`
  25987. // Monitoring information for one or more instances.
  25988. InstanceMonitorings []*InstanceMonitoring `locationName:"instancesSet" locationNameList:"item" type:"list"`
  25989. }
  25990. // String returns the string representation
  25991. func (s MonitorInstancesOutput) String() string {
  25992. return awsutil.Prettify(s)
  25993. }
  25994. // GoString returns the string representation
  25995. func (s MonitorInstancesOutput) GoString() string {
  25996. return s.String()
  25997. }
  25998. // Describes the monitoring for the instance.
  25999. type Monitoring struct {
  26000. _ struct{} `type:"structure"`
  26001. // Indicates whether monitoring is enabled for the instance.
  26002. State *string `locationName:"state" type:"string" enum:"MonitoringState"`
  26003. }
  26004. // String returns the string representation
  26005. func (s Monitoring) String() string {
  26006. return awsutil.Prettify(s)
  26007. }
  26008. // GoString returns the string representation
  26009. func (s Monitoring) GoString() string {
  26010. return s.String()
  26011. }
  26012. // Contains the parameters for MoveAddressToVpc.
  26013. type MoveAddressToVpcInput struct {
  26014. _ struct{} `type:"structure"`
  26015. // Checks whether you have the required permissions for the action, without
  26016. // actually making the request, and provides an error response. If you have
  26017. // the required permissions, the error response is DryRunOperation. Otherwise,
  26018. // it is UnauthorizedOperation.
  26019. DryRun *bool `locationName:"dryRun" type:"boolean"`
  26020. // The Elastic IP address.
  26021. //
  26022. // PublicIp is a required field
  26023. PublicIp *string `locationName:"publicIp" type:"string" required:"true"`
  26024. }
  26025. // String returns the string representation
  26026. func (s MoveAddressToVpcInput) String() string {
  26027. return awsutil.Prettify(s)
  26028. }
  26029. // GoString returns the string representation
  26030. func (s MoveAddressToVpcInput) GoString() string {
  26031. return s.String()
  26032. }
  26033. // Validate inspects the fields of the type to determine if they are valid.
  26034. func (s *MoveAddressToVpcInput) Validate() error {
  26035. invalidParams := request.ErrInvalidParams{Context: "MoveAddressToVpcInput"}
  26036. if s.PublicIp == nil {
  26037. invalidParams.Add(request.NewErrParamRequired("PublicIp"))
  26038. }
  26039. if invalidParams.Len() > 0 {
  26040. return invalidParams
  26041. }
  26042. return nil
  26043. }
  26044. // Contains the output of MoveAddressToVpc.
  26045. type MoveAddressToVpcOutput struct {
  26046. _ struct{} `type:"structure"`
  26047. // The allocation ID for the Elastic IP address.
  26048. AllocationId *string `locationName:"allocationId" type:"string"`
  26049. // The status of the move of the IP address.
  26050. Status *string `locationName:"status" type:"string" enum:"Status"`
  26051. }
  26052. // String returns the string representation
  26053. func (s MoveAddressToVpcOutput) String() string {
  26054. return awsutil.Prettify(s)
  26055. }
  26056. // GoString returns the string representation
  26057. func (s MoveAddressToVpcOutput) GoString() string {
  26058. return s.String()
  26059. }
  26060. // Describes the status of a moving Elastic IP address.
  26061. type MovingAddressStatus struct {
  26062. _ struct{} `type:"structure"`
  26063. // The status of the Elastic IP address that's being moved to the EC2-VPC platform,
  26064. // or restored to the EC2-Classic platform.
  26065. MoveStatus *string `locationName:"moveStatus" type:"string" enum:"MoveStatus"`
  26066. // The Elastic IP address.
  26067. PublicIp *string `locationName:"publicIp" type:"string"`
  26068. }
  26069. // String returns the string representation
  26070. func (s MovingAddressStatus) String() string {
  26071. return awsutil.Prettify(s)
  26072. }
  26073. // GoString returns the string representation
  26074. func (s MovingAddressStatus) GoString() string {
  26075. return s.String()
  26076. }
  26077. // Describes a NAT gateway.
  26078. type NatGateway struct {
  26079. _ struct{} `type:"structure"`
  26080. // The date and time the NAT gateway was created.
  26081. CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"`
  26082. // The date and time the NAT gateway was deleted, if applicable.
  26083. DeleteTime *time.Time `locationName:"deleteTime" type:"timestamp" timestampFormat:"iso8601"`
  26084. // If the NAT gateway could not be created, specifies the error code for the
  26085. // failure. (InsufficientFreeAddressesInSubnet | Gateway.NotAttached | InvalidAllocationID.NotFound
  26086. // | Resource.AlreadyAssociated | InternalError | InvalidSubnetID.NotFound)
  26087. FailureCode *string `locationName:"failureCode" type:"string"`
  26088. // If the NAT gateway could not be created, specifies the error message for
  26089. // the failure, that corresponds to the error code.
  26090. //
  26091. // * For InsufficientFreeAddressesInSubnet: "Subnet has insufficient free
  26092. // addresses to create this NAT gateway"
  26093. //
  26094. // * For Gateway.NotAttached: "Network vpc-xxxxxxxx has no Internet gateway
  26095. // attached"
  26096. //
  26097. // * For InvalidAllocationID.NotFound: "Elastic IP address eipalloc-xxxxxxxx
  26098. // could not be associated with this NAT gateway"
  26099. //
  26100. // * For Resource.AlreadyAssociated: "Elastic IP address eipalloc-xxxxxxxx
  26101. // is already associated"
  26102. //
  26103. // * For InternalError: "Network interface eni-xxxxxxxx, created and used
  26104. // internally by this NAT gateway is in an invalid state. Please try again."
  26105. //
  26106. // * For InvalidSubnetID.NotFound: "The specified subnet subnet-xxxxxxxx
  26107. // does not exist or could not be found."
  26108. FailureMessage *string `locationName:"failureMessage" type:"string"`
  26109. // Information about the IP addresses and network interface associated with
  26110. // the NAT gateway.
  26111. NatGatewayAddresses []*NatGatewayAddress `locationName:"natGatewayAddressSet" locationNameList:"item" type:"list"`
  26112. // The ID of the NAT gateway.
  26113. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  26114. // Reserved. If you need to sustain traffic greater than the documented limits
  26115. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  26116. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  26117. ProvisionedBandwidth *ProvisionedBandwidth `locationName:"provisionedBandwidth" type:"structure"`
  26118. // The state of the NAT gateway.
  26119. //
  26120. // * pending: The NAT gateway is being created and is not ready to process
  26121. // traffic.
  26122. //
  26123. // * failed: The NAT gateway could not be created. Check the failureCode
  26124. // and failureMessage fields for the reason.
  26125. //
  26126. // * available: The NAT gateway is able to process traffic. This status remains
  26127. // until you delete the NAT gateway, and does not indicate the health of
  26128. // the NAT gateway.
  26129. //
  26130. // * deleting: The NAT gateway is in the process of being terminated and
  26131. // may still be processing traffic.
  26132. //
  26133. // * deleted: The NAT gateway has been terminated and is no longer processing
  26134. // traffic.
  26135. State *string `locationName:"state" type:"string" enum:"NatGatewayState"`
  26136. // The ID of the subnet in which the NAT gateway is located.
  26137. SubnetId *string `locationName:"subnetId" type:"string"`
  26138. // The ID of the VPC in which the NAT gateway is located.
  26139. VpcId *string `locationName:"vpcId" type:"string"`
  26140. }
  26141. // String returns the string representation
  26142. func (s NatGateway) String() string {
  26143. return awsutil.Prettify(s)
  26144. }
  26145. // GoString returns the string representation
  26146. func (s NatGateway) GoString() string {
  26147. return s.String()
  26148. }
  26149. // Describes the IP addresses and network interface associated with a NAT gateway.
  26150. type NatGatewayAddress struct {
  26151. _ struct{} `type:"structure"`
  26152. // The allocation ID of the Elastic IP address that's associated with the NAT
  26153. // gateway.
  26154. AllocationId *string `locationName:"allocationId" type:"string"`
  26155. // The ID of the network interface associated with the NAT gateway.
  26156. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  26157. // The private IP address associated with the Elastic IP address.
  26158. PrivateIp *string `locationName:"privateIp" type:"string"`
  26159. // The Elastic IP address associated with the NAT gateway.
  26160. PublicIp *string `locationName:"publicIp" type:"string"`
  26161. }
  26162. // String returns the string representation
  26163. func (s NatGatewayAddress) String() string {
  26164. return awsutil.Prettify(s)
  26165. }
  26166. // GoString returns the string representation
  26167. func (s NatGatewayAddress) GoString() string {
  26168. return s.String()
  26169. }
  26170. // Describes a network ACL.
  26171. type NetworkAcl struct {
  26172. _ struct{} `type:"structure"`
  26173. // Any associations between the network ACL and one or more subnets
  26174. Associations []*NetworkAclAssociation `locationName:"associationSet" locationNameList:"item" type:"list"`
  26175. // One or more entries (rules) in the network ACL.
  26176. Entries []*NetworkAclEntry `locationName:"entrySet" locationNameList:"item" type:"list"`
  26177. // Indicates whether this is the default network ACL for the VPC.
  26178. IsDefault *bool `locationName:"default" type:"boolean"`
  26179. // The ID of the network ACL.
  26180. NetworkAclId *string `locationName:"networkAclId" type:"string"`
  26181. // Any tags assigned to the network ACL.
  26182. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  26183. // The ID of the VPC for the network ACL.
  26184. VpcId *string `locationName:"vpcId" type:"string"`
  26185. }
  26186. // String returns the string representation
  26187. func (s NetworkAcl) String() string {
  26188. return awsutil.Prettify(s)
  26189. }
  26190. // GoString returns the string representation
  26191. func (s NetworkAcl) GoString() string {
  26192. return s.String()
  26193. }
  26194. // Describes an association between a network ACL and a subnet.
  26195. type NetworkAclAssociation struct {
  26196. _ struct{} `type:"structure"`
  26197. // The ID of the association between a network ACL and a subnet.
  26198. NetworkAclAssociationId *string `locationName:"networkAclAssociationId" type:"string"`
  26199. // The ID of the network ACL.
  26200. NetworkAclId *string `locationName:"networkAclId" type:"string"`
  26201. // The ID of the subnet.
  26202. SubnetId *string `locationName:"subnetId" type:"string"`
  26203. }
  26204. // String returns the string representation
  26205. func (s NetworkAclAssociation) String() string {
  26206. return awsutil.Prettify(s)
  26207. }
  26208. // GoString returns the string representation
  26209. func (s NetworkAclAssociation) GoString() string {
  26210. return s.String()
  26211. }
  26212. // Describes an entry in a network ACL.
  26213. type NetworkAclEntry struct {
  26214. _ struct{} `type:"structure"`
  26215. // The network range to allow or deny, in CIDR notation.
  26216. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  26217. // Indicates whether the rule is an egress rule (applied to traffic leaving
  26218. // the subnet).
  26219. Egress *bool `locationName:"egress" type:"boolean"`
  26220. // ICMP protocol: The ICMP type and code.
  26221. IcmpTypeCode *IcmpTypeCode `locationName:"icmpTypeCode" type:"structure"`
  26222. // TCP or UDP protocols: The range of ports the rule applies to.
  26223. PortRange *PortRange `locationName:"portRange" type:"structure"`
  26224. // The protocol. A value of -1 means all protocols.
  26225. Protocol *string `locationName:"protocol" type:"string"`
  26226. // Indicates whether to allow or deny the traffic that matches the rule.
  26227. RuleAction *string `locationName:"ruleAction" type:"string" enum:"RuleAction"`
  26228. // The rule number for the entry. ACL entries are processed in ascending order
  26229. // by rule number.
  26230. RuleNumber *int64 `locationName:"ruleNumber" type:"integer"`
  26231. }
  26232. // String returns the string representation
  26233. func (s NetworkAclEntry) String() string {
  26234. return awsutil.Prettify(s)
  26235. }
  26236. // GoString returns the string representation
  26237. func (s NetworkAclEntry) GoString() string {
  26238. return s.String()
  26239. }
  26240. // Describes a network interface.
  26241. type NetworkInterface struct {
  26242. _ struct{} `type:"structure"`
  26243. // The association information for an Elastic IP associated with the network
  26244. // interface.
  26245. Association *NetworkInterfaceAssociation `locationName:"association" type:"structure"`
  26246. // The network interface attachment.
  26247. Attachment *NetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
  26248. // The Availability Zone.
  26249. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  26250. // A description.
  26251. Description *string `locationName:"description" type:"string"`
  26252. // Any security groups for the network interface.
  26253. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  26254. // The type of interface.
  26255. InterfaceType *string `locationName:"interfaceType" type:"string" enum:"NetworkInterfaceType"`
  26256. // The MAC address.
  26257. MacAddress *string `locationName:"macAddress" type:"string"`
  26258. // The ID of the network interface.
  26259. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  26260. // The AWS account ID of the owner of the network interface.
  26261. OwnerId *string `locationName:"ownerId" type:"string"`
  26262. // The private DNS name.
  26263. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  26264. // The IP address of the network interface within the subnet.
  26265. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  26266. // The private IP addresses associated with the network interface.
  26267. PrivateIpAddresses []*NetworkInterfacePrivateIpAddress `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"`
  26268. // The ID of the entity that launched the instance on your behalf (for example,
  26269. // AWS Management Console or Auto Scaling).
  26270. RequesterId *string `locationName:"requesterId" type:"string"`
  26271. // Indicates whether the network interface is being managed by AWS.
  26272. RequesterManaged *bool `locationName:"requesterManaged" type:"boolean"`
  26273. // Indicates whether traffic to or from the instance is validated.
  26274. SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
  26275. // The status of the network interface.
  26276. Status *string `locationName:"status" type:"string" enum:"NetworkInterfaceStatus"`
  26277. // The ID of the subnet.
  26278. SubnetId *string `locationName:"subnetId" type:"string"`
  26279. // Any tags assigned to the network interface.
  26280. TagSet []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  26281. // The ID of the VPC.
  26282. VpcId *string `locationName:"vpcId" type:"string"`
  26283. }
  26284. // String returns the string representation
  26285. func (s NetworkInterface) String() string {
  26286. return awsutil.Prettify(s)
  26287. }
  26288. // GoString returns the string representation
  26289. func (s NetworkInterface) GoString() string {
  26290. return s.String()
  26291. }
  26292. // Describes association information for an Elastic IP address.
  26293. type NetworkInterfaceAssociation struct {
  26294. _ struct{} `type:"structure"`
  26295. // The allocation ID.
  26296. AllocationId *string `locationName:"allocationId" type:"string"`
  26297. // The association ID.
  26298. AssociationId *string `locationName:"associationId" type:"string"`
  26299. // The ID of the Elastic IP address owner.
  26300. IpOwnerId *string `locationName:"ipOwnerId" type:"string"`
  26301. // The public DNS name.
  26302. PublicDnsName *string `locationName:"publicDnsName" type:"string"`
  26303. // The address of the Elastic IP address bound to the network interface.
  26304. PublicIp *string `locationName:"publicIp" type:"string"`
  26305. }
  26306. // String returns the string representation
  26307. func (s NetworkInterfaceAssociation) String() string {
  26308. return awsutil.Prettify(s)
  26309. }
  26310. // GoString returns the string representation
  26311. func (s NetworkInterfaceAssociation) GoString() string {
  26312. return s.String()
  26313. }
  26314. // Describes a network interface attachment.
  26315. type NetworkInterfaceAttachment struct {
  26316. _ struct{} `type:"structure"`
  26317. // The timestamp indicating when the attachment initiated.
  26318. AttachTime *time.Time `locationName:"attachTime" type:"timestamp" timestampFormat:"iso8601"`
  26319. // The ID of the network interface attachment.
  26320. AttachmentId *string `locationName:"attachmentId" type:"string"`
  26321. // Indicates whether the network interface is deleted when the instance is terminated.
  26322. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  26323. // The device index of the network interface attachment on the instance.
  26324. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
  26325. // The ID of the instance.
  26326. InstanceId *string `locationName:"instanceId" type:"string"`
  26327. // The AWS account ID of the owner of the instance.
  26328. InstanceOwnerId *string `locationName:"instanceOwnerId" type:"string"`
  26329. // The attachment state.
  26330. Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
  26331. }
  26332. // String returns the string representation
  26333. func (s NetworkInterfaceAttachment) String() string {
  26334. return awsutil.Prettify(s)
  26335. }
  26336. // GoString returns the string representation
  26337. func (s NetworkInterfaceAttachment) GoString() string {
  26338. return s.String()
  26339. }
  26340. // Describes an attachment change.
  26341. type NetworkInterfaceAttachmentChanges struct {
  26342. _ struct{} `type:"structure"`
  26343. // The ID of the network interface attachment.
  26344. AttachmentId *string `locationName:"attachmentId" type:"string"`
  26345. // Indicates whether the network interface is deleted when the instance is terminated.
  26346. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  26347. }
  26348. // String returns the string representation
  26349. func (s NetworkInterfaceAttachmentChanges) String() string {
  26350. return awsutil.Prettify(s)
  26351. }
  26352. // GoString returns the string representation
  26353. func (s NetworkInterfaceAttachmentChanges) GoString() string {
  26354. return s.String()
  26355. }
  26356. // Describes the private IP address of a network interface.
  26357. type NetworkInterfacePrivateIpAddress struct {
  26358. _ struct{} `type:"structure"`
  26359. // The association information for an Elastic IP address associated with the
  26360. // network interface.
  26361. Association *NetworkInterfaceAssociation `locationName:"association" type:"structure"`
  26362. // Indicates whether this IP address is the primary private IP address of the
  26363. // network interface.
  26364. Primary *bool `locationName:"primary" type:"boolean"`
  26365. // The private DNS name.
  26366. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  26367. // The private IP address.
  26368. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  26369. }
  26370. // String returns the string representation
  26371. func (s NetworkInterfacePrivateIpAddress) String() string {
  26372. return awsutil.Prettify(s)
  26373. }
  26374. // GoString returns the string representation
  26375. func (s NetworkInterfacePrivateIpAddress) GoString() string {
  26376. return s.String()
  26377. }
  26378. type NewDhcpConfiguration struct {
  26379. _ struct{} `type:"structure"`
  26380. Key *string `locationName:"key" type:"string"`
  26381. Values []*string `locationName:"Value" locationNameList:"item" type:"list"`
  26382. }
  26383. // String returns the string representation
  26384. func (s NewDhcpConfiguration) String() string {
  26385. return awsutil.Prettify(s)
  26386. }
  26387. // GoString returns the string representation
  26388. func (s NewDhcpConfiguration) GoString() string {
  26389. return s.String()
  26390. }
  26391. // Describes the VPC peering connection options.
  26392. type PeeringConnectionOptions struct {
  26393. _ struct{} `type:"structure"`
  26394. // If true, enables a local VPC to resolve public DNS hostnames to private IP
  26395. // addresses when queried from instances in the peer VPC.
  26396. AllowDnsResolutionFromRemoteVpc *bool `locationName:"allowDnsResolutionFromRemoteVpc" type:"boolean"`
  26397. // If true, enables outbound communication from an EC2-Classic instance that's
  26398. // linked to a local VPC via ClassicLink to instances in a peer VPC.
  26399. AllowEgressFromLocalClassicLinkToRemoteVpc *bool `locationName:"allowEgressFromLocalClassicLinkToRemoteVpc" type:"boolean"`
  26400. // If true, enables outbound communication from instances in a local VPC to
  26401. // an EC2-Classic instance that's linked to a peer VPC via ClassicLink.
  26402. AllowEgressFromLocalVpcToRemoteClassicLink *bool `locationName:"allowEgressFromLocalVpcToRemoteClassicLink" type:"boolean"`
  26403. }
  26404. // String returns the string representation
  26405. func (s PeeringConnectionOptions) String() string {
  26406. return awsutil.Prettify(s)
  26407. }
  26408. // GoString returns the string representation
  26409. func (s PeeringConnectionOptions) GoString() string {
  26410. return s.String()
  26411. }
  26412. // The VPC peering connection options.
  26413. type PeeringConnectionOptionsRequest struct {
  26414. _ struct{} `type:"structure"`
  26415. // If true, enables a local VPC to resolve public DNS hostnames to private IP
  26416. // addresses when queried from instances in the peer VPC.
  26417. AllowDnsResolutionFromRemoteVpc *bool `type:"boolean"`
  26418. // If true, enables outbound communication from an EC2-Classic instance that's
  26419. // linked to a local VPC via ClassicLink to instances in a peer VPC.
  26420. AllowEgressFromLocalClassicLinkToRemoteVpc *bool `type:"boolean"`
  26421. // If true, enables outbound communication from instances in a local VPC to
  26422. // an EC2-Classic instance that's linked to a peer VPC via ClassicLink.
  26423. AllowEgressFromLocalVpcToRemoteClassicLink *bool `type:"boolean"`
  26424. }
  26425. // String returns the string representation
  26426. func (s PeeringConnectionOptionsRequest) String() string {
  26427. return awsutil.Prettify(s)
  26428. }
  26429. // GoString returns the string representation
  26430. func (s PeeringConnectionOptionsRequest) GoString() string {
  26431. return s.String()
  26432. }
  26433. // Describes the placement for the instance.
  26434. type Placement struct {
  26435. _ struct{} `type:"structure"`
  26436. // The affinity setting for the instance on the Dedicated Host. This parameter
  26437. // is not supported for the ImportInstance command.
  26438. Affinity *string `locationName:"affinity" type:"string"`
  26439. // The Availability Zone of the instance.
  26440. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  26441. // The name of the placement group the instance is in (for cluster compute instances).
  26442. GroupName *string `locationName:"groupName" type:"string"`
  26443. // The ID of the Dedicted host on which the instance resides. This parameter
  26444. // is not support for the ImportInstance command.
  26445. HostId *string `locationName:"hostId" type:"string"`
  26446. // The tenancy of the instance (if the instance is running in a VPC). An instance
  26447. // with a tenancy of dedicated runs on single-tenant hardware. The host tenancy
  26448. // is not supported for the ImportInstance command.
  26449. Tenancy *string `locationName:"tenancy" type:"string" enum:"Tenancy"`
  26450. }
  26451. // String returns the string representation
  26452. func (s Placement) String() string {
  26453. return awsutil.Prettify(s)
  26454. }
  26455. // GoString returns the string representation
  26456. func (s Placement) GoString() string {
  26457. return s.String()
  26458. }
  26459. // Describes a placement group.
  26460. type PlacementGroup struct {
  26461. _ struct{} `type:"structure"`
  26462. // The name of the placement group.
  26463. GroupName *string `locationName:"groupName" type:"string"`
  26464. // The state of the placement group.
  26465. State *string `locationName:"state" type:"string" enum:"PlacementGroupState"`
  26466. // The placement strategy.
  26467. Strategy *string `locationName:"strategy" type:"string" enum:"PlacementStrategy"`
  26468. }
  26469. // String returns the string representation
  26470. func (s PlacementGroup) String() string {
  26471. return awsutil.Prettify(s)
  26472. }
  26473. // GoString returns the string representation
  26474. func (s PlacementGroup) GoString() string {
  26475. return s.String()
  26476. }
  26477. // Describes a range of ports.
  26478. type PortRange struct {
  26479. _ struct{} `type:"structure"`
  26480. // The first port in the range.
  26481. From *int64 `locationName:"from" type:"integer"`
  26482. // The last port in the range.
  26483. To *int64 `locationName:"to" type:"integer"`
  26484. }
  26485. // String returns the string representation
  26486. func (s PortRange) String() string {
  26487. return awsutil.Prettify(s)
  26488. }
  26489. // GoString returns the string representation
  26490. func (s PortRange) GoString() string {
  26491. return s.String()
  26492. }
  26493. // Describes prefixes for AWS services.
  26494. type PrefixList struct {
  26495. _ struct{} `type:"structure"`
  26496. // The IP address range of the AWS service.
  26497. Cidrs []*string `locationName:"cidrSet" locationNameList:"item" type:"list"`
  26498. // The ID of the prefix.
  26499. PrefixListId *string `locationName:"prefixListId" type:"string"`
  26500. // The name of the prefix.
  26501. PrefixListName *string `locationName:"prefixListName" type:"string"`
  26502. }
  26503. // String returns the string representation
  26504. func (s PrefixList) String() string {
  26505. return awsutil.Prettify(s)
  26506. }
  26507. // GoString returns the string representation
  26508. func (s PrefixList) GoString() string {
  26509. return s.String()
  26510. }
  26511. // The ID of the prefix.
  26512. type PrefixListId struct {
  26513. _ struct{} `type:"structure"`
  26514. // The ID of the prefix.
  26515. PrefixListId *string `locationName:"prefixListId" type:"string"`
  26516. }
  26517. // String returns the string representation
  26518. func (s PrefixListId) String() string {
  26519. return awsutil.Prettify(s)
  26520. }
  26521. // GoString returns the string representation
  26522. func (s PrefixListId) GoString() string {
  26523. return s.String()
  26524. }
  26525. // Describes the price for a Reserved Instance.
  26526. type PriceSchedule struct {
  26527. _ struct{} `type:"structure"`
  26528. // The current price schedule, as determined by the term remaining for the Reserved
  26529. // Instance in the listing.
  26530. //
  26531. // A specific price schedule is always in effect, but only one price schedule
  26532. // can be active at any time. Take, for example, a Reserved Instance listing
  26533. // that has five months remaining in its term. When you specify price schedules
  26534. // for five months and two months, this means that schedule 1, covering the
  26535. // first three months of the remaining term, will be active during months 5,
  26536. // 4, and 3. Then schedule 2, covering the last two months of the term, will
  26537. // be active for months 2 and 1.
  26538. Active *bool `locationName:"active" type:"boolean"`
  26539. // The currency for transacting the Reserved Instance resale. At this time,
  26540. // the only supported currency is USD.
  26541. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  26542. // The fixed price for the term.
  26543. Price *float64 `locationName:"price" type:"double"`
  26544. // The number of months remaining in the reservation. For example, 2 is the
  26545. // second to the last month before the capacity reservation expires.
  26546. Term *int64 `locationName:"term" type:"long"`
  26547. }
  26548. // String returns the string representation
  26549. func (s PriceSchedule) String() string {
  26550. return awsutil.Prettify(s)
  26551. }
  26552. // GoString returns the string representation
  26553. func (s PriceSchedule) GoString() string {
  26554. return s.String()
  26555. }
  26556. // Describes the price for a Reserved Instance.
  26557. type PriceScheduleSpecification struct {
  26558. _ struct{} `type:"structure"`
  26559. // The currency for transacting the Reserved Instance resale. At this time,
  26560. // the only supported currency is USD.
  26561. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  26562. // The fixed price for the term.
  26563. Price *float64 `locationName:"price" type:"double"`
  26564. // The number of months remaining in the reservation. For example, 2 is the
  26565. // second to the last month before the capacity reservation expires.
  26566. Term *int64 `locationName:"term" type:"long"`
  26567. }
  26568. // String returns the string representation
  26569. func (s PriceScheduleSpecification) String() string {
  26570. return awsutil.Prettify(s)
  26571. }
  26572. // GoString returns the string representation
  26573. func (s PriceScheduleSpecification) GoString() string {
  26574. return s.String()
  26575. }
  26576. // Describes a Reserved Instance offering.
  26577. type PricingDetail struct {
  26578. _ struct{} `type:"structure"`
  26579. // The number of reservations available for the price.
  26580. Count *int64 `locationName:"count" type:"integer"`
  26581. // The price per instance.
  26582. Price *float64 `locationName:"price" type:"double"`
  26583. }
  26584. // String returns the string representation
  26585. func (s PricingDetail) String() string {
  26586. return awsutil.Prettify(s)
  26587. }
  26588. // GoString returns the string representation
  26589. func (s PricingDetail) GoString() string {
  26590. return s.String()
  26591. }
  26592. // Describes a secondary private IP address for a network interface.
  26593. type PrivateIpAddressSpecification struct {
  26594. _ struct{} `type:"structure"`
  26595. // Indicates whether the private IP address is the primary private IP address.
  26596. // Only one IP address can be designated as primary.
  26597. Primary *bool `locationName:"primary" type:"boolean"`
  26598. // The private IP addresses.
  26599. //
  26600. // PrivateIpAddress is a required field
  26601. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string" required:"true"`
  26602. }
  26603. // String returns the string representation
  26604. func (s PrivateIpAddressSpecification) String() string {
  26605. return awsutil.Prettify(s)
  26606. }
  26607. // GoString returns the string representation
  26608. func (s PrivateIpAddressSpecification) GoString() string {
  26609. return s.String()
  26610. }
  26611. // Validate inspects the fields of the type to determine if they are valid.
  26612. func (s *PrivateIpAddressSpecification) Validate() error {
  26613. invalidParams := request.ErrInvalidParams{Context: "PrivateIpAddressSpecification"}
  26614. if s.PrivateIpAddress == nil {
  26615. invalidParams.Add(request.NewErrParamRequired("PrivateIpAddress"))
  26616. }
  26617. if invalidParams.Len() > 0 {
  26618. return invalidParams
  26619. }
  26620. return nil
  26621. }
  26622. // Describes a product code.
  26623. type ProductCode struct {
  26624. _ struct{} `type:"structure"`
  26625. // The product code.
  26626. ProductCodeId *string `locationName:"productCode" type:"string"`
  26627. // The type of product code.
  26628. ProductCodeType *string `locationName:"type" type:"string" enum:"ProductCodeValues"`
  26629. }
  26630. // String returns the string representation
  26631. func (s ProductCode) String() string {
  26632. return awsutil.Prettify(s)
  26633. }
  26634. // GoString returns the string representation
  26635. func (s ProductCode) GoString() string {
  26636. return s.String()
  26637. }
  26638. // Describes a virtual private gateway propagating route.
  26639. type PropagatingVgw struct {
  26640. _ struct{} `type:"structure"`
  26641. // The ID of the virtual private gateway (VGW).
  26642. GatewayId *string `locationName:"gatewayId" type:"string"`
  26643. }
  26644. // String returns the string representation
  26645. func (s PropagatingVgw) String() string {
  26646. return awsutil.Prettify(s)
  26647. }
  26648. // GoString returns the string representation
  26649. func (s PropagatingVgw) GoString() string {
  26650. return s.String()
  26651. }
  26652. // Reserved. If you need to sustain traffic greater than the documented limits
  26653. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  26654. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  26655. type ProvisionedBandwidth struct {
  26656. _ struct{} `type:"structure"`
  26657. // Reserved. If you need to sustain traffic greater than the documented limits
  26658. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  26659. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  26660. ProvisionTime *time.Time `locationName:"provisionTime" type:"timestamp" timestampFormat:"iso8601"`
  26661. // Reserved. If you need to sustain traffic greater than the documented limits
  26662. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  26663. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  26664. Provisioned *string `locationName:"provisioned" type:"string"`
  26665. // Reserved. If you need to sustain traffic greater than the documented limits
  26666. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  26667. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  26668. RequestTime *time.Time `locationName:"requestTime" type:"timestamp" timestampFormat:"iso8601"`
  26669. // Reserved. If you need to sustain traffic greater than the documented limits
  26670. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  26671. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  26672. Requested *string `locationName:"requested" type:"string"`
  26673. // Reserved. If you need to sustain traffic greater than the documented limits
  26674. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  26675. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  26676. Status *string `locationName:"status" type:"string"`
  26677. }
  26678. // String returns the string representation
  26679. func (s ProvisionedBandwidth) String() string {
  26680. return awsutil.Prettify(s)
  26681. }
  26682. // GoString returns the string representation
  26683. func (s ProvisionedBandwidth) GoString() string {
  26684. return s.String()
  26685. }
  26686. // Describes the result of the purchase.
  26687. type Purchase struct {
  26688. _ struct{} `type:"structure"`
  26689. // The currency in which the UpfrontPrice and HourlyPrice amounts are specified.
  26690. // At this time, the only supported currency is USD.
  26691. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  26692. // The duration of the reservation's term in seconds.
  26693. Duration *int64 `locationName:"duration" type:"integer"`
  26694. // The IDs of the Dedicated Hosts associated with the reservation.
  26695. HostIdSet []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
  26696. // The ID of the reservation.
  26697. HostReservationId *string `locationName:"hostReservationId" type:"string"`
  26698. // The hourly price of the reservation per hour.
  26699. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  26700. // The instance family on the Dedicated Host that the reservation can be associated
  26701. // with.
  26702. InstanceFamily *string `locationName:"instanceFamily" type:"string"`
  26703. // The payment option for the reservation.
  26704. PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
  26705. // The upfront price of the reservation.
  26706. UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
  26707. }
  26708. // String returns the string representation
  26709. func (s Purchase) String() string {
  26710. return awsutil.Prettify(s)
  26711. }
  26712. // GoString returns the string representation
  26713. func (s Purchase) GoString() string {
  26714. return s.String()
  26715. }
  26716. type PurchaseHostReservationInput struct {
  26717. _ struct{} `type:"structure"`
  26718. // Unique, case-sensitive identifier you provide to ensure idempotency of the
  26719. // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  26720. // in the Amazon Elastic Compute Cloud User Guide.
  26721. ClientToken *string `type:"string"`
  26722. // The currency in which the totalUpfrontPrice, LimitPrice, and totalHourlyPrice
  26723. // amounts are specified. At this time, the only supported currency is USD.
  26724. CurrencyCode *string `type:"string" enum:"CurrencyCodeValues"`
  26725. // The ID/s of the Dedicated Host/s that the reservation will be associated
  26726. // with.
  26727. //
  26728. // HostIdSet is a required field
  26729. HostIdSet []*string `locationNameList:"item" type:"list" required:"true"`
  26730. // The specified limit is checked against the total upfront cost of the reservation
  26731. // (calculated as the offering's upfront cost multiplied by the host count).
  26732. // If the total upfront cost is greater than the specified price limit, the
  26733. // request will fail. This is used to ensure that the purchase does not exceed
  26734. // the expected upfront cost of the purchase. At this time, the only supported
  26735. // currency is USD. For example, to indicate a limit price of USD 100, specify
  26736. // 100.00.
  26737. LimitPrice *string `type:"string"`
  26738. // The ID of the offering.
  26739. //
  26740. // OfferingId is a required field
  26741. OfferingId *string `type:"string" required:"true"`
  26742. }
  26743. // String returns the string representation
  26744. func (s PurchaseHostReservationInput) String() string {
  26745. return awsutil.Prettify(s)
  26746. }
  26747. // GoString returns the string representation
  26748. func (s PurchaseHostReservationInput) GoString() string {
  26749. return s.String()
  26750. }
  26751. // Validate inspects the fields of the type to determine if they are valid.
  26752. func (s *PurchaseHostReservationInput) Validate() error {
  26753. invalidParams := request.ErrInvalidParams{Context: "PurchaseHostReservationInput"}
  26754. if s.HostIdSet == nil {
  26755. invalidParams.Add(request.NewErrParamRequired("HostIdSet"))
  26756. }
  26757. if s.OfferingId == nil {
  26758. invalidParams.Add(request.NewErrParamRequired("OfferingId"))
  26759. }
  26760. if invalidParams.Len() > 0 {
  26761. return invalidParams
  26762. }
  26763. return nil
  26764. }
  26765. type PurchaseHostReservationOutput struct {
  26766. _ struct{} `type:"structure"`
  26767. // Unique, case-sensitive identifier you provide to ensure idempotency of the
  26768. // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  26769. // in the Amazon Elastic Compute Cloud User Guide
  26770. ClientToken *string `locationName:"clientToken" type:"string"`
  26771. // The currency in which the totalUpfrontPrice and totalHourlyPrice amounts
  26772. // are specified. At this time, the only supported currency is USD.
  26773. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  26774. // Describes the details of the purchase.
  26775. Purchase []*Purchase `locationName:"purchase" type:"list"`
  26776. // The total hourly price of the reservation calculated per hour.
  26777. TotalHourlyPrice *string `locationName:"totalHourlyPrice" type:"string"`
  26778. // The total amount that will be charged to your account when you purchase the
  26779. // reservation.
  26780. TotalUpfrontPrice *string `locationName:"totalUpfrontPrice" type:"string"`
  26781. }
  26782. // String returns the string representation
  26783. func (s PurchaseHostReservationOutput) String() string {
  26784. return awsutil.Prettify(s)
  26785. }
  26786. // GoString returns the string representation
  26787. func (s PurchaseHostReservationOutput) GoString() string {
  26788. return s.String()
  26789. }
  26790. // Describes a request to purchase Scheduled Instances.
  26791. type PurchaseRequest struct {
  26792. _ struct{} `type:"structure"`
  26793. // The number of instances.
  26794. //
  26795. // InstanceCount is a required field
  26796. InstanceCount *int64 `type:"integer" required:"true"`
  26797. // The purchase token.
  26798. //
  26799. // PurchaseToken is a required field
  26800. PurchaseToken *string `type:"string" required:"true"`
  26801. }
  26802. // String returns the string representation
  26803. func (s PurchaseRequest) String() string {
  26804. return awsutil.Prettify(s)
  26805. }
  26806. // GoString returns the string representation
  26807. func (s PurchaseRequest) GoString() string {
  26808. return s.String()
  26809. }
  26810. // Validate inspects the fields of the type to determine if they are valid.
  26811. func (s *PurchaseRequest) Validate() error {
  26812. invalidParams := request.ErrInvalidParams{Context: "PurchaseRequest"}
  26813. if s.InstanceCount == nil {
  26814. invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
  26815. }
  26816. if s.PurchaseToken == nil {
  26817. invalidParams.Add(request.NewErrParamRequired("PurchaseToken"))
  26818. }
  26819. if invalidParams.Len() > 0 {
  26820. return invalidParams
  26821. }
  26822. return nil
  26823. }
  26824. // Contains the parameters for PurchaseReservedInstancesOffering.
  26825. type PurchaseReservedInstancesOfferingInput struct {
  26826. _ struct{} `type:"structure"`
  26827. // Checks whether you have the required permissions for the action, without
  26828. // actually making the request, and provides an error response. If you have
  26829. // the required permissions, the error response is DryRunOperation. Otherwise,
  26830. // it is UnauthorizedOperation.
  26831. DryRun *bool `locationName:"dryRun" type:"boolean"`
  26832. // The number of Reserved Instances to purchase.
  26833. //
  26834. // InstanceCount is a required field
  26835. InstanceCount *int64 `type:"integer" required:"true"`
  26836. // Specified for Reserved Instance Marketplace offerings to limit the total
  26837. // order and ensure that the Reserved Instances are not purchased at unexpected
  26838. // prices.
  26839. LimitPrice *ReservedInstanceLimitPrice `locationName:"limitPrice" type:"structure"`
  26840. // The ID of the Reserved Instance offering to purchase.
  26841. //
  26842. // ReservedInstancesOfferingId is a required field
  26843. ReservedInstancesOfferingId *string `type:"string" required:"true"`
  26844. }
  26845. // String returns the string representation
  26846. func (s PurchaseReservedInstancesOfferingInput) String() string {
  26847. return awsutil.Prettify(s)
  26848. }
  26849. // GoString returns the string representation
  26850. func (s PurchaseReservedInstancesOfferingInput) GoString() string {
  26851. return s.String()
  26852. }
  26853. // Validate inspects the fields of the type to determine if they are valid.
  26854. func (s *PurchaseReservedInstancesOfferingInput) Validate() error {
  26855. invalidParams := request.ErrInvalidParams{Context: "PurchaseReservedInstancesOfferingInput"}
  26856. if s.InstanceCount == nil {
  26857. invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
  26858. }
  26859. if s.ReservedInstancesOfferingId == nil {
  26860. invalidParams.Add(request.NewErrParamRequired("ReservedInstancesOfferingId"))
  26861. }
  26862. if invalidParams.Len() > 0 {
  26863. return invalidParams
  26864. }
  26865. return nil
  26866. }
  26867. // Contains the output of PurchaseReservedInstancesOffering.
  26868. type PurchaseReservedInstancesOfferingOutput struct {
  26869. _ struct{} `type:"structure"`
  26870. // The IDs of the purchased Reserved Instances.
  26871. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  26872. }
  26873. // String returns the string representation
  26874. func (s PurchaseReservedInstancesOfferingOutput) String() string {
  26875. return awsutil.Prettify(s)
  26876. }
  26877. // GoString returns the string representation
  26878. func (s PurchaseReservedInstancesOfferingOutput) GoString() string {
  26879. return s.String()
  26880. }
  26881. // Contains the parameters for PurchaseScheduledInstances.
  26882. type PurchaseScheduledInstancesInput struct {
  26883. _ struct{} `type:"structure"`
  26884. // Unique, case-sensitive identifier that ensures the idempotency of the request.
  26885. // For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  26886. ClientToken *string `type:"string" idempotencyToken:"true"`
  26887. // Checks whether you have the required permissions for the action, without
  26888. // actually making the request, and provides an error response. If you have
  26889. // the required permissions, the error response is DryRunOperation. Otherwise,
  26890. // it is UnauthorizedOperation.
  26891. DryRun *bool `type:"boolean"`
  26892. // One or more purchase requests.
  26893. //
  26894. // PurchaseRequests is a required field
  26895. PurchaseRequests []*PurchaseRequest `locationName:"PurchaseRequest" locationNameList:"PurchaseRequest" min:"1" type:"list" required:"true"`
  26896. }
  26897. // String returns the string representation
  26898. func (s PurchaseScheduledInstancesInput) String() string {
  26899. return awsutil.Prettify(s)
  26900. }
  26901. // GoString returns the string representation
  26902. func (s PurchaseScheduledInstancesInput) GoString() string {
  26903. return s.String()
  26904. }
  26905. // Validate inspects the fields of the type to determine if they are valid.
  26906. func (s *PurchaseScheduledInstancesInput) Validate() error {
  26907. invalidParams := request.ErrInvalidParams{Context: "PurchaseScheduledInstancesInput"}
  26908. if s.PurchaseRequests == nil {
  26909. invalidParams.Add(request.NewErrParamRequired("PurchaseRequests"))
  26910. }
  26911. if s.PurchaseRequests != nil && len(s.PurchaseRequests) < 1 {
  26912. invalidParams.Add(request.NewErrParamMinLen("PurchaseRequests", 1))
  26913. }
  26914. if s.PurchaseRequests != nil {
  26915. for i, v := range s.PurchaseRequests {
  26916. if v == nil {
  26917. continue
  26918. }
  26919. if err := v.Validate(); err != nil {
  26920. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PurchaseRequests", i), err.(request.ErrInvalidParams))
  26921. }
  26922. }
  26923. }
  26924. if invalidParams.Len() > 0 {
  26925. return invalidParams
  26926. }
  26927. return nil
  26928. }
  26929. // Contains the output of PurchaseScheduledInstances.
  26930. type PurchaseScheduledInstancesOutput struct {
  26931. _ struct{} `type:"structure"`
  26932. // Information about the Scheduled Instances.
  26933. ScheduledInstanceSet []*ScheduledInstance `locationName:"scheduledInstanceSet" locationNameList:"item" type:"list"`
  26934. }
  26935. // String returns the string representation
  26936. func (s PurchaseScheduledInstancesOutput) String() string {
  26937. return awsutil.Prettify(s)
  26938. }
  26939. // GoString returns the string representation
  26940. func (s PurchaseScheduledInstancesOutput) GoString() string {
  26941. return s.String()
  26942. }
  26943. // Contains the parameters for RebootInstances.
  26944. type RebootInstancesInput struct {
  26945. _ struct{} `type:"structure"`
  26946. // Checks whether you have the required permissions for the action, without
  26947. // actually making the request, and provides an error response. If you have
  26948. // the required permissions, the error response is DryRunOperation. Otherwise,
  26949. // it is UnauthorizedOperation.
  26950. DryRun *bool `locationName:"dryRun" type:"boolean"`
  26951. // One or more instance IDs.
  26952. //
  26953. // InstanceIds is a required field
  26954. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  26955. }
  26956. // String returns the string representation
  26957. func (s RebootInstancesInput) String() string {
  26958. return awsutil.Prettify(s)
  26959. }
  26960. // GoString returns the string representation
  26961. func (s RebootInstancesInput) GoString() string {
  26962. return s.String()
  26963. }
  26964. // Validate inspects the fields of the type to determine if they are valid.
  26965. func (s *RebootInstancesInput) Validate() error {
  26966. invalidParams := request.ErrInvalidParams{Context: "RebootInstancesInput"}
  26967. if s.InstanceIds == nil {
  26968. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  26969. }
  26970. if invalidParams.Len() > 0 {
  26971. return invalidParams
  26972. }
  26973. return nil
  26974. }
  26975. type RebootInstancesOutput struct {
  26976. _ struct{} `type:"structure"`
  26977. }
  26978. // String returns the string representation
  26979. func (s RebootInstancesOutput) String() string {
  26980. return awsutil.Prettify(s)
  26981. }
  26982. // GoString returns the string representation
  26983. func (s RebootInstancesOutput) GoString() string {
  26984. return s.String()
  26985. }
  26986. // Describes a recurring charge.
  26987. type RecurringCharge struct {
  26988. _ struct{} `type:"structure"`
  26989. // The amount of the recurring charge.
  26990. Amount *float64 `locationName:"amount" type:"double"`
  26991. // The frequency of the recurring charge.
  26992. Frequency *string `locationName:"frequency" type:"string" enum:"RecurringChargeFrequency"`
  26993. }
  26994. // String returns the string representation
  26995. func (s RecurringCharge) String() string {
  26996. return awsutil.Prettify(s)
  26997. }
  26998. // GoString returns the string representation
  26999. func (s RecurringCharge) GoString() string {
  27000. return s.String()
  27001. }
  27002. // Describes a region.
  27003. type Region struct {
  27004. _ struct{} `type:"structure"`
  27005. // The region service endpoint.
  27006. Endpoint *string `locationName:"regionEndpoint" type:"string"`
  27007. // The name of the region.
  27008. RegionName *string `locationName:"regionName" type:"string"`
  27009. }
  27010. // String returns the string representation
  27011. func (s Region) String() string {
  27012. return awsutil.Prettify(s)
  27013. }
  27014. // GoString returns the string representation
  27015. func (s Region) GoString() string {
  27016. return s.String()
  27017. }
  27018. // Contains the parameters for RegisterImage.
  27019. type RegisterImageInput struct {
  27020. _ struct{} `type:"structure"`
  27021. // The architecture of the AMI.
  27022. //
  27023. // Default: For Amazon EBS-backed AMIs, i386. For instance store-backed AMIs,
  27024. // the architecture specified in the manifest file.
  27025. Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
  27026. // One or more block device mapping entries.
  27027. BlockDeviceMappings []*BlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
  27028. // A description for your AMI.
  27029. Description *string `locationName:"description" type:"string"`
  27030. // Checks whether you have the required permissions for the action, without
  27031. // actually making the request, and provides an error response. If you have
  27032. // the required permissions, the error response is DryRunOperation. Otherwise,
  27033. // it is UnauthorizedOperation.
  27034. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27035. // Set to true to enable enhanced networking with ENA for the AMI and any instances
  27036. // that you launch from the AMI.
  27037. //
  27038. // This option is supported only for HVM AMIs. Specifying this option with a
  27039. // PV AMI can make instances launched from the AMI unreachable.
  27040. EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
  27041. // The full path to your AMI manifest in Amazon S3 storage.
  27042. ImageLocation *string `type:"string"`
  27043. // The ID of the kernel.
  27044. KernelId *string `locationName:"kernelId" type:"string"`
  27045. // A name for your AMI.
  27046. //
  27047. // Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets
  27048. // ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('),
  27049. // at-signs (@), or underscores(_)
  27050. //
  27051. // Name is a required field
  27052. Name *string `locationName:"name" type:"string" required:"true"`
  27053. // The ID of the RAM disk.
  27054. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  27055. // The name of the root device (for example, /dev/sda1, or /dev/xvda).
  27056. RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
  27057. // Set to simple to enable enhanced networking with the Intel 82599 Virtual
  27058. // Function interface for the AMI and any instances that you launch from the
  27059. // AMI.
  27060. //
  27061. // There is no way to disable sriovNetSupport at this time.
  27062. //
  27063. // This option is supported only for HVM AMIs. Specifying this option with a
  27064. // PV AMI can make instances launched from the AMI unreachable.
  27065. SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
  27066. // The type of virtualization.
  27067. //
  27068. // Default: paravirtual
  27069. VirtualizationType *string `locationName:"virtualizationType" type:"string"`
  27070. }
  27071. // String returns the string representation
  27072. func (s RegisterImageInput) String() string {
  27073. return awsutil.Prettify(s)
  27074. }
  27075. // GoString returns the string representation
  27076. func (s RegisterImageInput) GoString() string {
  27077. return s.String()
  27078. }
  27079. // Validate inspects the fields of the type to determine if they are valid.
  27080. func (s *RegisterImageInput) Validate() error {
  27081. invalidParams := request.ErrInvalidParams{Context: "RegisterImageInput"}
  27082. if s.Name == nil {
  27083. invalidParams.Add(request.NewErrParamRequired("Name"))
  27084. }
  27085. if invalidParams.Len() > 0 {
  27086. return invalidParams
  27087. }
  27088. return nil
  27089. }
  27090. // Contains the output of RegisterImage.
  27091. type RegisterImageOutput struct {
  27092. _ struct{} `type:"structure"`
  27093. // The ID of the newly registered AMI.
  27094. ImageId *string `locationName:"imageId" type:"string"`
  27095. }
  27096. // String returns the string representation
  27097. func (s RegisterImageOutput) String() string {
  27098. return awsutil.Prettify(s)
  27099. }
  27100. // GoString returns the string representation
  27101. func (s RegisterImageOutput) GoString() string {
  27102. return s.String()
  27103. }
  27104. // Contains the parameters for RejectVpcPeeringConnection.
  27105. type RejectVpcPeeringConnectionInput struct {
  27106. _ struct{} `type:"structure"`
  27107. // Checks whether you have the required permissions for the action, without
  27108. // actually making the request, and provides an error response. If you have
  27109. // the required permissions, the error response is DryRunOperation. Otherwise,
  27110. // it is UnauthorizedOperation.
  27111. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27112. // The ID of the VPC peering connection.
  27113. //
  27114. // VpcPeeringConnectionId is a required field
  27115. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string" required:"true"`
  27116. }
  27117. // String returns the string representation
  27118. func (s RejectVpcPeeringConnectionInput) String() string {
  27119. return awsutil.Prettify(s)
  27120. }
  27121. // GoString returns the string representation
  27122. func (s RejectVpcPeeringConnectionInput) GoString() string {
  27123. return s.String()
  27124. }
  27125. // Validate inspects the fields of the type to determine if they are valid.
  27126. func (s *RejectVpcPeeringConnectionInput) Validate() error {
  27127. invalidParams := request.ErrInvalidParams{Context: "RejectVpcPeeringConnectionInput"}
  27128. if s.VpcPeeringConnectionId == nil {
  27129. invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
  27130. }
  27131. if invalidParams.Len() > 0 {
  27132. return invalidParams
  27133. }
  27134. return nil
  27135. }
  27136. // Contains the output of RejectVpcPeeringConnection.
  27137. type RejectVpcPeeringConnectionOutput struct {
  27138. _ struct{} `type:"structure"`
  27139. // Returns true if the request succeeds; otherwise, it returns an error.
  27140. Return *bool `locationName:"return" type:"boolean"`
  27141. }
  27142. // String returns the string representation
  27143. func (s RejectVpcPeeringConnectionOutput) String() string {
  27144. return awsutil.Prettify(s)
  27145. }
  27146. // GoString returns the string representation
  27147. func (s RejectVpcPeeringConnectionOutput) GoString() string {
  27148. return s.String()
  27149. }
  27150. // Contains the parameters for ReleaseAddress.
  27151. type ReleaseAddressInput struct {
  27152. _ struct{} `type:"structure"`
  27153. // [EC2-VPC] The allocation ID. Required for EC2-VPC.
  27154. AllocationId *string `type:"string"`
  27155. // Checks whether you have the required permissions for the action, without
  27156. // actually making the request, and provides an error response. If you have
  27157. // the required permissions, the error response is DryRunOperation. Otherwise,
  27158. // it is UnauthorizedOperation.
  27159. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27160. // [EC2-Classic] The Elastic IP address. Required for EC2-Classic.
  27161. PublicIp *string `type:"string"`
  27162. }
  27163. // String returns the string representation
  27164. func (s ReleaseAddressInput) String() string {
  27165. return awsutil.Prettify(s)
  27166. }
  27167. // GoString returns the string representation
  27168. func (s ReleaseAddressInput) GoString() string {
  27169. return s.String()
  27170. }
  27171. type ReleaseAddressOutput struct {
  27172. _ struct{} `type:"structure"`
  27173. }
  27174. // String returns the string representation
  27175. func (s ReleaseAddressOutput) String() string {
  27176. return awsutil.Prettify(s)
  27177. }
  27178. // GoString returns the string representation
  27179. func (s ReleaseAddressOutput) GoString() string {
  27180. return s.String()
  27181. }
  27182. // Contains the parameters for ReleaseHosts.
  27183. type ReleaseHostsInput struct {
  27184. _ struct{} `type:"structure"`
  27185. // The IDs of the Dedicated Hosts you want to release.
  27186. //
  27187. // HostIds is a required field
  27188. HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list" required:"true"`
  27189. }
  27190. // String returns the string representation
  27191. func (s ReleaseHostsInput) String() string {
  27192. return awsutil.Prettify(s)
  27193. }
  27194. // GoString returns the string representation
  27195. func (s ReleaseHostsInput) GoString() string {
  27196. return s.String()
  27197. }
  27198. // Validate inspects the fields of the type to determine if they are valid.
  27199. func (s *ReleaseHostsInput) Validate() error {
  27200. invalidParams := request.ErrInvalidParams{Context: "ReleaseHostsInput"}
  27201. if s.HostIds == nil {
  27202. invalidParams.Add(request.NewErrParamRequired("HostIds"))
  27203. }
  27204. if invalidParams.Len() > 0 {
  27205. return invalidParams
  27206. }
  27207. return nil
  27208. }
  27209. // Contains the output of ReleaseHosts.
  27210. type ReleaseHostsOutput struct {
  27211. _ struct{} `type:"structure"`
  27212. // The IDs of the Dedicated Hosts that were successfully released.
  27213. Successful []*string `locationName:"successful" locationNameList:"item" type:"list"`
  27214. // The IDs of the Dedicated Hosts that could not be released, including an error
  27215. // message.
  27216. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  27217. }
  27218. // String returns the string representation
  27219. func (s ReleaseHostsOutput) String() string {
  27220. return awsutil.Prettify(s)
  27221. }
  27222. // GoString returns the string representation
  27223. func (s ReleaseHostsOutput) GoString() string {
  27224. return s.String()
  27225. }
  27226. // Contains the parameters for ReplaceNetworkAclAssociation.
  27227. type ReplaceNetworkAclAssociationInput struct {
  27228. _ struct{} `type:"structure"`
  27229. // The ID of the current association between the original network ACL and the
  27230. // subnet.
  27231. //
  27232. // AssociationId is a required field
  27233. AssociationId *string `locationName:"associationId" type:"string" required:"true"`
  27234. // Checks whether you have the required permissions for the action, without
  27235. // actually making the request, and provides an error response. If you have
  27236. // the required permissions, the error response is DryRunOperation. Otherwise,
  27237. // it is UnauthorizedOperation.
  27238. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27239. // The ID of the new network ACL to associate with the subnet.
  27240. //
  27241. // NetworkAclId is a required field
  27242. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  27243. }
  27244. // String returns the string representation
  27245. func (s ReplaceNetworkAclAssociationInput) String() string {
  27246. return awsutil.Prettify(s)
  27247. }
  27248. // GoString returns the string representation
  27249. func (s ReplaceNetworkAclAssociationInput) GoString() string {
  27250. return s.String()
  27251. }
  27252. // Validate inspects the fields of the type to determine if they are valid.
  27253. func (s *ReplaceNetworkAclAssociationInput) Validate() error {
  27254. invalidParams := request.ErrInvalidParams{Context: "ReplaceNetworkAclAssociationInput"}
  27255. if s.AssociationId == nil {
  27256. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  27257. }
  27258. if s.NetworkAclId == nil {
  27259. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  27260. }
  27261. if invalidParams.Len() > 0 {
  27262. return invalidParams
  27263. }
  27264. return nil
  27265. }
  27266. // Contains the output of ReplaceNetworkAclAssociation.
  27267. type ReplaceNetworkAclAssociationOutput struct {
  27268. _ struct{} `type:"structure"`
  27269. // The ID of the new association.
  27270. NewAssociationId *string `locationName:"newAssociationId" type:"string"`
  27271. }
  27272. // String returns the string representation
  27273. func (s ReplaceNetworkAclAssociationOutput) String() string {
  27274. return awsutil.Prettify(s)
  27275. }
  27276. // GoString returns the string representation
  27277. func (s ReplaceNetworkAclAssociationOutput) GoString() string {
  27278. return s.String()
  27279. }
  27280. // Contains the parameters for ReplaceNetworkAclEntry.
  27281. type ReplaceNetworkAclEntryInput struct {
  27282. _ struct{} `type:"structure"`
  27283. // The network range to allow or deny, in CIDR notation.
  27284. //
  27285. // CidrBlock is a required field
  27286. CidrBlock *string `locationName:"cidrBlock" type:"string" required:"true"`
  27287. // Checks whether you have the required permissions for the action, without
  27288. // actually making the request, and provides an error response. If you have
  27289. // the required permissions, the error response is DryRunOperation. Otherwise,
  27290. // it is UnauthorizedOperation.
  27291. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27292. // Indicates whether to replace the egress rule.
  27293. //
  27294. // Default: If no value is specified, we replace the ingress rule.
  27295. //
  27296. // Egress is a required field
  27297. Egress *bool `locationName:"egress" type:"boolean" required:"true"`
  27298. // ICMP protocol: The ICMP type and code. Required if specifying 1 (ICMP) for
  27299. // the protocol.
  27300. IcmpTypeCode *IcmpTypeCode `locationName:"Icmp" type:"structure"`
  27301. // The ID of the ACL.
  27302. //
  27303. // NetworkAclId is a required field
  27304. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  27305. // TCP or UDP protocols: The range of ports the rule applies to. Required if
  27306. // specifying 6 (TCP) or 17 (UDP) for the protocol.
  27307. PortRange *PortRange `locationName:"portRange" type:"structure"`
  27308. // The IP protocol. You can specify all or -1 to mean all protocols.
  27309. //
  27310. // Protocol is a required field
  27311. Protocol *string `locationName:"protocol" type:"string" required:"true"`
  27312. // Indicates whether to allow or deny the traffic that matches the rule.
  27313. //
  27314. // RuleAction is a required field
  27315. RuleAction *string `locationName:"ruleAction" type:"string" required:"true" enum:"RuleAction"`
  27316. // The rule number of the entry to replace.
  27317. //
  27318. // RuleNumber is a required field
  27319. RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
  27320. }
  27321. // String returns the string representation
  27322. func (s ReplaceNetworkAclEntryInput) String() string {
  27323. return awsutil.Prettify(s)
  27324. }
  27325. // GoString returns the string representation
  27326. func (s ReplaceNetworkAclEntryInput) GoString() string {
  27327. return s.String()
  27328. }
  27329. // Validate inspects the fields of the type to determine if they are valid.
  27330. func (s *ReplaceNetworkAclEntryInput) Validate() error {
  27331. invalidParams := request.ErrInvalidParams{Context: "ReplaceNetworkAclEntryInput"}
  27332. if s.CidrBlock == nil {
  27333. invalidParams.Add(request.NewErrParamRequired("CidrBlock"))
  27334. }
  27335. if s.Egress == nil {
  27336. invalidParams.Add(request.NewErrParamRequired("Egress"))
  27337. }
  27338. if s.NetworkAclId == nil {
  27339. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  27340. }
  27341. if s.Protocol == nil {
  27342. invalidParams.Add(request.NewErrParamRequired("Protocol"))
  27343. }
  27344. if s.RuleAction == nil {
  27345. invalidParams.Add(request.NewErrParamRequired("RuleAction"))
  27346. }
  27347. if s.RuleNumber == nil {
  27348. invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
  27349. }
  27350. if invalidParams.Len() > 0 {
  27351. return invalidParams
  27352. }
  27353. return nil
  27354. }
  27355. type ReplaceNetworkAclEntryOutput struct {
  27356. _ struct{} `type:"structure"`
  27357. }
  27358. // String returns the string representation
  27359. func (s ReplaceNetworkAclEntryOutput) String() string {
  27360. return awsutil.Prettify(s)
  27361. }
  27362. // GoString returns the string representation
  27363. func (s ReplaceNetworkAclEntryOutput) GoString() string {
  27364. return s.String()
  27365. }
  27366. // Contains the parameters for ReplaceRoute.
  27367. type ReplaceRouteInput struct {
  27368. _ struct{} `type:"structure"`
  27369. // The CIDR address block used for the destination match. The value you provide
  27370. // must match the CIDR of an existing route in the table.
  27371. //
  27372. // DestinationCidrBlock is a required field
  27373. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string" required:"true"`
  27374. // Checks whether you have the required permissions for the action, without
  27375. // actually making the request, and provides an error response. If you have
  27376. // the required permissions, the error response is DryRunOperation. Otherwise,
  27377. // it is UnauthorizedOperation.
  27378. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27379. // The ID of an Internet gateway or virtual private gateway.
  27380. GatewayId *string `locationName:"gatewayId" type:"string"`
  27381. // The ID of a NAT instance in your VPC.
  27382. InstanceId *string `locationName:"instanceId" type:"string"`
  27383. // The ID of a NAT gateway.
  27384. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  27385. // The ID of a network interface.
  27386. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  27387. // The ID of the route table.
  27388. //
  27389. // RouteTableId is a required field
  27390. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  27391. // The ID of a VPC peering connection.
  27392. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  27393. }
  27394. // String returns the string representation
  27395. func (s ReplaceRouteInput) String() string {
  27396. return awsutil.Prettify(s)
  27397. }
  27398. // GoString returns the string representation
  27399. func (s ReplaceRouteInput) GoString() string {
  27400. return s.String()
  27401. }
  27402. // Validate inspects the fields of the type to determine if they are valid.
  27403. func (s *ReplaceRouteInput) Validate() error {
  27404. invalidParams := request.ErrInvalidParams{Context: "ReplaceRouteInput"}
  27405. if s.DestinationCidrBlock == nil {
  27406. invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
  27407. }
  27408. if s.RouteTableId == nil {
  27409. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  27410. }
  27411. if invalidParams.Len() > 0 {
  27412. return invalidParams
  27413. }
  27414. return nil
  27415. }
  27416. type ReplaceRouteOutput struct {
  27417. _ struct{} `type:"structure"`
  27418. }
  27419. // String returns the string representation
  27420. func (s ReplaceRouteOutput) String() string {
  27421. return awsutil.Prettify(s)
  27422. }
  27423. // GoString returns the string representation
  27424. func (s ReplaceRouteOutput) GoString() string {
  27425. return s.String()
  27426. }
  27427. // Contains the parameters for ReplaceRouteTableAssociation.
  27428. type ReplaceRouteTableAssociationInput struct {
  27429. _ struct{} `type:"structure"`
  27430. // The association ID.
  27431. //
  27432. // AssociationId is a required field
  27433. AssociationId *string `locationName:"associationId" type:"string" required:"true"`
  27434. // Checks whether you have the required permissions for the action, without
  27435. // actually making the request, and provides an error response. If you have
  27436. // the required permissions, the error response is DryRunOperation. Otherwise,
  27437. // it is UnauthorizedOperation.
  27438. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27439. // The ID of the new route table to associate with the subnet.
  27440. //
  27441. // RouteTableId is a required field
  27442. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  27443. }
  27444. // String returns the string representation
  27445. func (s ReplaceRouteTableAssociationInput) String() string {
  27446. return awsutil.Prettify(s)
  27447. }
  27448. // GoString returns the string representation
  27449. func (s ReplaceRouteTableAssociationInput) GoString() string {
  27450. return s.String()
  27451. }
  27452. // Validate inspects the fields of the type to determine if they are valid.
  27453. func (s *ReplaceRouteTableAssociationInput) Validate() error {
  27454. invalidParams := request.ErrInvalidParams{Context: "ReplaceRouteTableAssociationInput"}
  27455. if s.AssociationId == nil {
  27456. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  27457. }
  27458. if s.RouteTableId == nil {
  27459. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  27460. }
  27461. if invalidParams.Len() > 0 {
  27462. return invalidParams
  27463. }
  27464. return nil
  27465. }
  27466. // Contains the output of ReplaceRouteTableAssociation.
  27467. type ReplaceRouteTableAssociationOutput struct {
  27468. _ struct{} `type:"structure"`
  27469. // The ID of the new association.
  27470. NewAssociationId *string `locationName:"newAssociationId" type:"string"`
  27471. }
  27472. // String returns the string representation
  27473. func (s ReplaceRouteTableAssociationOutput) String() string {
  27474. return awsutil.Prettify(s)
  27475. }
  27476. // GoString returns the string representation
  27477. func (s ReplaceRouteTableAssociationOutput) GoString() string {
  27478. return s.String()
  27479. }
  27480. // Contains the parameters for ReportInstanceStatus.
  27481. type ReportInstanceStatusInput struct {
  27482. _ struct{} `type:"structure"`
  27483. // Descriptive text about the health state of your instance.
  27484. Description *string `locationName:"description" type:"string"`
  27485. // Checks whether you have the required permissions for the action, without
  27486. // actually making the request, and provides an error response. If you have
  27487. // the required permissions, the error response is DryRunOperation. Otherwise,
  27488. // it is UnauthorizedOperation.
  27489. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27490. // The time at which the reported instance health state ended.
  27491. EndTime *time.Time `locationName:"endTime" type:"timestamp" timestampFormat:"iso8601"`
  27492. // One or more instances.
  27493. //
  27494. // Instances is a required field
  27495. Instances []*string `locationName:"instanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  27496. // One or more reason codes that describes the health state of your instance.
  27497. //
  27498. // * instance-stuck-in-state: My instance is stuck in a state.
  27499. //
  27500. // * unresponsive: My instance is unresponsive.
  27501. //
  27502. // * not-accepting-credentials: My instance is not accepting my credentials.
  27503. //
  27504. // * password-not-available: A password is not available for my instance.
  27505. //
  27506. // * performance-network: My instance is experiencing performance problems
  27507. // which I believe are network related.
  27508. //
  27509. // * performance-instance-store: My instance is experiencing performance
  27510. // problems which I believe are related to the instance stores.
  27511. //
  27512. // * performance-ebs-volume: My instance is experiencing performance problems
  27513. // which I believe are related to an EBS volume.
  27514. //
  27515. // * performance-other: My instance is experiencing performance problems.
  27516. //
  27517. // * other: [explain using the description parameter]
  27518. //
  27519. // ReasonCodes is a required field
  27520. ReasonCodes []*string `locationName:"reasonCode" locationNameList:"item" type:"list" required:"true"`
  27521. // The time at which the reported instance health state began.
  27522. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
  27523. // The status of all instances listed.
  27524. //
  27525. // Status is a required field
  27526. Status *string `locationName:"status" type:"string" required:"true" enum:"ReportStatusType"`
  27527. }
  27528. // String returns the string representation
  27529. func (s ReportInstanceStatusInput) String() string {
  27530. return awsutil.Prettify(s)
  27531. }
  27532. // GoString returns the string representation
  27533. func (s ReportInstanceStatusInput) GoString() string {
  27534. return s.String()
  27535. }
  27536. // Validate inspects the fields of the type to determine if they are valid.
  27537. func (s *ReportInstanceStatusInput) Validate() error {
  27538. invalidParams := request.ErrInvalidParams{Context: "ReportInstanceStatusInput"}
  27539. if s.Instances == nil {
  27540. invalidParams.Add(request.NewErrParamRequired("Instances"))
  27541. }
  27542. if s.ReasonCodes == nil {
  27543. invalidParams.Add(request.NewErrParamRequired("ReasonCodes"))
  27544. }
  27545. if s.Status == nil {
  27546. invalidParams.Add(request.NewErrParamRequired("Status"))
  27547. }
  27548. if invalidParams.Len() > 0 {
  27549. return invalidParams
  27550. }
  27551. return nil
  27552. }
  27553. type ReportInstanceStatusOutput struct {
  27554. _ struct{} `type:"structure"`
  27555. }
  27556. // String returns the string representation
  27557. func (s ReportInstanceStatusOutput) String() string {
  27558. return awsutil.Prettify(s)
  27559. }
  27560. // GoString returns the string representation
  27561. func (s ReportInstanceStatusOutput) GoString() string {
  27562. return s.String()
  27563. }
  27564. // Contains the parameters for RequestSpotFleet.
  27565. type RequestSpotFleetInput struct {
  27566. _ struct{} `type:"structure"`
  27567. // Checks whether you have the required permissions for the action, without
  27568. // actually making the request, and provides an error response. If you have
  27569. // the required permissions, the error response is DryRunOperation. Otherwise,
  27570. // it is UnauthorizedOperation.
  27571. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27572. // The configuration for the Spot fleet request.
  27573. //
  27574. // SpotFleetRequestConfig is a required field
  27575. SpotFleetRequestConfig *SpotFleetRequestConfigData `locationName:"spotFleetRequestConfig" type:"structure" required:"true"`
  27576. }
  27577. // String returns the string representation
  27578. func (s RequestSpotFleetInput) String() string {
  27579. return awsutil.Prettify(s)
  27580. }
  27581. // GoString returns the string representation
  27582. func (s RequestSpotFleetInput) GoString() string {
  27583. return s.String()
  27584. }
  27585. // Validate inspects the fields of the type to determine if they are valid.
  27586. func (s *RequestSpotFleetInput) Validate() error {
  27587. invalidParams := request.ErrInvalidParams{Context: "RequestSpotFleetInput"}
  27588. if s.SpotFleetRequestConfig == nil {
  27589. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestConfig"))
  27590. }
  27591. if s.SpotFleetRequestConfig != nil {
  27592. if err := s.SpotFleetRequestConfig.Validate(); err != nil {
  27593. invalidParams.AddNested("SpotFleetRequestConfig", err.(request.ErrInvalidParams))
  27594. }
  27595. }
  27596. if invalidParams.Len() > 0 {
  27597. return invalidParams
  27598. }
  27599. return nil
  27600. }
  27601. // Contains the output of RequestSpotFleet.
  27602. type RequestSpotFleetOutput struct {
  27603. _ struct{} `type:"structure"`
  27604. // The ID of the Spot fleet request.
  27605. //
  27606. // SpotFleetRequestId is a required field
  27607. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  27608. }
  27609. // String returns the string representation
  27610. func (s RequestSpotFleetOutput) String() string {
  27611. return awsutil.Prettify(s)
  27612. }
  27613. // GoString returns the string representation
  27614. func (s RequestSpotFleetOutput) GoString() string {
  27615. return s.String()
  27616. }
  27617. // Contains the parameters for RequestSpotInstances.
  27618. type RequestSpotInstancesInput struct {
  27619. _ struct{} `type:"structure"`
  27620. // The user-specified name for a logical grouping of bids.
  27621. //
  27622. // When you specify an Availability Zone group in a Spot Instance request, all
  27623. // Spot instances in the request are launched in the same Availability Zone.
  27624. // Instance proximity is maintained with this parameter, but the choice of Availability
  27625. // Zone is not. The group applies only to bids for Spot Instances of the same
  27626. // instance type. Any additional Spot instance requests that are specified with
  27627. // the same Availability Zone group name are launched in that same Availability
  27628. // Zone, as long as at least one instance from the group is still active.
  27629. //
  27630. // If there is no active instance running in the Availability Zone group that
  27631. // you specify for a new Spot instance request (all instances are terminated,
  27632. // the bid is expired, or the bid falls below current market), then Amazon EC2
  27633. // launches the instance in any Availability Zone where the constraint can be
  27634. // met. Consequently, the subsequent set of Spot instances could be placed in
  27635. // a different zone from the original request, even if you specified the same
  27636. // Availability Zone group.
  27637. //
  27638. // Default: Instances are launched in any available Availability Zone.
  27639. AvailabilityZoneGroup *string `locationName:"availabilityZoneGroup" type:"string"`
  27640. // The required duration for the Spot instances (also known as Spot blocks),
  27641. // in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
  27642. // or 360).
  27643. //
  27644. // The duration period starts as soon as your Spot instance receives its instance
  27645. // ID. At the end of the duration period, Amazon EC2 marks the Spot instance
  27646. // for termination and provides a Spot instance termination notice, which gives
  27647. // the instance a two-minute warning before it terminates.
  27648. //
  27649. // Note that you can't specify an Availability Zone group or a launch group
  27650. // if you specify a duration.
  27651. BlockDurationMinutes *int64 `locationName:"blockDurationMinutes" type:"integer"`
  27652. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  27653. // of the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  27654. // in the Amazon Elastic Compute Cloud User Guide.
  27655. ClientToken *string `locationName:"clientToken" type:"string"`
  27656. // Checks whether you have the required permissions for the action, without
  27657. // actually making the request, and provides an error response. If you have
  27658. // the required permissions, the error response is DryRunOperation. Otherwise,
  27659. // it is UnauthorizedOperation.
  27660. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27661. // The maximum number of Spot instances to launch.
  27662. //
  27663. // Default: 1
  27664. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  27665. // The instance launch group. Launch groups are Spot instances that launch together
  27666. // and terminate together.
  27667. //
  27668. // Default: Instances are launched and terminated individually
  27669. LaunchGroup *string `locationName:"launchGroup" type:"string"`
  27670. // Describes the launch specification for an instance.
  27671. LaunchSpecification *RequestSpotLaunchSpecification `type:"structure"`
  27672. // The maximum hourly price (bid) for any Spot instance launched to fulfill
  27673. // the request.
  27674. //
  27675. // SpotPrice is a required field
  27676. SpotPrice *string `locationName:"spotPrice" type:"string" required:"true"`
  27677. // The Spot instance request type.
  27678. //
  27679. // Default: one-time
  27680. Type *string `locationName:"type" type:"string" enum:"SpotInstanceType"`
  27681. // The start date of the request. If this is a one-time request, the request
  27682. // becomes active at this date and time and remains active until all instances
  27683. // launch, the request expires, or the request is canceled. If the request is
  27684. // persistent, the request becomes active at this date and time and remains
  27685. // active until it expires or is canceled.
  27686. //
  27687. // Default: The request is effective indefinitely.
  27688. ValidFrom *time.Time `locationName:"validFrom" type:"timestamp" timestampFormat:"iso8601"`
  27689. // The end date of the request. If this is a one-time request, the request remains
  27690. // active until all instances launch, the request is canceled, or this date
  27691. // is reached. If the request is persistent, it remains active until it is canceled
  27692. // or this date and time is reached.
  27693. //
  27694. // Default: The request is effective indefinitely.
  27695. ValidUntil *time.Time `locationName:"validUntil" type:"timestamp" timestampFormat:"iso8601"`
  27696. }
  27697. // String returns the string representation
  27698. func (s RequestSpotInstancesInput) String() string {
  27699. return awsutil.Prettify(s)
  27700. }
  27701. // GoString returns the string representation
  27702. func (s RequestSpotInstancesInput) GoString() string {
  27703. return s.String()
  27704. }
  27705. // Validate inspects the fields of the type to determine if they are valid.
  27706. func (s *RequestSpotInstancesInput) Validate() error {
  27707. invalidParams := request.ErrInvalidParams{Context: "RequestSpotInstancesInput"}
  27708. if s.SpotPrice == nil {
  27709. invalidParams.Add(request.NewErrParamRequired("SpotPrice"))
  27710. }
  27711. if s.LaunchSpecification != nil {
  27712. if err := s.LaunchSpecification.Validate(); err != nil {
  27713. invalidParams.AddNested("LaunchSpecification", err.(request.ErrInvalidParams))
  27714. }
  27715. }
  27716. if invalidParams.Len() > 0 {
  27717. return invalidParams
  27718. }
  27719. return nil
  27720. }
  27721. // Contains the output of RequestSpotInstances.
  27722. type RequestSpotInstancesOutput struct {
  27723. _ struct{} `type:"structure"`
  27724. // One or more Spot instance requests.
  27725. SpotInstanceRequests []*SpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
  27726. }
  27727. // String returns the string representation
  27728. func (s RequestSpotInstancesOutput) String() string {
  27729. return awsutil.Prettify(s)
  27730. }
  27731. // GoString returns the string representation
  27732. func (s RequestSpotInstancesOutput) GoString() string {
  27733. return s.String()
  27734. }
  27735. // Describes the launch specification for an instance.
  27736. type RequestSpotLaunchSpecification struct {
  27737. _ struct{} `type:"structure"`
  27738. // Deprecated.
  27739. AddressingType *string `locationName:"addressingType" type:"string"`
  27740. // One or more block device mapping entries.
  27741. //
  27742. // Although you can specify encrypted EBS volumes in this block device mapping
  27743. // for your Spot Instances, these volumes are not encrypted.
  27744. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  27745. // Indicates whether the instance is optimized for EBS I/O. This optimization
  27746. // provides dedicated throughput to Amazon EBS and an optimized configuration
  27747. // stack to provide optimal EBS I/O performance. This optimization isn't available
  27748. // with all instance types. Additional usage charges apply when using an EBS
  27749. // Optimized instance.
  27750. //
  27751. // Default: false
  27752. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  27753. // The IAM instance profile.
  27754. IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
  27755. // The ID of the AMI.
  27756. ImageId *string `locationName:"imageId" type:"string"`
  27757. // The instance type.
  27758. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  27759. // The ID of the kernel.
  27760. KernelId *string `locationName:"kernelId" type:"string"`
  27761. // The name of the key pair.
  27762. KeyName *string `locationName:"keyName" type:"string"`
  27763. // Describes the monitoring for the instance.
  27764. Monitoring *RunInstancesMonitoringEnabled `locationName:"monitoring" type:"structure"`
  27765. // One or more network interfaces.
  27766. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"NetworkInterface" locationNameList:"item" type:"list"`
  27767. // The placement information for the instance.
  27768. Placement *SpotPlacement `locationName:"placement" type:"structure"`
  27769. // The ID of the RAM disk.
  27770. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  27771. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list"`
  27772. SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"item" type:"list"`
  27773. // The ID of the subnet in which to launch the instance.
  27774. SubnetId *string `locationName:"subnetId" type:"string"`
  27775. // The user data to make available to the instances. If you are using an AWS
  27776. // SDK or command line tool, Base64-encoding is performed for you, and you can
  27777. // load the text from a file. Otherwise, you must provide Base64-encoded text.
  27778. UserData *string `locationName:"userData" type:"string"`
  27779. }
  27780. // String returns the string representation
  27781. func (s RequestSpotLaunchSpecification) String() string {
  27782. return awsutil.Prettify(s)
  27783. }
  27784. // GoString returns the string representation
  27785. func (s RequestSpotLaunchSpecification) GoString() string {
  27786. return s.String()
  27787. }
  27788. // Validate inspects the fields of the type to determine if they are valid.
  27789. func (s *RequestSpotLaunchSpecification) Validate() error {
  27790. invalidParams := request.ErrInvalidParams{Context: "RequestSpotLaunchSpecification"}
  27791. if s.Monitoring != nil {
  27792. if err := s.Monitoring.Validate(); err != nil {
  27793. invalidParams.AddNested("Monitoring", err.(request.ErrInvalidParams))
  27794. }
  27795. }
  27796. if s.NetworkInterfaces != nil {
  27797. for i, v := range s.NetworkInterfaces {
  27798. if v == nil {
  27799. continue
  27800. }
  27801. if err := v.Validate(); err != nil {
  27802. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NetworkInterfaces", i), err.(request.ErrInvalidParams))
  27803. }
  27804. }
  27805. }
  27806. if invalidParams.Len() > 0 {
  27807. return invalidParams
  27808. }
  27809. return nil
  27810. }
  27811. // Describes a reservation.
  27812. type Reservation struct {
  27813. _ struct{} `type:"structure"`
  27814. // [EC2-Classic only] One or more security groups.
  27815. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  27816. // One or more instances.
  27817. Instances []*Instance `locationName:"instancesSet" locationNameList:"item" type:"list"`
  27818. // The ID of the AWS account that owns the reservation.
  27819. OwnerId *string `locationName:"ownerId" type:"string"`
  27820. // The ID of the requester that launched the instances on your behalf (for example,
  27821. // AWS Management Console or Auto Scaling).
  27822. RequesterId *string `locationName:"requesterId" type:"string"`
  27823. // The ID of the reservation.
  27824. ReservationId *string `locationName:"reservationId" type:"string"`
  27825. }
  27826. // String returns the string representation
  27827. func (s Reservation) String() string {
  27828. return awsutil.Prettify(s)
  27829. }
  27830. // GoString returns the string representation
  27831. func (s Reservation) GoString() string {
  27832. return s.String()
  27833. }
  27834. // The cost associated with the Reserved Instance.
  27835. type ReservationValue struct {
  27836. _ struct{} `type:"structure"`
  27837. // The hourly rate of the reservation.
  27838. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  27839. // The balance of the total value (the sum of remainingUpfrontValue + hourlyPrice
  27840. // * number of hours remaining).
  27841. RemainingTotalValue *string `locationName:"remainingTotalValue" type:"string"`
  27842. // The remaining upfront cost of the reservation.
  27843. RemainingUpfrontValue *string `locationName:"remainingUpfrontValue" type:"string"`
  27844. }
  27845. // String returns the string representation
  27846. func (s ReservationValue) String() string {
  27847. return awsutil.Prettify(s)
  27848. }
  27849. // GoString returns the string representation
  27850. func (s ReservationValue) GoString() string {
  27851. return s.String()
  27852. }
  27853. // Describes the limit price of a Reserved Instance offering.
  27854. type ReservedInstanceLimitPrice struct {
  27855. _ struct{} `type:"structure"`
  27856. // Used for Reserved Instance Marketplace offerings. Specifies the limit price
  27857. // on the total order (instanceCount * price).
  27858. Amount *float64 `locationName:"amount" type:"double"`
  27859. // The currency in which the limitPrice amount is specified. At this time, the
  27860. // only supported currency is USD.
  27861. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  27862. }
  27863. // String returns the string representation
  27864. func (s ReservedInstanceLimitPrice) String() string {
  27865. return awsutil.Prettify(s)
  27866. }
  27867. // GoString returns the string representation
  27868. func (s ReservedInstanceLimitPrice) GoString() string {
  27869. return s.String()
  27870. }
  27871. // The total value of the Convertible Reserved Instance.
  27872. type ReservedInstanceReservationValue struct {
  27873. _ struct{} `type:"structure"`
  27874. // The total value of the Convertible Reserved Instance that you are exchanging.
  27875. ReservationValue *ReservationValue `locationName:"reservationValue" type:"structure"`
  27876. // The ID of the Convertible Reserved Instance that you are exchanging.
  27877. ReservedInstanceId *string `locationName:"reservedInstanceId" type:"string"`
  27878. }
  27879. // String returns the string representation
  27880. func (s ReservedInstanceReservationValue) String() string {
  27881. return awsutil.Prettify(s)
  27882. }
  27883. // GoString returns the string representation
  27884. func (s ReservedInstanceReservationValue) GoString() string {
  27885. return s.String()
  27886. }
  27887. // Describes a Reserved Instance.
  27888. type ReservedInstances struct {
  27889. _ struct{} `type:"structure"`
  27890. // The Availability Zone in which the Reserved Instance can be used.
  27891. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  27892. // The currency of the Reserved Instance. It's specified using ISO 4217 standard
  27893. // currency codes. At this time, the only supported currency is USD.
  27894. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  27895. // The duration of the Reserved Instance, in seconds.
  27896. Duration *int64 `locationName:"duration" type:"long"`
  27897. // The time when the Reserved Instance expires.
  27898. End *time.Time `locationName:"end" type:"timestamp" timestampFormat:"iso8601"`
  27899. // The purchase price of the Reserved Instance.
  27900. FixedPrice *float64 `locationName:"fixedPrice" type:"float"`
  27901. // The number of reservations purchased.
  27902. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  27903. // The tenancy of the instance.
  27904. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  27905. // The instance type on which the Reserved Instance can be used.
  27906. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  27907. // The offering class of the Reserved Instance.
  27908. OfferingClass *string `locationName:"offeringClass" type:"string" enum:"OfferingClassType"`
  27909. // The Reserved Instance offering type.
  27910. OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
  27911. // The Reserved Instance product platform description.
  27912. ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
  27913. // The recurring charge tag assigned to the resource.
  27914. RecurringCharges []*RecurringCharge `locationName:"recurringCharges" locationNameList:"item" type:"list"`
  27915. // The ID of the Reserved Instance.
  27916. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  27917. // The scope of the Reserved Instance.
  27918. Scope *string `locationName:"scope" type:"string" enum:"scope"`
  27919. // The date and time the Reserved Instance started.
  27920. Start *time.Time `locationName:"start" type:"timestamp" timestampFormat:"iso8601"`
  27921. // The state of the Reserved Instance purchase.
  27922. State *string `locationName:"state" type:"string" enum:"ReservedInstanceState"`
  27923. // Any tags assigned to the resource.
  27924. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  27925. // The usage price of the Reserved Instance, per hour.
  27926. UsagePrice *float64 `locationName:"usagePrice" type:"float"`
  27927. }
  27928. // String returns the string representation
  27929. func (s ReservedInstances) String() string {
  27930. return awsutil.Prettify(s)
  27931. }
  27932. // GoString returns the string representation
  27933. func (s ReservedInstances) GoString() string {
  27934. return s.String()
  27935. }
  27936. // Describes the configuration settings for the modified Reserved Instances.
  27937. type ReservedInstancesConfiguration struct {
  27938. _ struct{} `type:"structure"`
  27939. // The Availability Zone for the modified Reserved Instances.
  27940. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  27941. // The number of modified Reserved Instances.
  27942. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  27943. // The instance type for the modified Reserved Instances.
  27944. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  27945. // The network platform of the modified Reserved Instances, which is either
  27946. // EC2-Classic or EC2-VPC.
  27947. Platform *string `locationName:"platform" type:"string"`
  27948. // Whether the Reserved Instance is standard or convertible.
  27949. Scope *string `locationName:"scope" type:"string" enum:"scope"`
  27950. }
  27951. // String returns the string representation
  27952. func (s ReservedInstancesConfiguration) String() string {
  27953. return awsutil.Prettify(s)
  27954. }
  27955. // GoString returns the string representation
  27956. func (s ReservedInstancesConfiguration) GoString() string {
  27957. return s.String()
  27958. }
  27959. // Describes the ID of a Reserved Instance.
  27960. type ReservedInstancesId struct {
  27961. _ struct{} `type:"structure"`
  27962. // The ID of the Reserved Instance.
  27963. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  27964. }
  27965. // String returns the string representation
  27966. func (s ReservedInstancesId) String() string {
  27967. return awsutil.Prettify(s)
  27968. }
  27969. // GoString returns the string representation
  27970. func (s ReservedInstancesId) GoString() string {
  27971. return s.String()
  27972. }
  27973. // Describes a Reserved Instance listing.
  27974. type ReservedInstancesListing struct {
  27975. _ struct{} `type:"structure"`
  27976. // A unique, case-sensitive key supplied by the client to ensure that the request
  27977. // is idempotent. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  27978. ClientToken *string `locationName:"clientToken" type:"string"`
  27979. // The time the listing was created.
  27980. CreateDate *time.Time `locationName:"createDate" type:"timestamp" timestampFormat:"iso8601"`
  27981. // The number of instances in this state.
  27982. InstanceCounts []*InstanceCount `locationName:"instanceCounts" locationNameList:"item" type:"list"`
  27983. // The price of the Reserved Instance listing.
  27984. PriceSchedules []*PriceSchedule `locationName:"priceSchedules" locationNameList:"item" type:"list"`
  27985. // The ID of the Reserved Instance.
  27986. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  27987. // The ID of the Reserved Instance listing.
  27988. ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string"`
  27989. // The status of the Reserved Instance listing.
  27990. Status *string `locationName:"status" type:"string" enum:"ListingStatus"`
  27991. // The reason for the current status of the Reserved Instance listing. The response
  27992. // can be blank.
  27993. StatusMessage *string `locationName:"statusMessage" type:"string"`
  27994. // Any tags assigned to the resource.
  27995. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  27996. // The last modified timestamp of the listing.
  27997. UpdateDate *time.Time `locationName:"updateDate" type:"timestamp" timestampFormat:"iso8601"`
  27998. }
  27999. // String returns the string representation
  28000. func (s ReservedInstancesListing) String() string {
  28001. return awsutil.Prettify(s)
  28002. }
  28003. // GoString returns the string representation
  28004. func (s ReservedInstancesListing) GoString() string {
  28005. return s.String()
  28006. }
  28007. // Describes a Reserved Instance modification.
  28008. type ReservedInstancesModification struct {
  28009. _ struct{} `type:"structure"`
  28010. // A unique, case-sensitive key supplied by the client to ensure that the request
  28011. // is idempotent. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  28012. ClientToken *string `locationName:"clientToken" type:"string"`
  28013. // The time when the modification request was created.
  28014. CreateDate *time.Time `locationName:"createDate" type:"timestamp" timestampFormat:"iso8601"`
  28015. // The time for the modification to become effective.
  28016. EffectiveDate *time.Time `locationName:"effectiveDate" type:"timestamp" timestampFormat:"iso8601"`
  28017. // Contains target configurations along with their corresponding new Reserved
  28018. // Instance IDs.
  28019. ModificationResults []*ReservedInstancesModificationResult `locationName:"modificationResultSet" locationNameList:"item" type:"list"`
  28020. // The IDs of one or more Reserved Instances.
  28021. ReservedInstancesIds []*ReservedInstancesId `locationName:"reservedInstancesSet" locationNameList:"item" type:"list"`
  28022. // A unique ID for the Reserved Instance modification.
  28023. ReservedInstancesModificationId *string `locationName:"reservedInstancesModificationId" type:"string"`
  28024. // The status of the Reserved Instances modification request.
  28025. Status *string `locationName:"status" type:"string"`
  28026. // The reason for the status.
  28027. StatusMessage *string `locationName:"statusMessage" type:"string"`
  28028. // The time when the modification request was last updated.
  28029. UpdateDate *time.Time `locationName:"updateDate" type:"timestamp" timestampFormat:"iso8601"`
  28030. }
  28031. // String returns the string representation
  28032. func (s ReservedInstancesModification) String() string {
  28033. return awsutil.Prettify(s)
  28034. }
  28035. // GoString returns the string representation
  28036. func (s ReservedInstancesModification) GoString() string {
  28037. return s.String()
  28038. }
  28039. // Describes the modification request/s.
  28040. type ReservedInstancesModificationResult struct {
  28041. _ struct{} `type:"structure"`
  28042. // The ID for the Reserved Instances that were created as part of the modification
  28043. // request. This field is only available when the modification is fulfilled.
  28044. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  28045. // The target Reserved Instances configurations supplied as part of the modification
  28046. // request.
  28047. TargetConfiguration *ReservedInstancesConfiguration `locationName:"targetConfiguration" type:"structure"`
  28048. }
  28049. // String returns the string representation
  28050. func (s ReservedInstancesModificationResult) String() string {
  28051. return awsutil.Prettify(s)
  28052. }
  28053. // GoString returns the string representation
  28054. func (s ReservedInstancesModificationResult) GoString() string {
  28055. return s.String()
  28056. }
  28057. // Describes a Reserved Instance offering.
  28058. type ReservedInstancesOffering struct {
  28059. _ struct{} `type:"structure"`
  28060. // The Availability Zone in which the Reserved Instance can be used.
  28061. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  28062. // The currency of the Reserved Instance offering you are purchasing. It's specified
  28063. // using ISO 4217 standard currency codes. At this time, the only supported
  28064. // currency is USD.
  28065. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  28066. // The duration of the Reserved Instance, in seconds.
  28067. Duration *int64 `locationName:"duration" type:"long"`
  28068. // The purchase price of the Reserved Instance.
  28069. FixedPrice *float64 `locationName:"fixedPrice" type:"float"`
  28070. // The tenancy of the instance.
  28071. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  28072. // The instance type on which the Reserved Instance can be used.
  28073. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  28074. // Indicates whether the offering is available through the Reserved Instance
  28075. // Marketplace (resale) or AWS. If it's a Reserved Instance Marketplace offering,
  28076. // this is true.
  28077. Marketplace *bool `locationName:"marketplace" type:"boolean"`
  28078. // If convertible it can be exchanged for Reserved Instances of the same or
  28079. // higher monetary value, with different configurations. If standard, it is
  28080. // not possible to perform an exchange.
  28081. OfferingClass *string `locationName:"offeringClass" type:"string" enum:"OfferingClassType"`
  28082. // The Reserved Instance offering type.
  28083. OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
  28084. // The pricing details of the Reserved Instance offering.
  28085. PricingDetails []*PricingDetail `locationName:"pricingDetailsSet" locationNameList:"item" type:"list"`
  28086. // The Reserved Instance product platform description.
  28087. ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
  28088. // The recurring charge tag assigned to the resource.
  28089. RecurringCharges []*RecurringCharge `locationName:"recurringCharges" locationNameList:"item" type:"list"`
  28090. // The ID of the Reserved Instance offering. This is the offering ID used in
  28091. // GetReservedInstancesExchangeQuote to confirm that an exchange can be made.
  28092. ReservedInstancesOfferingId *string `locationName:"reservedInstancesOfferingId" type:"string"`
  28093. // Whether the Reserved Instance is applied to instances in a region or an Availability
  28094. // Zone.
  28095. Scope *string `locationName:"scope" type:"string" enum:"scope"`
  28096. // The usage price of the Reserved Instance, per hour.
  28097. UsagePrice *float64 `locationName:"usagePrice" type:"float"`
  28098. }
  28099. // String returns the string representation
  28100. func (s ReservedInstancesOffering) String() string {
  28101. return awsutil.Prettify(s)
  28102. }
  28103. // GoString returns the string representation
  28104. func (s ReservedInstancesOffering) GoString() string {
  28105. return s.String()
  28106. }
  28107. // Contains the parameters for ResetImageAttribute.
  28108. type ResetImageAttributeInput struct {
  28109. _ struct{} `type:"structure"`
  28110. // The attribute to reset (currently you can only reset the launch permission
  28111. // attribute).
  28112. //
  28113. // Attribute is a required field
  28114. Attribute *string `type:"string" required:"true" enum:"ResetImageAttributeName"`
  28115. // Checks whether you have the required permissions for the action, without
  28116. // actually making the request, and provides an error response. If you have
  28117. // the required permissions, the error response is DryRunOperation. Otherwise,
  28118. // it is UnauthorizedOperation.
  28119. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28120. // The ID of the AMI.
  28121. //
  28122. // ImageId is a required field
  28123. ImageId *string `type:"string" required:"true"`
  28124. }
  28125. // String returns the string representation
  28126. func (s ResetImageAttributeInput) String() string {
  28127. return awsutil.Prettify(s)
  28128. }
  28129. // GoString returns the string representation
  28130. func (s ResetImageAttributeInput) GoString() string {
  28131. return s.String()
  28132. }
  28133. // Validate inspects the fields of the type to determine if they are valid.
  28134. func (s *ResetImageAttributeInput) Validate() error {
  28135. invalidParams := request.ErrInvalidParams{Context: "ResetImageAttributeInput"}
  28136. if s.Attribute == nil {
  28137. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  28138. }
  28139. if s.ImageId == nil {
  28140. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  28141. }
  28142. if invalidParams.Len() > 0 {
  28143. return invalidParams
  28144. }
  28145. return nil
  28146. }
  28147. type ResetImageAttributeOutput struct {
  28148. _ struct{} `type:"structure"`
  28149. }
  28150. // String returns the string representation
  28151. func (s ResetImageAttributeOutput) String() string {
  28152. return awsutil.Prettify(s)
  28153. }
  28154. // GoString returns the string representation
  28155. func (s ResetImageAttributeOutput) GoString() string {
  28156. return s.String()
  28157. }
  28158. // Contains the parameters for ResetInstanceAttribute.
  28159. type ResetInstanceAttributeInput struct {
  28160. _ struct{} `type:"structure"`
  28161. // The attribute to reset.
  28162. //
  28163. // You can only reset the following attributes: kernel | ramdisk | sourceDestCheck.
  28164. // To change an instance attribute, use ModifyInstanceAttribute.
  28165. //
  28166. // Attribute is a required field
  28167. Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"InstanceAttributeName"`
  28168. // Checks whether you have the required permissions for the action, without
  28169. // actually making the request, and provides an error response. If you have
  28170. // the required permissions, the error response is DryRunOperation. Otherwise,
  28171. // it is UnauthorizedOperation.
  28172. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28173. // The ID of the instance.
  28174. //
  28175. // InstanceId is a required field
  28176. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  28177. }
  28178. // String returns the string representation
  28179. func (s ResetInstanceAttributeInput) String() string {
  28180. return awsutil.Prettify(s)
  28181. }
  28182. // GoString returns the string representation
  28183. func (s ResetInstanceAttributeInput) GoString() string {
  28184. return s.String()
  28185. }
  28186. // Validate inspects the fields of the type to determine if they are valid.
  28187. func (s *ResetInstanceAttributeInput) Validate() error {
  28188. invalidParams := request.ErrInvalidParams{Context: "ResetInstanceAttributeInput"}
  28189. if s.Attribute == nil {
  28190. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  28191. }
  28192. if s.InstanceId == nil {
  28193. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  28194. }
  28195. if invalidParams.Len() > 0 {
  28196. return invalidParams
  28197. }
  28198. return nil
  28199. }
  28200. type ResetInstanceAttributeOutput struct {
  28201. _ struct{} `type:"structure"`
  28202. }
  28203. // String returns the string representation
  28204. func (s ResetInstanceAttributeOutput) String() string {
  28205. return awsutil.Prettify(s)
  28206. }
  28207. // GoString returns the string representation
  28208. func (s ResetInstanceAttributeOutput) GoString() string {
  28209. return s.String()
  28210. }
  28211. // Contains the parameters for ResetNetworkInterfaceAttribute.
  28212. type ResetNetworkInterfaceAttributeInput struct {
  28213. _ struct{} `type:"structure"`
  28214. // Checks whether you have the required permissions for the action, without
  28215. // actually making the request, and provides an error response. If you have
  28216. // the required permissions, the error response is DryRunOperation. Otherwise,
  28217. // it is UnauthorizedOperation.
  28218. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28219. // The ID of the network interface.
  28220. //
  28221. // NetworkInterfaceId is a required field
  28222. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  28223. // The source/destination checking attribute. Resets the value to true.
  28224. SourceDestCheck *string `locationName:"sourceDestCheck" type:"string"`
  28225. }
  28226. // String returns the string representation
  28227. func (s ResetNetworkInterfaceAttributeInput) String() string {
  28228. return awsutil.Prettify(s)
  28229. }
  28230. // GoString returns the string representation
  28231. func (s ResetNetworkInterfaceAttributeInput) GoString() string {
  28232. return s.String()
  28233. }
  28234. // Validate inspects the fields of the type to determine if they are valid.
  28235. func (s *ResetNetworkInterfaceAttributeInput) Validate() error {
  28236. invalidParams := request.ErrInvalidParams{Context: "ResetNetworkInterfaceAttributeInput"}
  28237. if s.NetworkInterfaceId == nil {
  28238. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  28239. }
  28240. if invalidParams.Len() > 0 {
  28241. return invalidParams
  28242. }
  28243. return nil
  28244. }
  28245. type ResetNetworkInterfaceAttributeOutput struct {
  28246. _ struct{} `type:"structure"`
  28247. }
  28248. // String returns the string representation
  28249. func (s ResetNetworkInterfaceAttributeOutput) String() string {
  28250. return awsutil.Prettify(s)
  28251. }
  28252. // GoString returns the string representation
  28253. func (s ResetNetworkInterfaceAttributeOutput) GoString() string {
  28254. return s.String()
  28255. }
  28256. // Contains the parameters for ResetSnapshotAttribute.
  28257. type ResetSnapshotAttributeInput struct {
  28258. _ struct{} `type:"structure"`
  28259. // The attribute to reset. Currently, only the attribute for permission to create
  28260. // volumes can be reset.
  28261. //
  28262. // Attribute is a required field
  28263. Attribute *string `type:"string" required:"true" enum:"SnapshotAttributeName"`
  28264. // Checks whether you have the required permissions for the action, without
  28265. // actually making the request, and provides an error response. If you have
  28266. // the required permissions, the error response is DryRunOperation. Otherwise,
  28267. // it is UnauthorizedOperation.
  28268. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28269. // The ID of the snapshot.
  28270. //
  28271. // SnapshotId is a required field
  28272. SnapshotId *string `type:"string" required:"true"`
  28273. }
  28274. // String returns the string representation
  28275. func (s ResetSnapshotAttributeInput) String() string {
  28276. return awsutil.Prettify(s)
  28277. }
  28278. // GoString returns the string representation
  28279. func (s ResetSnapshotAttributeInput) GoString() string {
  28280. return s.String()
  28281. }
  28282. // Validate inspects the fields of the type to determine if they are valid.
  28283. func (s *ResetSnapshotAttributeInput) Validate() error {
  28284. invalidParams := request.ErrInvalidParams{Context: "ResetSnapshotAttributeInput"}
  28285. if s.Attribute == nil {
  28286. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  28287. }
  28288. if s.SnapshotId == nil {
  28289. invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
  28290. }
  28291. if invalidParams.Len() > 0 {
  28292. return invalidParams
  28293. }
  28294. return nil
  28295. }
  28296. type ResetSnapshotAttributeOutput struct {
  28297. _ struct{} `type:"structure"`
  28298. }
  28299. // String returns the string representation
  28300. func (s ResetSnapshotAttributeOutput) String() string {
  28301. return awsutil.Prettify(s)
  28302. }
  28303. // GoString returns the string representation
  28304. func (s ResetSnapshotAttributeOutput) GoString() string {
  28305. return s.String()
  28306. }
  28307. // Contains the parameters for RestoreAddressToClassic.
  28308. type RestoreAddressToClassicInput struct {
  28309. _ struct{} `type:"structure"`
  28310. // Checks whether you have the required permissions for the action, without
  28311. // actually making the request, and provides an error response. If you have
  28312. // the required permissions, the error response is DryRunOperation. Otherwise,
  28313. // it is UnauthorizedOperation.
  28314. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28315. // The Elastic IP address.
  28316. //
  28317. // PublicIp is a required field
  28318. PublicIp *string `locationName:"publicIp" type:"string" required:"true"`
  28319. }
  28320. // String returns the string representation
  28321. func (s RestoreAddressToClassicInput) String() string {
  28322. return awsutil.Prettify(s)
  28323. }
  28324. // GoString returns the string representation
  28325. func (s RestoreAddressToClassicInput) GoString() string {
  28326. return s.String()
  28327. }
  28328. // Validate inspects the fields of the type to determine if they are valid.
  28329. func (s *RestoreAddressToClassicInput) Validate() error {
  28330. invalidParams := request.ErrInvalidParams{Context: "RestoreAddressToClassicInput"}
  28331. if s.PublicIp == nil {
  28332. invalidParams.Add(request.NewErrParamRequired("PublicIp"))
  28333. }
  28334. if invalidParams.Len() > 0 {
  28335. return invalidParams
  28336. }
  28337. return nil
  28338. }
  28339. // Contains the output of RestoreAddressToClassic.
  28340. type RestoreAddressToClassicOutput struct {
  28341. _ struct{} `type:"structure"`
  28342. // The Elastic IP address.
  28343. PublicIp *string `locationName:"publicIp" type:"string"`
  28344. // The move status for the IP address.
  28345. Status *string `locationName:"status" type:"string" enum:"Status"`
  28346. }
  28347. // String returns the string representation
  28348. func (s RestoreAddressToClassicOutput) String() string {
  28349. return awsutil.Prettify(s)
  28350. }
  28351. // GoString returns the string representation
  28352. func (s RestoreAddressToClassicOutput) GoString() string {
  28353. return s.String()
  28354. }
  28355. // Contains the parameters for RevokeSecurityGroupEgress.
  28356. type RevokeSecurityGroupEgressInput struct {
  28357. _ struct{} `type:"structure"`
  28358. // The CIDR IP address range. We recommend that you specify the CIDR range in
  28359. // a set of IP permissions instead.
  28360. CidrIp *string `locationName:"cidrIp" type:"string"`
  28361. // Checks whether you have the required permissions for the action, without
  28362. // actually making the request, and provides an error response. If you have
  28363. // the required permissions, the error response is DryRunOperation. Otherwise,
  28364. // it is UnauthorizedOperation.
  28365. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28366. // The start of port range for the TCP and UDP protocols, or an ICMP type number.
  28367. // We recommend that you specify the port range in a set of IP permissions instead.
  28368. FromPort *int64 `locationName:"fromPort" type:"integer"`
  28369. // The ID of the security group.
  28370. //
  28371. // GroupId is a required field
  28372. GroupId *string `locationName:"groupId" type:"string" required:"true"`
  28373. // A set of IP permissions. You can't specify a destination security group and
  28374. // a CIDR IP address range.
  28375. IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
  28376. // The IP protocol name or number. We recommend that you specify the protocol
  28377. // in a set of IP permissions instead.
  28378. IpProtocol *string `locationName:"ipProtocol" type:"string"`
  28379. // The name of a destination security group. To revoke outbound access to a
  28380. // destination security group, we recommend that you use a set of IP permissions
  28381. // instead.
  28382. SourceSecurityGroupName *string `locationName:"sourceSecurityGroupName" type:"string"`
  28383. // The AWS account number for a destination security group. To revoke outbound
  28384. // access to a destination security group, we recommend that you use a set of
  28385. // IP permissions instead.
  28386. SourceSecurityGroupOwnerId *string `locationName:"sourceSecurityGroupOwnerId" type:"string"`
  28387. // The end of port range for the TCP and UDP protocols, or an ICMP type number.
  28388. // We recommend that you specify the port range in a set of IP permissions instead.
  28389. ToPort *int64 `locationName:"toPort" type:"integer"`
  28390. }
  28391. // String returns the string representation
  28392. func (s RevokeSecurityGroupEgressInput) String() string {
  28393. return awsutil.Prettify(s)
  28394. }
  28395. // GoString returns the string representation
  28396. func (s RevokeSecurityGroupEgressInput) GoString() string {
  28397. return s.String()
  28398. }
  28399. // Validate inspects the fields of the type to determine if they are valid.
  28400. func (s *RevokeSecurityGroupEgressInput) Validate() error {
  28401. invalidParams := request.ErrInvalidParams{Context: "RevokeSecurityGroupEgressInput"}
  28402. if s.GroupId == nil {
  28403. invalidParams.Add(request.NewErrParamRequired("GroupId"))
  28404. }
  28405. if invalidParams.Len() > 0 {
  28406. return invalidParams
  28407. }
  28408. return nil
  28409. }
  28410. type RevokeSecurityGroupEgressOutput struct {
  28411. _ struct{} `type:"structure"`
  28412. }
  28413. // String returns the string representation
  28414. func (s RevokeSecurityGroupEgressOutput) String() string {
  28415. return awsutil.Prettify(s)
  28416. }
  28417. // GoString returns the string representation
  28418. func (s RevokeSecurityGroupEgressOutput) GoString() string {
  28419. return s.String()
  28420. }
  28421. // Contains the parameters for RevokeSecurityGroupIngress.
  28422. type RevokeSecurityGroupIngressInput struct {
  28423. _ struct{} `type:"structure"`
  28424. // The CIDR IP address range. You can't specify this parameter when specifying
  28425. // a source security group.
  28426. CidrIp *string `type:"string"`
  28427. // Checks whether you have the required permissions for the action, without
  28428. // actually making the request, and provides an error response. If you have
  28429. // the required permissions, the error response is DryRunOperation. Otherwise,
  28430. // it is UnauthorizedOperation.
  28431. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28432. // The start of port range for the TCP and UDP protocols, or an ICMP type number.
  28433. // For the ICMP type number, use -1 to specify all ICMP types.
  28434. FromPort *int64 `type:"integer"`
  28435. // The ID of the security group. Required for a security group in a nondefault
  28436. // VPC.
  28437. GroupId *string `type:"string"`
  28438. // [EC2-Classic, default VPC] The name of the security group.
  28439. GroupName *string `type:"string"`
  28440. // A set of IP permissions. You can't specify a source security group and a
  28441. // CIDR IP address range.
  28442. IpPermissions []*IpPermission `locationNameList:"item" type:"list"`
  28443. // The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
  28444. // Use -1 to specify all.
  28445. IpProtocol *string `type:"string"`
  28446. // [EC2-Classic, default VPC] The name of the source security group. You can't
  28447. // specify this parameter in combination with the following parameters: the
  28448. // CIDR IP address range, the start of the port range, the IP protocol, and
  28449. // the end of the port range. For EC2-VPC, the source security group must be
  28450. // in the same VPC. To revoke a specific rule for an IP protocol and port range,
  28451. // use a set of IP permissions instead.
  28452. SourceSecurityGroupName *string `type:"string"`
  28453. // [EC2-Classic] The AWS account ID of the source security group, if the source
  28454. // security group is in a different account. You can't specify this parameter
  28455. // in combination with the following parameters: the CIDR IP address range,
  28456. // the IP protocol, the start of the port range, and the end of the port range.
  28457. // To revoke a specific rule for an IP protocol and port range, use a set of
  28458. // IP permissions instead.
  28459. SourceSecurityGroupOwnerId *string `type:"string"`
  28460. // The end of port range for the TCP and UDP protocols, or an ICMP code number.
  28461. // For the ICMP code number, use -1 to specify all ICMP codes for the ICMP type.
  28462. ToPort *int64 `type:"integer"`
  28463. }
  28464. // String returns the string representation
  28465. func (s RevokeSecurityGroupIngressInput) String() string {
  28466. return awsutil.Prettify(s)
  28467. }
  28468. // GoString returns the string representation
  28469. func (s RevokeSecurityGroupIngressInput) GoString() string {
  28470. return s.String()
  28471. }
  28472. type RevokeSecurityGroupIngressOutput struct {
  28473. _ struct{} `type:"structure"`
  28474. }
  28475. // String returns the string representation
  28476. func (s RevokeSecurityGroupIngressOutput) String() string {
  28477. return awsutil.Prettify(s)
  28478. }
  28479. // GoString returns the string representation
  28480. func (s RevokeSecurityGroupIngressOutput) GoString() string {
  28481. return s.String()
  28482. }
  28483. // Describes a route in a route table.
  28484. type Route struct {
  28485. _ struct{} `type:"structure"`
  28486. // The CIDR block used for the destination match.
  28487. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  28488. // The prefix of the AWS service.
  28489. DestinationPrefixListId *string `locationName:"destinationPrefixListId" type:"string"`
  28490. // The ID of a gateway attached to your VPC.
  28491. GatewayId *string `locationName:"gatewayId" type:"string"`
  28492. // The ID of a NAT instance in your VPC.
  28493. InstanceId *string `locationName:"instanceId" type:"string"`
  28494. // The AWS account ID of the owner of the instance.
  28495. InstanceOwnerId *string `locationName:"instanceOwnerId" type:"string"`
  28496. // The ID of a NAT gateway.
  28497. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  28498. // The ID of the network interface.
  28499. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  28500. // Describes how the route was created.
  28501. //
  28502. // * CreateRouteTable - The route was automatically created when the route
  28503. // table was created.
  28504. //
  28505. // * CreateRoute - The route was manually added to the route table.
  28506. //
  28507. // * EnableVgwRoutePropagation - The route was propagated by route propagation.
  28508. Origin *string `locationName:"origin" type:"string" enum:"RouteOrigin"`
  28509. // The state of the route. The blackhole state indicates that the route's target
  28510. // isn't available (for example, the specified gateway isn't attached to the
  28511. // VPC, or the specified NAT instance has been terminated).
  28512. State *string `locationName:"state" type:"string" enum:"RouteState"`
  28513. // The ID of the VPC peering connection.
  28514. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  28515. }
  28516. // String returns the string representation
  28517. func (s Route) String() string {
  28518. return awsutil.Prettify(s)
  28519. }
  28520. // GoString returns the string representation
  28521. func (s Route) GoString() string {
  28522. return s.String()
  28523. }
  28524. // Describes a route table.
  28525. type RouteTable struct {
  28526. _ struct{} `type:"structure"`
  28527. // The associations between the route table and one or more subnets.
  28528. Associations []*RouteTableAssociation `locationName:"associationSet" locationNameList:"item" type:"list"`
  28529. // Any virtual private gateway (VGW) propagating routes.
  28530. PropagatingVgws []*PropagatingVgw `locationName:"propagatingVgwSet" locationNameList:"item" type:"list"`
  28531. // The ID of the route table.
  28532. RouteTableId *string `locationName:"routeTableId" type:"string"`
  28533. // The routes in the route table.
  28534. Routes []*Route `locationName:"routeSet" locationNameList:"item" type:"list"`
  28535. // Any tags assigned to the route table.
  28536. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  28537. // The ID of the VPC.
  28538. VpcId *string `locationName:"vpcId" type:"string"`
  28539. }
  28540. // String returns the string representation
  28541. func (s RouteTable) String() string {
  28542. return awsutil.Prettify(s)
  28543. }
  28544. // GoString returns the string representation
  28545. func (s RouteTable) GoString() string {
  28546. return s.String()
  28547. }
  28548. // Describes an association between a route table and a subnet.
  28549. type RouteTableAssociation struct {
  28550. _ struct{} `type:"structure"`
  28551. // Indicates whether this is the main route table.
  28552. Main *bool `locationName:"main" type:"boolean"`
  28553. // The ID of the association between a route table and a subnet.
  28554. RouteTableAssociationId *string `locationName:"routeTableAssociationId" type:"string"`
  28555. // The ID of the route table.
  28556. RouteTableId *string `locationName:"routeTableId" type:"string"`
  28557. // The ID of the subnet. A subnet ID is not returned for an implicit association.
  28558. SubnetId *string `locationName:"subnetId" type:"string"`
  28559. }
  28560. // String returns the string representation
  28561. func (s RouteTableAssociation) String() string {
  28562. return awsutil.Prettify(s)
  28563. }
  28564. // GoString returns the string representation
  28565. func (s RouteTableAssociation) GoString() string {
  28566. return s.String()
  28567. }
  28568. // Contains the parameters for RunInstances.
  28569. type RunInstancesInput struct {
  28570. _ struct{} `type:"structure"`
  28571. // Reserved.
  28572. AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
  28573. // The block device mapping.
  28574. //
  28575. // Supplying both a snapshot ID and an encryption value as arguments for block-device
  28576. // mapping results in an error. This is because only blank volumes can be encrypted
  28577. // on start, and these are not created from a snapshot. If a snapshot is the
  28578. // basis for the volume, it contains data by definition and its encryption status
  28579. // cannot be changed using this action.
  28580. BlockDeviceMappings []*BlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
  28581. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  28582. // the request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  28583. //
  28584. // Constraints: Maximum 64 ASCII characters
  28585. ClientToken *string `locationName:"clientToken" type:"string"`
  28586. // If you set this parameter to true, you can't terminate the instance using
  28587. // the Amazon EC2 console, CLI, or API; otherwise, you can. If you set this
  28588. // parameter to true and then later want to be able to terminate the instance,
  28589. // you must first change the value of the disableApiTermination attribute to
  28590. // false using ModifyInstanceAttribute. Alternatively, if you set InstanceInitiatedShutdownBehavior
  28591. // to terminate, you can terminate the instance by running the shutdown command
  28592. // from the instance.
  28593. //
  28594. // Default: false
  28595. DisableApiTermination *bool `locationName:"disableApiTermination" type:"boolean"`
  28596. // Checks whether you have the required permissions for the action, without
  28597. // actually making the request, and provides an error response. If you have
  28598. // the required permissions, the error response is DryRunOperation. Otherwise,
  28599. // it is UnauthorizedOperation.
  28600. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28601. // Indicates whether the instance is optimized for EBS I/O. This optimization
  28602. // provides dedicated throughput to Amazon EBS and an optimized configuration
  28603. // stack to provide optimal EBS I/O performance. This optimization isn't available
  28604. // with all instance types. Additional usage charges apply when using an EBS-optimized
  28605. // instance.
  28606. //
  28607. // Default: false
  28608. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  28609. // The IAM instance profile.
  28610. IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
  28611. // The ID of the AMI, which you can get by calling DescribeImages.
  28612. //
  28613. // ImageId is a required field
  28614. ImageId *string `type:"string" required:"true"`
  28615. // Indicates whether an instance stops or terminates when you initiate shutdown
  28616. // from the instance (using the operating system command for system shutdown).
  28617. //
  28618. // Default: stop
  28619. InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"`
  28620. // The instance type. For more information, see Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
  28621. // in the Amazon Elastic Compute Cloud User Guide.
  28622. //
  28623. // Default: m1.small
  28624. InstanceType *string `type:"string" enum:"InstanceType"`
  28625. // The ID of the kernel.
  28626. //
  28627. // We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
  28628. // information, see PV-GRUB (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
  28629. // in the Amazon Elastic Compute Cloud User Guide.
  28630. KernelId *string `type:"string"`
  28631. // The name of the key pair. You can create a key pair using CreateKeyPair or
  28632. // ImportKeyPair.
  28633. //
  28634. // If you do not specify a key pair, you can't connect to the instance unless
  28635. // you choose an AMI that is configured to allow users another way to log in.
  28636. KeyName *string `type:"string"`
  28637. // The maximum number of instances to launch. If you specify more instances
  28638. // than Amazon EC2 can launch in the target Availability Zone, Amazon EC2 launches
  28639. // the largest possible number of instances above MinCount.
  28640. //
  28641. // Constraints: Between 1 and the maximum number you're allowed for the specified
  28642. // instance type. For more information about the default limits, and how to
  28643. // 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)
  28644. // in the Amazon EC2 FAQ.
  28645. //
  28646. // MaxCount is a required field
  28647. MaxCount *int64 `type:"integer" required:"true"`
  28648. // The minimum number of instances to launch. If you specify a minimum that
  28649. // is more instances than Amazon EC2 can launch in the target Availability Zone,
  28650. // Amazon EC2 launches no instances.
  28651. //
  28652. // Constraints: Between 1 and the maximum number you're allowed for the specified
  28653. // instance type. For more information about the default limits, and how to
  28654. // 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)
  28655. // in the Amazon EC2 General FAQ.
  28656. //
  28657. // MinCount is a required field
  28658. MinCount *int64 `type:"integer" required:"true"`
  28659. // The monitoring for the instance.
  28660. Monitoring *RunInstancesMonitoringEnabled `type:"structure"`
  28661. // One or more network interfaces.
  28662. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterface" locationNameList:"item" type:"list"`
  28663. // The placement for the instance.
  28664. Placement *Placement `type:"structure"`
  28665. // [EC2-VPC] The primary IP address. You must specify a value from the IP address
  28666. // range of the subnet.
  28667. //
  28668. // Only one private IP address can be designated as primary. Therefore, you
  28669. // can't specify this parameter if PrivateIpAddresses.n.Primary is set to true
  28670. // and PrivateIpAddresses.n.PrivateIpAddress is set to an IP address.
  28671. //
  28672. // You cannot specify this option if you're launching more than one instance
  28673. // in the request.
  28674. //
  28675. // Default: We select an IP address from the IP address range of the subnet.
  28676. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  28677. // The ID of the RAM disk.
  28678. //
  28679. // We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
  28680. // information, see PV-GRUB (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
  28681. // in the Amazon Elastic Compute Cloud User Guide.
  28682. RamdiskId *string `type:"string"`
  28683. // One or more security group IDs. You can create a security group using CreateSecurityGroup.
  28684. //
  28685. // Default: Amazon EC2 uses the default security group.
  28686. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  28687. // [EC2-Classic, default VPC] One or more security group names. For a nondefault
  28688. // VPC, you must use security group IDs instead.
  28689. //
  28690. // Default: Amazon EC2 uses the default security group.
  28691. SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"SecurityGroup" type:"list"`
  28692. // [EC2-VPC] The ID of the subnet to launch the instance into.
  28693. SubnetId *string `type:"string"`
  28694. // The user data to make available to the instance. For more information, see
  28695. // Running Commands on Your Linux Instance at Launch (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html)
  28696. // (Linux) and Adding User Data (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-add-user-data)
  28697. // (Windows). If you are using an AWS SDK or command line tool, Base64-encoding
  28698. // is performed for you, and you can load the text from a file. Otherwise, you
  28699. // must provide Base64-encoded text.
  28700. UserData *string `type:"string"`
  28701. }
  28702. // String returns the string representation
  28703. func (s RunInstancesInput) String() string {
  28704. return awsutil.Prettify(s)
  28705. }
  28706. // GoString returns the string representation
  28707. func (s RunInstancesInput) GoString() string {
  28708. return s.String()
  28709. }
  28710. // Validate inspects the fields of the type to determine if they are valid.
  28711. func (s *RunInstancesInput) Validate() error {
  28712. invalidParams := request.ErrInvalidParams{Context: "RunInstancesInput"}
  28713. if s.ImageId == nil {
  28714. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  28715. }
  28716. if s.MaxCount == nil {
  28717. invalidParams.Add(request.NewErrParamRequired("MaxCount"))
  28718. }
  28719. if s.MinCount == nil {
  28720. invalidParams.Add(request.NewErrParamRequired("MinCount"))
  28721. }
  28722. if s.Monitoring != nil {
  28723. if err := s.Monitoring.Validate(); err != nil {
  28724. invalidParams.AddNested("Monitoring", err.(request.ErrInvalidParams))
  28725. }
  28726. }
  28727. if s.NetworkInterfaces != nil {
  28728. for i, v := range s.NetworkInterfaces {
  28729. if v == nil {
  28730. continue
  28731. }
  28732. if err := v.Validate(); err != nil {
  28733. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NetworkInterfaces", i), err.(request.ErrInvalidParams))
  28734. }
  28735. }
  28736. }
  28737. if invalidParams.Len() > 0 {
  28738. return invalidParams
  28739. }
  28740. return nil
  28741. }
  28742. // Describes the monitoring for the instance.
  28743. type RunInstancesMonitoringEnabled struct {
  28744. _ struct{} `type:"structure"`
  28745. // Indicates whether monitoring is enabled for the instance.
  28746. //
  28747. // Enabled is a required field
  28748. Enabled *bool `locationName:"enabled" type:"boolean" required:"true"`
  28749. }
  28750. // String returns the string representation
  28751. func (s RunInstancesMonitoringEnabled) String() string {
  28752. return awsutil.Prettify(s)
  28753. }
  28754. // GoString returns the string representation
  28755. func (s RunInstancesMonitoringEnabled) GoString() string {
  28756. return s.String()
  28757. }
  28758. // Validate inspects the fields of the type to determine if they are valid.
  28759. func (s *RunInstancesMonitoringEnabled) Validate() error {
  28760. invalidParams := request.ErrInvalidParams{Context: "RunInstancesMonitoringEnabled"}
  28761. if s.Enabled == nil {
  28762. invalidParams.Add(request.NewErrParamRequired("Enabled"))
  28763. }
  28764. if invalidParams.Len() > 0 {
  28765. return invalidParams
  28766. }
  28767. return nil
  28768. }
  28769. // Contains the parameters for RunScheduledInstances.
  28770. type RunScheduledInstancesInput struct {
  28771. _ struct{} `type:"structure"`
  28772. // Unique, case-sensitive identifier that ensures the idempotency of the request.
  28773. // For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  28774. ClientToken *string `type:"string" idempotencyToken:"true"`
  28775. // Checks whether you have the required permissions for the action, without
  28776. // actually making the request, and provides an error response. If you have
  28777. // the required permissions, the error response is DryRunOperation. Otherwise,
  28778. // it is UnauthorizedOperation.
  28779. DryRun *bool `type:"boolean"`
  28780. // The number of instances.
  28781. //
  28782. // Default: 1
  28783. InstanceCount *int64 `type:"integer"`
  28784. // The launch specification. You must match the instance type, Availability
  28785. // Zone, network, and platform of the schedule that you purchased.
  28786. //
  28787. // LaunchSpecification is a required field
  28788. LaunchSpecification *ScheduledInstancesLaunchSpecification `type:"structure" required:"true"`
  28789. // The Scheduled Instance ID.
  28790. //
  28791. // ScheduledInstanceId is a required field
  28792. ScheduledInstanceId *string `type:"string" required:"true"`
  28793. }
  28794. // String returns the string representation
  28795. func (s RunScheduledInstancesInput) String() string {
  28796. return awsutil.Prettify(s)
  28797. }
  28798. // GoString returns the string representation
  28799. func (s RunScheduledInstancesInput) GoString() string {
  28800. return s.String()
  28801. }
  28802. // Validate inspects the fields of the type to determine if they are valid.
  28803. func (s *RunScheduledInstancesInput) Validate() error {
  28804. invalidParams := request.ErrInvalidParams{Context: "RunScheduledInstancesInput"}
  28805. if s.LaunchSpecification == nil {
  28806. invalidParams.Add(request.NewErrParamRequired("LaunchSpecification"))
  28807. }
  28808. if s.ScheduledInstanceId == nil {
  28809. invalidParams.Add(request.NewErrParamRequired("ScheduledInstanceId"))
  28810. }
  28811. if s.LaunchSpecification != nil {
  28812. if err := s.LaunchSpecification.Validate(); err != nil {
  28813. invalidParams.AddNested("LaunchSpecification", err.(request.ErrInvalidParams))
  28814. }
  28815. }
  28816. if invalidParams.Len() > 0 {
  28817. return invalidParams
  28818. }
  28819. return nil
  28820. }
  28821. // Contains the output of RunScheduledInstances.
  28822. type RunScheduledInstancesOutput struct {
  28823. _ struct{} `type:"structure"`
  28824. // The IDs of the newly launched instances.
  28825. InstanceIdSet []*string `locationName:"instanceIdSet" locationNameList:"item" type:"list"`
  28826. }
  28827. // String returns the string representation
  28828. func (s RunScheduledInstancesOutput) String() string {
  28829. return awsutil.Prettify(s)
  28830. }
  28831. // GoString returns the string representation
  28832. func (s RunScheduledInstancesOutput) GoString() string {
  28833. return s.String()
  28834. }
  28835. // Describes the storage parameters for S3 and S3 buckets for an instance store-backed
  28836. // AMI.
  28837. type S3Storage struct {
  28838. _ struct{} `type:"structure"`
  28839. // The access key ID of the owner of the bucket. Before you specify a value
  28840. // for your access key ID, review and follow the guidance in Best Practices
  28841. // for Managing AWS Access Keys (http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html).
  28842. AWSAccessKeyId *string `type:"string"`
  28843. // The bucket in which to store the AMI. You can specify a bucket that you already
  28844. // own or a new bucket that Amazon EC2 creates on your behalf. If you specify
  28845. // a bucket that belongs to someone else, Amazon EC2 returns an error.
  28846. Bucket *string `locationName:"bucket" type:"string"`
  28847. // The beginning of the file name of the AMI.
  28848. Prefix *string `locationName:"prefix" type:"string"`
  28849. // An Amazon S3 upload policy that gives Amazon EC2 permission to upload items
  28850. // into Amazon S3 on your behalf.
  28851. //
  28852. // UploadPolicy is automatically base64 encoded/decoded by the SDK.
  28853. UploadPolicy []byte `locationName:"uploadPolicy" type:"blob"`
  28854. // The signature of the JSON document.
  28855. UploadPolicySignature *string `locationName:"uploadPolicySignature" type:"string"`
  28856. }
  28857. // String returns the string representation
  28858. func (s S3Storage) String() string {
  28859. return awsutil.Prettify(s)
  28860. }
  28861. // GoString returns the string representation
  28862. func (s S3Storage) GoString() string {
  28863. return s.String()
  28864. }
  28865. // Describes a Scheduled Instance.
  28866. type ScheduledInstance struct {
  28867. _ struct{} `type:"structure"`
  28868. // The Availability Zone.
  28869. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  28870. // The date when the Scheduled Instance was purchased.
  28871. CreateDate *time.Time `locationName:"createDate" type:"timestamp" timestampFormat:"iso8601"`
  28872. // The hourly price for a single instance.
  28873. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  28874. // The number of instances.
  28875. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  28876. // The instance type.
  28877. InstanceType *string `locationName:"instanceType" type:"string"`
  28878. // The network platform (EC2-Classic or EC2-VPC).
  28879. NetworkPlatform *string `locationName:"networkPlatform" type:"string"`
  28880. // The time for the next schedule to start.
  28881. NextSlotStartTime *time.Time `locationName:"nextSlotStartTime" type:"timestamp" timestampFormat:"iso8601"`
  28882. // The platform (Linux/UNIX or Windows).
  28883. Platform *string `locationName:"platform" type:"string"`
  28884. // The time that the previous schedule ended or will end.
  28885. PreviousSlotEndTime *time.Time `locationName:"previousSlotEndTime" type:"timestamp" timestampFormat:"iso8601"`
  28886. // The schedule recurrence.
  28887. Recurrence *ScheduledInstanceRecurrence `locationName:"recurrence" type:"structure"`
  28888. // The Scheduled Instance ID.
  28889. ScheduledInstanceId *string `locationName:"scheduledInstanceId" type:"string"`
  28890. // The number of hours in the schedule.
  28891. SlotDurationInHours *int64 `locationName:"slotDurationInHours" type:"integer"`
  28892. // The end date for the Scheduled Instance.
  28893. TermEndDate *time.Time `locationName:"termEndDate" type:"timestamp" timestampFormat:"iso8601"`
  28894. // The start date for the Scheduled Instance.
  28895. TermStartDate *time.Time `locationName:"termStartDate" type:"timestamp" timestampFormat:"iso8601"`
  28896. // The total number of hours for a single instance for the entire term.
  28897. TotalScheduledInstanceHours *int64 `locationName:"totalScheduledInstanceHours" type:"integer"`
  28898. }
  28899. // String returns the string representation
  28900. func (s ScheduledInstance) String() string {
  28901. return awsutil.Prettify(s)
  28902. }
  28903. // GoString returns the string representation
  28904. func (s ScheduledInstance) GoString() string {
  28905. return s.String()
  28906. }
  28907. // Describes a schedule that is available for your Scheduled Instances.
  28908. type ScheduledInstanceAvailability struct {
  28909. _ struct{} `type:"structure"`
  28910. // The Availability Zone.
  28911. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  28912. // The number of available instances.
  28913. AvailableInstanceCount *int64 `locationName:"availableInstanceCount" type:"integer"`
  28914. // The time period for the first schedule to start.
  28915. FirstSlotStartTime *time.Time `locationName:"firstSlotStartTime" type:"timestamp" timestampFormat:"iso8601"`
  28916. // The hourly price for a single instance.
  28917. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  28918. // The instance type. You can specify one of the C3, C4, M4, or R3 instance
  28919. // types.
  28920. InstanceType *string `locationName:"instanceType" type:"string"`
  28921. // The maximum term. The only possible value is 365 days.
  28922. MaxTermDurationInDays *int64 `locationName:"maxTermDurationInDays" type:"integer"`
  28923. // The minimum term. The only possible value is 365 days.
  28924. MinTermDurationInDays *int64 `locationName:"minTermDurationInDays" type:"integer"`
  28925. // The network platform (EC2-Classic or EC2-VPC).
  28926. NetworkPlatform *string `locationName:"networkPlatform" type:"string"`
  28927. // The platform (Linux/UNIX or Windows).
  28928. Platform *string `locationName:"platform" type:"string"`
  28929. // The purchase token. This token expires in two hours.
  28930. PurchaseToken *string `locationName:"purchaseToken" type:"string"`
  28931. // The schedule recurrence.
  28932. Recurrence *ScheduledInstanceRecurrence `locationName:"recurrence" type:"structure"`
  28933. // The number of hours in the schedule.
  28934. SlotDurationInHours *int64 `locationName:"slotDurationInHours" type:"integer"`
  28935. // The total number of hours for a single instance for the entire term.
  28936. TotalScheduledInstanceHours *int64 `locationName:"totalScheduledInstanceHours" type:"integer"`
  28937. }
  28938. // String returns the string representation
  28939. func (s ScheduledInstanceAvailability) String() string {
  28940. return awsutil.Prettify(s)
  28941. }
  28942. // GoString returns the string representation
  28943. func (s ScheduledInstanceAvailability) GoString() string {
  28944. return s.String()
  28945. }
  28946. // Describes the recurring schedule for a Scheduled Instance.
  28947. type ScheduledInstanceRecurrence struct {
  28948. _ struct{} `type:"structure"`
  28949. // The frequency (Daily, Weekly, or Monthly).
  28950. Frequency *string `locationName:"frequency" type:"string"`
  28951. // The interval quantity. The interval unit depends on the value of frequency.
  28952. // For example, every 2 weeks or every 2 months.
  28953. Interval *int64 `locationName:"interval" type:"integer"`
  28954. // The days. For a monthly schedule, this is one or more days of the month (1-31).
  28955. // For a weekly schedule, this is one or more days of the week (1-7, where 1
  28956. // is Sunday).
  28957. OccurrenceDaySet []*int64 `locationName:"occurrenceDaySet" locationNameList:"item" type:"list"`
  28958. // Indicates whether the occurrence is relative to the end of the specified
  28959. // week or month.
  28960. OccurrenceRelativeToEnd *bool `locationName:"occurrenceRelativeToEnd" type:"boolean"`
  28961. // The unit for occurrenceDaySet (DayOfWeek or DayOfMonth).
  28962. OccurrenceUnit *string `locationName:"occurrenceUnit" type:"string"`
  28963. }
  28964. // String returns the string representation
  28965. func (s ScheduledInstanceRecurrence) String() string {
  28966. return awsutil.Prettify(s)
  28967. }
  28968. // GoString returns the string representation
  28969. func (s ScheduledInstanceRecurrence) GoString() string {
  28970. return s.String()
  28971. }
  28972. // Describes the recurring schedule for a Scheduled Instance.
  28973. type ScheduledInstanceRecurrenceRequest struct {
  28974. _ struct{} `type:"structure"`
  28975. // The frequency (Daily, Weekly, or Monthly).
  28976. Frequency *string `type:"string"`
  28977. // The interval quantity. The interval unit depends on the value of Frequency.
  28978. // For example, every 2 weeks or every 2 months.
  28979. Interval *int64 `type:"integer"`
  28980. // The days. For a monthly schedule, this is one or more days of the month (1-31).
  28981. // For a weekly schedule, this is one or more days of the week (1-7, where 1
  28982. // is Sunday). You can't specify this value with a daily schedule. If the occurrence
  28983. // is relative to the end of the month, you can specify only a single day.
  28984. OccurrenceDays []*int64 `locationName:"OccurrenceDay" locationNameList:"OccurenceDay" type:"list"`
  28985. // Indicates whether the occurrence is relative to the end of the specified
  28986. // week or month. You can't specify this value with a daily schedule.
  28987. OccurrenceRelativeToEnd *bool `type:"boolean"`
  28988. // The unit for OccurrenceDays (DayOfWeek or DayOfMonth). This value is required
  28989. // for a monthly schedule. You can't specify DayOfWeek with a weekly schedule.
  28990. // You can't specify this value with a daily schedule.
  28991. OccurrenceUnit *string `type:"string"`
  28992. }
  28993. // String returns the string representation
  28994. func (s ScheduledInstanceRecurrenceRequest) String() string {
  28995. return awsutil.Prettify(s)
  28996. }
  28997. // GoString returns the string representation
  28998. func (s ScheduledInstanceRecurrenceRequest) GoString() string {
  28999. return s.String()
  29000. }
  29001. // Describes a block device mapping for a Scheduled Instance.
  29002. type ScheduledInstancesBlockDeviceMapping struct {
  29003. _ struct{} `type:"structure"`
  29004. // The device name exposed to the instance (for example, /dev/sdh or xvdh).
  29005. DeviceName *string `type:"string"`
  29006. // Parameters used to set up EBS volumes automatically when the instance is
  29007. // launched.
  29008. Ebs *ScheduledInstancesEbs `type:"structure"`
  29009. // Suppresses the specified device included in the block device mapping of the
  29010. // AMI.
  29011. NoDevice *string `type:"string"`
  29012. // The virtual device name (ephemeralN). Instance store volumes are numbered
  29013. // starting from 0. An instance type with two available instance store volumes
  29014. // can specify mappings for ephemeral0 and ephemeral1.The number of available
  29015. // instance store volumes depends on the instance type. After you connect to
  29016. // the instance, you must mount the volume.
  29017. //
  29018. // Constraints: For M3 instances, you must specify instance store volumes in
  29019. // the block device mapping for the instance. When you launch an M3 instance,
  29020. // we ignore any instance store volumes specified in the block device mapping
  29021. // for the AMI.
  29022. VirtualName *string `type:"string"`
  29023. }
  29024. // String returns the string representation
  29025. func (s ScheduledInstancesBlockDeviceMapping) String() string {
  29026. return awsutil.Prettify(s)
  29027. }
  29028. // GoString returns the string representation
  29029. func (s ScheduledInstancesBlockDeviceMapping) GoString() string {
  29030. return s.String()
  29031. }
  29032. // Describes an EBS volume for a Scheduled Instance.
  29033. type ScheduledInstancesEbs struct {
  29034. _ struct{} `type:"structure"`
  29035. // Indicates whether the volume is deleted on instance termination.
  29036. DeleteOnTermination *bool `type:"boolean"`
  29037. // Indicates whether the volume is encrypted. You can attached encrypted volumes
  29038. // only to instances that support them.
  29039. Encrypted *bool `type:"boolean"`
  29040. // The number of I/O operations per second (IOPS) that the volume supports.
  29041. // For io1 volumes, this represents the number of IOPS that are provisioned
  29042. // for the volume. For gp2 volumes, this represents the baseline performance
  29043. // of the volume and the rate at which the volume accumulates I/O credits for
  29044. // bursting. For more information about gp2 baseline performance, I/O credits,
  29045. // and bursting, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
  29046. // in the Amazon Elastic Compute Cloud User Guide.
  29047. //
  29048. // Constraint: Range is 100-20000 IOPS for io1 volumes and 100-10000 IOPS for
  29049. // gp2 volumes.
  29050. //
  29051. // Condition: This parameter is required for requests to create io1volumes;
  29052. // it is not used in requests to create gp2, st1, sc1, or standard volumes.
  29053. Iops *int64 `type:"integer"`
  29054. // The ID of the snapshot.
  29055. SnapshotId *string `type:"string"`
  29056. // The size of the volume, in GiB.
  29057. //
  29058. // Default: If you're creating the volume from a snapshot and don't specify
  29059. // a volume size, the default is the snapshot size.
  29060. VolumeSize *int64 `type:"integer"`
  29061. // The volume type. gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD,
  29062. // Throughput Optimized HDD for st1, Cold HDD for sc1, or standard for Magnetic.
  29063. //
  29064. // Default: standard
  29065. VolumeType *string `type:"string"`
  29066. }
  29067. // String returns the string representation
  29068. func (s ScheduledInstancesEbs) String() string {
  29069. return awsutil.Prettify(s)
  29070. }
  29071. // GoString returns the string representation
  29072. func (s ScheduledInstancesEbs) GoString() string {
  29073. return s.String()
  29074. }
  29075. // Describes an IAM instance profile for a Scheduled Instance.
  29076. type ScheduledInstancesIamInstanceProfile struct {
  29077. _ struct{} `type:"structure"`
  29078. // The Amazon Resource Name (ARN).
  29079. Arn *string `type:"string"`
  29080. // The name.
  29081. Name *string `type:"string"`
  29082. }
  29083. // String returns the string representation
  29084. func (s ScheduledInstancesIamInstanceProfile) String() string {
  29085. return awsutil.Prettify(s)
  29086. }
  29087. // GoString returns the string representation
  29088. func (s ScheduledInstancesIamInstanceProfile) GoString() string {
  29089. return s.String()
  29090. }
  29091. // Describes the launch specification for a Scheduled Instance.
  29092. //
  29093. // If you are launching the Scheduled Instance in EC2-VPC, you must specify
  29094. // the ID of the subnet. You can specify the subnet using either SubnetId or
  29095. // NetworkInterface.
  29096. type ScheduledInstancesLaunchSpecification struct {
  29097. _ struct{} `type:"structure"`
  29098. // One or more block device mapping entries.
  29099. BlockDeviceMappings []*ScheduledInstancesBlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
  29100. // Indicates whether the instances are optimized for EBS I/O. This optimization
  29101. // provides dedicated throughput to Amazon EBS and an optimized configuration
  29102. // stack to provide optimal EBS I/O performance. This optimization isn't available
  29103. // with all instance types. Additional usage charges apply when using an EBS-optimized
  29104. // instance.
  29105. //
  29106. // Default: false
  29107. EbsOptimized *bool `type:"boolean"`
  29108. // The IAM instance profile.
  29109. IamInstanceProfile *ScheduledInstancesIamInstanceProfile `type:"structure"`
  29110. // The ID of the Amazon Machine Image (AMI).
  29111. //
  29112. // ImageId is a required field
  29113. ImageId *string `type:"string" required:"true"`
  29114. // The instance type.
  29115. InstanceType *string `type:"string"`
  29116. // The ID of the kernel.
  29117. KernelId *string `type:"string"`
  29118. // The name of the key pair.
  29119. KeyName *string `type:"string"`
  29120. // Enable or disable monitoring for the instances.
  29121. Monitoring *ScheduledInstancesMonitoring `type:"structure"`
  29122. // One or more network interfaces.
  29123. NetworkInterfaces []*ScheduledInstancesNetworkInterface `locationName:"NetworkInterface" locationNameList:"NetworkInterface" type:"list"`
  29124. // The placement information.
  29125. Placement *ScheduledInstancesPlacement `type:"structure"`
  29126. // The ID of the RAM disk.
  29127. RamdiskId *string `type:"string"`
  29128. // The IDs of one or more security groups.
  29129. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  29130. // The ID of the subnet in which to launch the instances.
  29131. SubnetId *string `type:"string"`
  29132. // The base64-encoded MIME user data.
  29133. UserData *string `type:"string"`
  29134. }
  29135. // String returns the string representation
  29136. func (s ScheduledInstancesLaunchSpecification) String() string {
  29137. return awsutil.Prettify(s)
  29138. }
  29139. // GoString returns the string representation
  29140. func (s ScheduledInstancesLaunchSpecification) GoString() string {
  29141. return s.String()
  29142. }
  29143. // Validate inspects the fields of the type to determine if they are valid.
  29144. func (s *ScheduledInstancesLaunchSpecification) Validate() error {
  29145. invalidParams := request.ErrInvalidParams{Context: "ScheduledInstancesLaunchSpecification"}
  29146. if s.ImageId == nil {
  29147. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  29148. }
  29149. if invalidParams.Len() > 0 {
  29150. return invalidParams
  29151. }
  29152. return nil
  29153. }
  29154. // Describes whether monitoring is enabled for a Scheduled Instance.
  29155. type ScheduledInstancesMonitoring struct {
  29156. _ struct{} `type:"structure"`
  29157. // Indicates whether monitoring is enabled.
  29158. Enabled *bool `type:"boolean"`
  29159. }
  29160. // String returns the string representation
  29161. func (s ScheduledInstancesMonitoring) String() string {
  29162. return awsutil.Prettify(s)
  29163. }
  29164. // GoString returns the string representation
  29165. func (s ScheduledInstancesMonitoring) GoString() string {
  29166. return s.String()
  29167. }
  29168. // Describes a network interface for a Scheduled Instance.
  29169. type ScheduledInstancesNetworkInterface struct {
  29170. _ struct{} `type:"structure"`
  29171. // Indicates whether to assign a public IP address to instances launched in
  29172. // a VPC. The public IP address can only be assigned to a network interface
  29173. // for eth0, and can only be assigned to a new network interface, not an existing
  29174. // one. You cannot specify more than one network interface in the request. If
  29175. // launching into a default subnet, the default value is true.
  29176. AssociatePublicIpAddress *bool `type:"boolean"`
  29177. // Indicates whether to delete the interface when the instance is terminated.
  29178. DeleteOnTermination *bool `type:"boolean"`
  29179. // The description.
  29180. Description *string `type:"string"`
  29181. // The index of the device for the network interface attachment.
  29182. DeviceIndex *int64 `type:"integer"`
  29183. // The IDs of one or more security groups.
  29184. Groups []*string `locationName:"Group" locationNameList:"SecurityGroupId" type:"list"`
  29185. // The ID of the network interface.
  29186. NetworkInterfaceId *string `type:"string"`
  29187. // The IP address of the network interface within the subnet.
  29188. PrivateIpAddress *string `type:"string"`
  29189. // The private IP addresses.
  29190. PrivateIpAddressConfigs []*ScheduledInstancesPrivateIpAddressConfig `locationName:"PrivateIpAddressConfig" locationNameList:"PrivateIpAddressConfigSet" type:"list"`
  29191. // The number of secondary private IP addresses.
  29192. SecondaryPrivateIpAddressCount *int64 `type:"integer"`
  29193. // The ID of the subnet.
  29194. SubnetId *string `type:"string"`
  29195. }
  29196. // String returns the string representation
  29197. func (s ScheduledInstancesNetworkInterface) String() string {
  29198. return awsutil.Prettify(s)
  29199. }
  29200. // GoString returns the string representation
  29201. func (s ScheduledInstancesNetworkInterface) GoString() string {
  29202. return s.String()
  29203. }
  29204. // Describes the placement for a Scheduled Instance.
  29205. type ScheduledInstancesPlacement struct {
  29206. _ struct{} `type:"structure"`
  29207. // The Availability Zone.
  29208. AvailabilityZone *string `type:"string"`
  29209. // The name of the placement group.
  29210. GroupName *string `type:"string"`
  29211. }
  29212. // String returns the string representation
  29213. func (s ScheduledInstancesPlacement) String() string {
  29214. return awsutil.Prettify(s)
  29215. }
  29216. // GoString returns the string representation
  29217. func (s ScheduledInstancesPlacement) GoString() string {
  29218. return s.String()
  29219. }
  29220. // Describes a private IP address for a Scheduled Instance.
  29221. type ScheduledInstancesPrivateIpAddressConfig struct {
  29222. _ struct{} `type:"structure"`
  29223. // Indicates whether this is a primary IP address. Otherwise, this is a secondary
  29224. // IP address.
  29225. Primary *bool `type:"boolean"`
  29226. // The IP address.
  29227. PrivateIpAddress *string `type:"string"`
  29228. }
  29229. // String returns the string representation
  29230. func (s ScheduledInstancesPrivateIpAddressConfig) String() string {
  29231. return awsutil.Prettify(s)
  29232. }
  29233. // GoString returns the string representation
  29234. func (s ScheduledInstancesPrivateIpAddressConfig) GoString() string {
  29235. return s.String()
  29236. }
  29237. // Describes a security group
  29238. type SecurityGroup struct {
  29239. _ struct{} `type:"structure"`
  29240. // A description of the security group.
  29241. Description *string `locationName:"groupDescription" type:"string"`
  29242. // The ID of the security group.
  29243. GroupId *string `locationName:"groupId" type:"string"`
  29244. // The name of the security group.
  29245. GroupName *string `locationName:"groupName" type:"string"`
  29246. // One or more inbound rules associated with the security group.
  29247. IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
  29248. // [EC2-VPC] One or more outbound rules associated with the security group.
  29249. IpPermissionsEgress []*IpPermission `locationName:"ipPermissionsEgress" locationNameList:"item" type:"list"`
  29250. // The AWS account ID of the owner of the security group.
  29251. OwnerId *string `locationName:"ownerId" type:"string"`
  29252. // Any tags assigned to the security group.
  29253. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  29254. // [EC2-VPC] The ID of the VPC for the security group.
  29255. VpcId *string `locationName:"vpcId" type:"string"`
  29256. }
  29257. // String returns the string representation
  29258. func (s SecurityGroup) String() string {
  29259. return awsutil.Prettify(s)
  29260. }
  29261. // GoString returns the string representation
  29262. func (s SecurityGroup) GoString() string {
  29263. return s.String()
  29264. }
  29265. // Describes a VPC with a security group that references your security group.
  29266. type SecurityGroupReference struct {
  29267. _ struct{} `type:"structure"`
  29268. // The ID of your security group.
  29269. //
  29270. // GroupId is a required field
  29271. GroupId *string `locationName:"groupId" type:"string" required:"true"`
  29272. // The ID of the VPC with the referencing security group.
  29273. //
  29274. // ReferencingVpcId is a required field
  29275. ReferencingVpcId *string `locationName:"referencingVpcId" type:"string" required:"true"`
  29276. // The ID of the VPC peering connection.
  29277. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  29278. }
  29279. // String returns the string representation
  29280. func (s SecurityGroupReference) String() string {
  29281. return awsutil.Prettify(s)
  29282. }
  29283. // GoString returns the string representation
  29284. func (s SecurityGroupReference) GoString() string {
  29285. return s.String()
  29286. }
  29287. // Describes the time period for a Scheduled Instance to start its first schedule.
  29288. // The time period must span less than one day.
  29289. type SlotDateTimeRangeRequest struct {
  29290. _ struct{} `type:"structure"`
  29291. // The earliest date and time, in UTC, for the Scheduled Instance to start.
  29292. //
  29293. // EarliestTime is a required field
  29294. EarliestTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  29295. // The latest date and time, in UTC, for the Scheduled Instance to start. This
  29296. // value must be later than or equal to the earliest date and at most three
  29297. // months in the future.
  29298. //
  29299. // LatestTime is a required field
  29300. LatestTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  29301. }
  29302. // String returns the string representation
  29303. func (s SlotDateTimeRangeRequest) String() string {
  29304. return awsutil.Prettify(s)
  29305. }
  29306. // GoString returns the string representation
  29307. func (s SlotDateTimeRangeRequest) GoString() string {
  29308. return s.String()
  29309. }
  29310. // Validate inspects the fields of the type to determine if they are valid.
  29311. func (s *SlotDateTimeRangeRequest) Validate() error {
  29312. invalidParams := request.ErrInvalidParams{Context: "SlotDateTimeRangeRequest"}
  29313. if s.EarliestTime == nil {
  29314. invalidParams.Add(request.NewErrParamRequired("EarliestTime"))
  29315. }
  29316. if s.LatestTime == nil {
  29317. invalidParams.Add(request.NewErrParamRequired("LatestTime"))
  29318. }
  29319. if invalidParams.Len() > 0 {
  29320. return invalidParams
  29321. }
  29322. return nil
  29323. }
  29324. // Describes the time period for a Scheduled Instance to start its first schedule.
  29325. type SlotStartTimeRangeRequest struct {
  29326. _ struct{} `type:"structure"`
  29327. // The earliest date and time, in UTC, for the Scheduled Instance to start.
  29328. EarliestTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  29329. // The latest date and time, in UTC, for the Scheduled Instance to start.
  29330. LatestTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  29331. }
  29332. // String returns the string representation
  29333. func (s SlotStartTimeRangeRequest) String() string {
  29334. return awsutil.Prettify(s)
  29335. }
  29336. // GoString returns the string representation
  29337. func (s SlotStartTimeRangeRequest) GoString() string {
  29338. return s.String()
  29339. }
  29340. // Describes a snapshot.
  29341. type Snapshot struct {
  29342. _ struct{} `type:"structure"`
  29343. // The data encryption key identifier for the snapshot. This value is a unique
  29344. // identifier that corresponds to the data encryption key that was used to encrypt
  29345. // the original volume or snapshot copy. Because data encryption keys are inherited
  29346. // by volumes created from snapshots, and vice versa, if snapshots share the
  29347. // same data encryption key identifier, then they belong to the same volume/snapshot
  29348. // lineage. This parameter is only returned by the DescribeSnapshots API operation.
  29349. DataEncryptionKeyId *string `locationName:"dataEncryptionKeyId" type:"string"`
  29350. // The description for the snapshot.
  29351. Description *string `locationName:"description" type:"string"`
  29352. // Indicates whether the snapshot is encrypted.
  29353. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  29354. // The full ARN of the AWS Key Management Service (AWS KMS) customer master
  29355. // key (CMK) that was used to protect the volume encryption key for the parent
  29356. // volume.
  29357. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  29358. // Value from an Amazon-maintained list (amazon | aws-marketplace | microsoft)
  29359. // of snapshot owners. Not to be confused with the user-configured AWS account
  29360. // alias, which is set from the IAM console.
  29361. OwnerAlias *string `locationName:"ownerAlias" type:"string"`
  29362. // The AWS account ID of the EBS snapshot owner.
  29363. OwnerId *string `locationName:"ownerId" type:"string"`
  29364. // The progress of the snapshot, as a percentage.
  29365. Progress *string `locationName:"progress" type:"string"`
  29366. // The ID of the snapshot. Each snapshot receives a unique identifier when it
  29367. // is created.
  29368. SnapshotId *string `locationName:"snapshotId" type:"string"`
  29369. // The time stamp when the snapshot was initiated.
  29370. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
  29371. // The snapshot state.
  29372. State *string `locationName:"status" type:"string" enum:"SnapshotState"`
  29373. // Encrypted Amazon EBS snapshots are copied asynchronously. If a snapshot copy
  29374. // operation fails (for example, if the proper AWS Key Management Service (AWS
  29375. // KMS) permissions are not obtained) this field displays error state details
  29376. // to help you diagnose why the error occurred. This parameter is only returned
  29377. // by the DescribeSnapshots API operation.
  29378. StateMessage *string `locationName:"statusMessage" type:"string"`
  29379. // Any tags assigned to the snapshot.
  29380. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  29381. // The ID of the volume that was used to create the snapshot. Snapshots created
  29382. // by the CopySnapshot action have an arbitrary volume ID that should not be
  29383. // used for any purpose.
  29384. VolumeId *string `locationName:"volumeId" type:"string"`
  29385. // The size of the volume, in GiB.
  29386. VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
  29387. }
  29388. // String returns the string representation
  29389. func (s Snapshot) String() string {
  29390. return awsutil.Prettify(s)
  29391. }
  29392. // GoString returns the string representation
  29393. func (s Snapshot) GoString() string {
  29394. return s.String()
  29395. }
  29396. // Describes the snapshot created from the imported disk.
  29397. type SnapshotDetail struct {
  29398. _ struct{} `type:"structure"`
  29399. // A description for the snapshot.
  29400. Description *string `locationName:"description" type:"string"`
  29401. // The block device mapping for the snapshot.
  29402. DeviceName *string `locationName:"deviceName" type:"string"`
  29403. // The size of the disk in the snapshot, in GiB.
  29404. DiskImageSize *float64 `locationName:"diskImageSize" type:"double"`
  29405. // The format of the disk image from which the snapshot is created.
  29406. Format *string `locationName:"format" type:"string"`
  29407. // The percentage of progress for the task.
  29408. Progress *string `locationName:"progress" type:"string"`
  29409. // The snapshot ID of the disk being imported.
  29410. SnapshotId *string `locationName:"snapshotId" type:"string"`
  29411. // A brief status of the snapshot creation.
  29412. Status *string `locationName:"status" type:"string"`
  29413. // A detailed status message for the snapshot creation.
  29414. StatusMessage *string `locationName:"statusMessage" type:"string"`
  29415. // The URL used to access the disk image.
  29416. Url *string `locationName:"url" type:"string"`
  29417. // The S3 bucket for the disk image.
  29418. UserBucket *UserBucketDetails `locationName:"userBucket" type:"structure"`
  29419. }
  29420. // String returns the string representation
  29421. func (s SnapshotDetail) String() string {
  29422. return awsutil.Prettify(s)
  29423. }
  29424. // GoString returns the string representation
  29425. func (s SnapshotDetail) GoString() string {
  29426. return s.String()
  29427. }
  29428. // The disk container object for the import snapshot request.
  29429. type SnapshotDiskContainer struct {
  29430. _ struct{} `type:"structure"`
  29431. // The description of the disk image being imported.
  29432. Description *string `type:"string"`
  29433. // The format of the disk image being imported.
  29434. //
  29435. // Valid values: RAW | VHD | VMDK | OVA
  29436. Format *string `type:"string"`
  29437. // The URL to the Amazon S3-based disk image being imported. It can either be
  29438. // a https URL (https://..) or an Amazon S3 URL (s3://..).
  29439. Url *string `type:"string"`
  29440. // The S3 bucket for the disk image.
  29441. UserBucket *UserBucket `type:"structure"`
  29442. }
  29443. // String returns the string representation
  29444. func (s SnapshotDiskContainer) String() string {
  29445. return awsutil.Prettify(s)
  29446. }
  29447. // GoString returns the string representation
  29448. func (s SnapshotDiskContainer) GoString() string {
  29449. return s.String()
  29450. }
  29451. // Details about the import snapshot task.
  29452. type SnapshotTaskDetail struct {
  29453. _ struct{} `type:"structure"`
  29454. // The description of the snapshot.
  29455. Description *string `locationName:"description" type:"string"`
  29456. // The size of the disk in the snapshot, in GiB.
  29457. DiskImageSize *float64 `locationName:"diskImageSize" type:"double"`
  29458. // The format of the disk image from which the snapshot is created.
  29459. Format *string `locationName:"format" type:"string"`
  29460. // The percentage of completion for the import snapshot task.
  29461. Progress *string `locationName:"progress" type:"string"`
  29462. // The snapshot ID of the disk being imported.
  29463. SnapshotId *string `locationName:"snapshotId" type:"string"`
  29464. // A brief status for the import snapshot task.
  29465. Status *string `locationName:"status" type:"string"`
  29466. // A detailed status message for the import snapshot task.
  29467. StatusMessage *string `locationName:"statusMessage" type:"string"`
  29468. // The URL of the disk image from which the snapshot is created.
  29469. Url *string `locationName:"url" type:"string"`
  29470. // The S3 bucket for the disk image.
  29471. UserBucket *UserBucketDetails `locationName:"userBucket" type:"structure"`
  29472. }
  29473. // String returns the string representation
  29474. func (s SnapshotTaskDetail) String() string {
  29475. return awsutil.Prettify(s)
  29476. }
  29477. // GoString returns the string representation
  29478. func (s SnapshotTaskDetail) GoString() string {
  29479. return s.String()
  29480. }
  29481. // Describes the data feed for a Spot instance.
  29482. type SpotDatafeedSubscription struct {
  29483. _ struct{} `type:"structure"`
  29484. // The Amazon S3 bucket where the Spot instance data feed is located.
  29485. Bucket *string `locationName:"bucket" type:"string"`
  29486. // The fault codes for the Spot instance request, if any.
  29487. Fault *SpotInstanceStateFault `locationName:"fault" type:"structure"`
  29488. // The AWS account ID of the account.
  29489. OwnerId *string `locationName:"ownerId" type:"string"`
  29490. // The prefix that is prepended to data feed files.
  29491. Prefix *string `locationName:"prefix" type:"string"`
  29492. // The state of the Spot instance data feed subscription.
  29493. State *string `locationName:"state" type:"string" enum:"DatafeedSubscriptionState"`
  29494. }
  29495. // String returns the string representation
  29496. func (s SpotDatafeedSubscription) String() string {
  29497. return awsutil.Prettify(s)
  29498. }
  29499. // GoString returns the string representation
  29500. func (s SpotDatafeedSubscription) GoString() string {
  29501. return s.String()
  29502. }
  29503. // Describes the launch specification for one or more Spot instances.
  29504. type SpotFleetLaunchSpecification struct {
  29505. _ struct{} `type:"structure"`
  29506. // Deprecated.
  29507. AddressingType *string `locationName:"addressingType" type:"string"`
  29508. // One or more block device mapping entries.
  29509. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  29510. // Indicates whether the instances are optimized for EBS I/O. This optimization
  29511. // provides dedicated throughput to Amazon EBS and an optimized configuration
  29512. // stack to provide optimal EBS I/O performance. This optimization isn't available
  29513. // with all instance types. Additional usage charges apply when using an EBS
  29514. // Optimized instance.
  29515. //
  29516. // Default: false
  29517. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  29518. // The IAM instance profile.
  29519. IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
  29520. // The ID of the AMI.
  29521. ImageId *string `locationName:"imageId" type:"string"`
  29522. // The instance type.
  29523. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  29524. // The ID of the kernel.
  29525. KernelId *string `locationName:"kernelId" type:"string"`
  29526. // The name of the key pair.
  29527. KeyName *string `locationName:"keyName" type:"string"`
  29528. // Enable or disable monitoring for the instances.
  29529. Monitoring *SpotFleetMonitoring `locationName:"monitoring" type:"structure"`
  29530. // One or more network interfaces.
  29531. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
  29532. // The placement information.
  29533. Placement *SpotPlacement `locationName:"placement" type:"structure"`
  29534. // The ID of the RAM disk.
  29535. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  29536. // One or more security groups. When requesting instances in a VPC, you must
  29537. // specify the IDs of the security groups. When requesting instances in EC2-Classic,
  29538. // you can specify the names or the IDs of the security groups.
  29539. SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  29540. // The bid price per unit hour for the specified instance type. If this value
  29541. // is not specified, the default is the Spot bid price specified for the fleet.
  29542. // To determine the bid price per unit hour, divide the Spot bid price by the
  29543. // value of WeightedCapacity.
  29544. SpotPrice *string `locationName:"spotPrice" type:"string"`
  29545. // The ID of the subnet in which to launch the instances. To specify multiple
  29546. // subnets, separate them using commas; for example, "subnet-a61dafcf, subnet-65ea5f08".
  29547. SubnetId *string `locationName:"subnetId" type:"string"`
  29548. // The user data to make available to the instances. If you are using an AWS
  29549. // SDK or command line tool, Base64-encoding is performed for you, and you can
  29550. // load the text from a file. Otherwise, you must provide Base64-encoded text.
  29551. UserData *string `locationName:"userData" type:"string"`
  29552. // The number of units provided by the specified instance type. These are the
  29553. // same units that you chose to set the target capacity in terms (instances
  29554. // or a performance characteristic such as vCPUs, memory, or I/O).
  29555. //
  29556. // If the target capacity divided by this value is not a whole number, we round
  29557. // the number of instances to the next whole number. If this value is not specified,
  29558. // the default is 1.
  29559. WeightedCapacity *float64 `locationName:"weightedCapacity" type:"double"`
  29560. }
  29561. // String returns the string representation
  29562. func (s SpotFleetLaunchSpecification) String() string {
  29563. return awsutil.Prettify(s)
  29564. }
  29565. // GoString returns the string representation
  29566. func (s SpotFleetLaunchSpecification) GoString() string {
  29567. return s.String()
  29568. }
  29569. // Validate inspects the fields of the type to determine if they are valid.
  29570. func (s *SpotFleetLaunchSpecification) Validate() error {
  29571. invalidParams := request.ErrInvalidParams{Context: "SpotFleetLaunchSpecification"}
  29572. if s.NetworkInterfaces != nil {
  29573. for i, v := range s.NetworkInterfaces {
  29574. if v == nil {
  29575. continue
  29576. }
  29577. if err := v.Validate(); err != nil {
  29578. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NetworkInterfaces", i), err.(request.ErrInvalidParams))
  29579. }
  29580. }
  29581. }
  29582. if invalidParams.Len() > 0 {
  29583. return invalidParams
  29584. }
  29585. return nil
  29586. }
  29587. // Describes whether monitoring is enabled.
  29588. type SpotFleetMonitoring struct {
  29589. _ struct{} `type:"structure"`
  29590. // Enables monitoring for the instance.
  29591. //
  29592. // Default: false
  29593. Enabled *bool `locationName:"enabled" type:"boolean"`
  29594. }
  29595. // String returns the string representation
  29596. func (s SpotFleetMonitoring) String() string {
  29597. return awsutil.Prettify(s)
  29598. }
  29599. // GoString returns the string representation
  29600. func (s SpotFleetMonitoring) GoString() string {
  29601. return s.String()
  29602. }
  29603. // Describes a Spot fleet request.
  29604. type SpotFleetRequestConfig struct {
  29605. _ struct{} `type:"structure"`
  29606. // The progress of the Spot fleet request. If there is an error, the status
  29607. // is error. After all bids are placed, the status is pending_fulfillment. If
  29608. // the size of the fleet is equal to or greater than its target capacity, the
  29609. // status is fulfilled. If the size of the fleet is decreased, the status is
  29610. // pending_termination while Spot instances are terminating.
  29611. ActivityStatus *string `locationName:"activityStatus" type:"string" enum:"ActivityStatus"`
  29612. // The creation date and time of the request.
  29613. //
  29614. // CreateTime is a required field
  29615. CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601" required:"true"`
  29616. // Information about the configuration of the Spot fleet request.
  29617. //
  29618. // SpotFleetRequestConfig is a required field
  29619. SpotFleetRequestConfig *SpotFleetRequestConfigData `locationName:"spotFleetRequestConfig" type:"structure" required:"true"`
  29620. // The ID of the Spot fleet request.
  29621. //
  29622. // SpotFleetRequestId is a required field
  29623. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  29624. // The state of the Spot fleet request.
  29625. //
  29626. // SpotFleetRequestState is a required field
  29627. SpotFleetRequestState *string `locationName:"spotFleetRequestState" type:"string" required:"true" enum:"BatchState"`
  29628. }
  29629. // String returns the string representation
  29630. func (s SpotFleetRequestConfig) String() string {
  29631. return awsutil.Prettify(s)
  29632. }
  29633. // GoString returns the string representation
  29634. func (s SpotFleetRequestConfig) GoString() string {
  29635. return s.String()
  29636. }
  29637. // Describes the configuration of a Spot fleet request.
  29638. type SpotFleetRequestConfigData struct {
  29639. _ struct{} `type:"structure"`
  29640. // Indicates how to allocate the target capacity across the Spot pools specified
  29641. // by the Spot fleet request. The default is lowestPrice.
  29642. AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"AllocationStrategy"`
  29643. // A unique, case-sensitive identifier you provide to ensure idempotency of
  29644. // your listings. This helps avoid duplicate listings. For more information,
  29645. // see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  29646. ClientToken *string `locationName:"clientToken" type:"string"`
  29647. // Indicates whether running Spot instances should be terminated if the target
  29648. // capacity of the Spot fleet request is decreased below the current size of
  29649. // the Spot fleet.
  29650. ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"ExcessCapacityTerminationPolicy"`
  29651. // The number of units fulfilled by this request compared to the set target
  29652. // capacity.
  29653. FulfilledCapacity *float64 `locationName:"fulfilledCapacity" type:"double"`
  29654. // Grants the Spot fleet permission to terminate Spot instances on your behalf
  29655. // when you cancel its Spot fleet request using CancelSpotFleetRequests or when
  29656. // the Spot fleet request expires, if you set terminateInstancesWithExpiration.
  29657. //
  29658. // IamFleetRole is a required field
  29659. IamFleetRole *string `locationName:"iamFleetRole" type:"string" required:"true"`
  29660. // Information about the launch specifications for the Spot fleet request.
  29661. //
  29662. // LaunchSpecifications is a required field
  29663. LaunchSpecifications []*SpotFleetLaunchSpecification `locationName:"launchSpecifications" locationNameList:"item" min:"1" type:"list" required:"true"`
  29664. // The bid price per unit hour.
  29665. //
  29666. // SpotPrice is a required field
  29667. SpotPrice *string `locationName:"spotPrice" type:"string" required:"true"`
  29668. // The number of units to request. You can choose to set the target capacity
  29669. // in terms of instances or a performance characteristic that is important to
  29670. // your application workload, such as vCPUs, memory, or I/O.
  29671. //
  29672. // TargetCapacity is a required field
  29673. TargetCapacity *int64 `locationName:"targetCapacity" type:"integer" required:"true"`
  29674. // Indicates whether running Spot instances should be terminated when the Spot
  29675. // fleet request expires.
  29676. TerminateInstancesWithExpiration *bool `locationName:"terminateInstancesWithExpiration" type:"boolean"`
  29677. // The type of request. Indicates whether the fleet will only request the target
  29678. // capacity or also attempt to maintain it. When you request a certain target
  29679. // capacity, the fleet will only place the required bids. It will not attempt
  29680. // to replenish Spot instances if capacity is diminished, nor will it submit
  29681. // bids in alternative Spot pools if capacity is not available. When you want
  29682. // to maintain a certain target capacity, fleet will place the required bids
  29683. // to meet this target capacity. It will also automatically replenish any interrupted
  29684. // instances. Default: maintain.
  29685. Type *string `locationName:"type" type:"string" enum:"FleetType"`
  29686. // The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  29687. // The default is to start fulfilling the request immediately.
  29688. ValidFrom *time.Time `locationName:"validFrom" type:"timestamp" timestampFormat:"iso8601"`
  29689. // The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  29690. // At this point, no new Spot instance requests are placed or enabled to fulfill
  29691. // the request.
  29692. ValidUntil *time.Time `locationName:"validUntil" type:"timestamp" timestampFormat:"iso8601"`
  29693. }
  29694. // String returns the string representation
  29695. func (s SpotFleetRequestConfigData) String() string {
  29696. return awsutil.Prettify(s)
  29697. }
  29698. // GoString returns the string representation
  29699. func (s SpotFleetRequestConfigData) GoString() string {
  29700. return s.String()
  29701. }
  29702. // Validate inspects the fields of the type to determine if they are valid.
  29703. func (s *SpotFleetRequestConfigData) Validate() error {
  29704. invalidParams := request.ErrInvalidParams{Context: "SpotFleetRequestConfigData"}
  29705. if s.IamFleetRole == nil {
  29706. invalidParams.Add(request.NewErrParamRequired("IamFleetRole"))
  29707. }
  29708. if s.LaunchSpecifications == nil {
  29709. invalidParams.Add(request.NewErrParamRequired("LaunchSpecifications"))
  29710. }
  29711. if s.LaunchSpecifications != nil && len(s.LaunchSpecifications) < 1 {
  29712. invalidParams.Add(request.NewErrParamMinLen("LaunchSpecifications", 1))
  29713. }
  29714. if s.SpotPrice == nil {
  29715. invalidParams.Add(request.NewErrParamRequired("SpotPrice"))
  29716. }
  29717. if s.TargetCapacity == nil {
  29718. invalidParams.Add(request.NewErrParamRequired("TargetCapacity"))
  29719. }
  29720. if s.LaunchSpecifications != nil {
  29721. for i, v := range s.LaunchSpecifications {
  29722. if v == nil {
  29723. continue
  29724. }
  29725. if err := v.Validate(); err != nil {
  29726. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LaunchSpecifications", i), err.(request.ErrInvalidParams))
  29727. }
  29728. }
  29729. }
  29730. if invalidParams.Len() > 0 {
  29731. return invalidParams
  29732. }
  29733. return nil
  29734. }
  29735. // Describes a Spot instance request.
  29736. type SpotInstanceRequest struct {
  29737. _ struct{} `type:"structure"`
  29738. // If you specified a duration and your Spot instance request was fulfilled,
  29739. // this is the fixed hourly price in effect for the Spot instance while it runs.
  29740. ActualBlockHourlyPrice *string `locationName:"actualBlockHourlyPrice" type:"string"`
  29741. // The Availability Zone group. If you specify the same Availability Zone group
  29742. // for all Spot instance requests, all Spot instances are launched in the same
  29743. // Availability Zone.
  29744. AvailabilityZoneGroup *string `locationName:"availabilityZoneGroup" type:"string"`
  29745. // The duration for the Spot instance, in minutes.
  29746. BlockDurationMinutes *int64 `locationName:"blockDurationMinutes" type:"integer"`
  29747. // The date and time when the Spot instance request was created, in UTC format
  29748. // (for example, YYYY-MM-DDTHH:MM:SSZ).
  29749. CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"`
  29750. // The fault codes for the Spot instance request, if any.
  29751. Fault *SpotInstanceStateFault `locationName:"fault" type:"structure"`
  29752. // The instance ID, if an instance has been launched to fulfill the Spot instance
  29753. // request.
  29754. InstanceId *string `locationName:"instanceId" type:"string"`
  29755. // The instance launch group. Launch groups are Spot instances that launch together
  29756. // and terminate together.
  29757. LaunchGroup *string `locationName:"launchGroup" type:"string"`
  29758. // Additional information for launching instances.
  29759. LaunchSpecification *LaunchSpecification `locationName:"launchSpecification" type:"structure"`
  29760. // The Availability Zone in which the bid is launched.
  29761. LaunchedAvailabilityZone *string `locationName:"launchedAvailabilityZone" type:"string"`
  29762. // The product description associated with the Spot instance.
  29763. ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
  29764. // The ID of the Spot instance request.
  29765. SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
  29766. // The maximum hourly price (bid) for the Spot instance launched to fulfill
  29767. // the request.
  29768. SpotPrice *string `locationName:"spotPrice" type:"string"`
  29769. // The state of the Spot instance request. Spot bid status information can help
  29770. // you track your Spot instance requests. For more information, see Spot Bid
  29771. // Status (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html)
  29772. // in the Amazon Elastic Compute Cloud User Guide.
  29773. State *string `locationName:"state" type:"string" enum:"SpotInstanceState"`
  29774. // The status code and status message describing the Spot instance request.
  29775. Status *SpotInstanceStatus `locationName:"status" type:"structure"`
  29776. // Any tags assigned to the resource.
  29777. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  29778. // The Spot instance request type.
  29779. Type *string `locationName:"type" type:"string" enum:"SpotInstanceType"`
  29780. // The start date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  29781. // The request becomes active at this date and time.
  29782. ValidFrom *time.Time `locationName:"validFrom" type:"timestamp" timestampFormat:"iso8601"`
  29783. // The end date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  29784. // If this is a one-time request, it remains active until all instances launch,
  29785. // the request is canceled, or this date is reached. If the request is persistent,
  29786. // it remains active until it is canceled or this date is reached.
  29787. ValidUntil *time.Time `locationName:"validUntil" type:"timestamp" timestampFormat:"iso8601"`
  29788. }
  29789. // String returns the string representation
  29790. func (s SpotInstanceRequest) String() string {
  29791. return awsutil.Prettify(s)
  29792. }
  29793. // GoString returns the string representation
  29794. func (s SpotInstanceRequest) GoString() string {
  29795. return s.String()
  29796. }
  29797. // Describes a Spot instance state change.
  29798. type SpotInstanceStateFault struct {
  29799. _ struct{} `type:"structure"`
  29800. // The reason code for the Spot instance state change.
  29801. Code *string `locationName:"code" type:"string"`
  29802. // The message for the Spot instance state change.
  29803. Message *string `locationName:"message" type:"string"`
  29804. }
  29805. // String returns the string representation
  29806. func (s SpotInstanceStateFault) String() string {
  29807. return awsutil.Prettify(s)
  29808. }
  29809. // GoString returns the string representation
  29810. func (s SpotInstanceStateFault) GoString() string {
  29811. return s.String()
  29812. }
  29813. // Describes the status of a Spot instance request.
  29814. type SpotInstanceStatus struct {
  29815. _ struct{} `type:"structure"`
  29816. // The status code. For a list of status codes, see Spot Bid Status Codes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html#spot-instance-bid-status-understand)
  29817. // in the Amazon Elastic Compute Cloud User Guide.
  29818. Code *string `locationName:"code" type:"string"`
  29819. // The description for the status code.
  29820. Message *string `locationName:"message" type:"string"`
  29821. // The date and time of the most recent status update, in UTC format (for example,
  29822. // YYYY-MM-DDTHH:MM:SSZ).
  29823. UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" timestampFormat:"iso8601"`
  29824. }
  29825. // String returns the string representation
  29826. func (s SpotInstanceStatus) String() string {
  29827. return awsutil.Prettify(s)
  29828. }
  29829. // GoString returns the string representation
  29830. func (s SpotInstanceStatus) GoString() string {
  29831. return s.String()
  29832. }
  29833. // Describes Spot instance placement.
  29834. type SpotPlacement struct {
  29835. _ struct{} `type:"structure"`
  29836. // The Availability Zone.
  29837. //
  29838. // [Spot fleet only] To specify multiple Availability Zones, separate them using
  29839. // commas; for example, "us-west-2a, us-west-2b".
  29840. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  29841. // The name of the placement group (for cluster instances).
  29842. GroupName *string `locationName:"groupName" type:"string"`
  29843. }
  29844. // String returns the string representation
  29845. func (s SpotPlacement) String() string {
  29846. return awsutil.Prettify(s)
  29847. }
  29848. // GoString returns the string representation
  29849. func (s SpotPlacement) GoString() string {
  29850. return s.String()
  29851. }
  29852. // Describes the maximum hourly price (bid) for any Spot instance launched to
  29853. // fulfill the request.
  29854. type SpotPrice struct {
  29855. _ struct{} `type:"structure"`
  29856. // The Availability Zone.
  29857. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  29858. // The instance type.
  29859. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  29860. // A general description of the AMI.
  29861. ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
  29862. // The maximum price (bid) that you are willing to pay for a Spot instance.
  29863. SpotPrice *string `locationName:"spotPrice" type:"string"`
  29864. // The date and time the request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  29865. Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601"`
  29866. }
  29867. // String returns the string representation
  29868. func (s SpotPrice) String() string {
  29869. return awsutil.Prettify(s)
  29870. }
  29871. // GoString returns the string representation
  29872. func (s SpotPrice) GoString() string {
  29873. return s.String()
  29874. }
  29875. // Describes a stale rule in a security group.
  29876. type StaleIpPermission struct {
  29877. _ struct{} `type:"structure"`
  29878. // The start of the port range for the TCP and UDP protocols, or an ICMP type
  29879. // number. A value of -1 indicates all ICMP types.
  29880. FromPort *int64 `locationName:"fromPort" type:"integer"`
  29881. // The IP protocol name (for tcp, udp, and icmp) or number (see Protocol Numbers)
  29882. // (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml).
  29883. IpProtocol *string `locationName:"ipProtocol" type:"string"`
  29884. // One or more IP ranges. Not applicable for stale security group rules.
  29885. IpRanges []*string `locationName:"ipRanges" locationNameList:"item" type:"list"`
  29886. // One or more prefix list IDs for an AWS service. Not applicable for stale
  29887. // security group rules.
  29888. PrefixListIds []*string `locationName:"prefixListIds" locationNameList:"item" type:"list"`
  29889. // The end of the port range for the TCP and UDP protocols, or an ICMP type
  29890. // number. A value of -1 indicates all ICMP types.
  29891. ToPort *int64 `locationName:"toPort" type:"integer"`
  29892. // One or more security group pairs. Returns the ID of the referenced security
  29893. // group and VPC, and the ID and status of the VPC peering connection.
  29894. UserIdGroupPairs []*UserIdGroupPair `locationName:"groups" locationNameList:"item" type:"list"`
  29895. }
  29896. // String returns the string representation
  29897. func (s StaleIpPermission) String() string {
  29898. return awsutil.Prettify(s)
  29899. }
  29900. // GoString returns the string representation
  29901. func (s StaleIpPermission) GoString() string {
  29902. return s.String()
  29903. }
  29904. // Describes a stale security group (a security group that contains stale rules).
  29905. type StaleSecurityGroup struct {
  29906. _ struct{} `type:"structure"`
  29907. // The description of the security group.
  29908. Description *string `locationName:"description" type:"string"`
  29909. // The ID of the security group.
  29910. //
  29911. // GroupId is a required field
  29912. GroupId *string `locationName:"groupId" type:"string" required:"true"`
  29913. // The name of the security group.
  29914. GroupName *string `locationName:"groupName" type:"string"`
  29915. // Information about the stale inbound rules in the security group.
  29916. StaleIpPermissions []*StaleIpPermission `locationName:"staleIpPermissions" locationNameList:"item" type:"list"`
  29917. // Information about the stale outbound rules in the security group.
  29918. StaleIpPermissionsEgress []*StaleIpPermission `locationName:"staleIpPermissionsEgress" locationNameList:"item" type:"list"`
  29919. // The ID of the VPC for the security group.
  29920. VpcId *string `locationName:"vpcId" type:"string"`
  29921. }
  29922. // String returns the string representation
  29923. func (s StaleSecurityGroup) String() string {
  29924. return awsutil.Prettify(s)
  29925. }
  29926. // GoString returns the string representation
  29927. func (s StaleSecurityGroup) GoString() string {
  29928. return s.String()
  29929. }
  29930. // Contains the parameters for StartInstances.
  29931. type StartInstancesInput struct {
  29932. _ struct{} `type:"structure"`
  29933. // Reserved.
  29934. AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
  29935. // Checks whether you have the required permissions for the action, without
  29936. // actually making the request, and provides an error response. If you have
  29937. // the required permissions, the error response is DryRunOperation. Otherwise,
  29938. // it is UnauthorizedOperation.
  29939. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29940. // One or more instance IDs.
  29941. //
  29942. // InstanceIds is a required field
  29943. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  29944. }
  29945. // String returns the string representation
  29946. func (s StartInstancesInput) String() string {
  29947. return awsutil.Prettify(s)
  29948. }
  29949. // GoString returns the string representation
  29950. func (s StartInstancesInput) GoString() string {
  29951. return s.String()
  29952. }
  29953. // Validate inspects the fields of the type to determine if they are valid.
  29954. func (s *StartInstancesInput) Validate() error {
  29955. invalidParams := request.ErrInvalidParams{Context: "StartInstancesInput"}
  29956. if s.InstanceIds == nil {
  29957. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  29958. }
  29959. if invalidParams.Len() > 0 {
  29960. return invalidParams
  29961. }
  29962. return nil
  29963. }
  29964. // Contains the output of StartInstances.
  29965. type StartInstancesOutput struct {
  29966. _ struct{} `type:"structure"`
  29967. // Information about one or more started instances.
  29968. StartingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
  29969. }
  29970. // String returns the string representation
  29971. func (s StartInstancesOutput) String() string {
  29972. return awsutil.Prettify(s)
  29973. }
  29974. // GoString returns the string representation
  29975. func (s StartInstancesOutput) GoString() string {
  29976. return s.String()
  29977. }
  29978. // Describes a state change.
  29979. type StateReason struct {
  29980. _ struct{} `type:"structure"`
  29981. // The reason code for the state change.
  29982. Code *string `locationName:"code" type:"string"`
  29983. // The message for the state change.
  29984. //
  29985. // * Server.SpotInstanceTermination: A Spot instance was terminated due to
  29986. // an increase in the market price.
  29987. //
  29988. // * Server.InternalError: An internal error occurred during instance launch,
  29989. // resulting in termination.
  29990. //
  29991. // * Server.InsufficientInstanceCapacity: There was insufficient instance
  29992. // capacity to satisfy the launch request.
  29993. //
  29994. // * Client.InternalError: A client error caused the instance to terminate
  29995. // on launch.
  29996. //
  29997. // * Client.InstanceInitiatedShutdown: The instance was shut down using the
  29998. // shutdown -h command from the instance.
  29999. //
  30000. // * Client.UserInitiatedShutdown: The instance was shut down using the Amazon
  30001. // EC2 API.
  30002. //
  30003. // * Client.VolumeLimitExceeded: The limit on the number of EBS volumes or
  30004. // total storage was exceeded. Decrease usage or request an increase in your
  30005. // limits.
  30006. //
  30007. // * Client.InvalidSnapshot.NotFound: The specified snapshot was not found.
  30008. Message *string `locationName:"message" type:"string"`
  30009. }
  30010. // String returns the string representation
  30011. func (s StateReason) String() string {
  30012. return awsutil.Prettify(s)
  30013. }
  30014. // GoString returns the string representation
  30015. func (s StateReason) GoString() string {
  30016. return s.String()
  30017. }
  30018. // Contains the parameters for StopInstances.
  30019. type StopInstancesInput struct {
  30020. _ struct{} `type:"structure"`
  30021. // Checks whether you have the required permissions for the action, without
  30022. // actually making the request, and provides an error response. If you have
  30023. // the required permissions, the error response is DryRunOperation. Otherwise,
  30024. // it is UnauthorizedOperation.
  30025. DryRun *bool `locationName:"dryRun" type:"boolean"`
  30026. // Forces the instances to stop. The instances do not have an opportunity to
  30027. // flush file system caches or file system metadata. If you use this option,
  30028. // you must perform file system check and repair procedures. This option is
  30029. // not recommended for Windows instances.
  30030. //
  30031. // Default: false
  30032. Force *bool `locationName:"force" type:"boolean"`
  30033. // One or more instance IDs.
  30034. //
  30035. // InstanceIds is a required field
  30036. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  30037. }
  30038. // String returns the string representation
  30039. func (s StopInstancesInput) String() string {
  30040. return awsutil.Prettify(s)
  30041. }
  30042. // GoString returns the string representation
  30043. func (s StopInstancesInput) GoString() string {
  30044. return s.String()
  30045. }
  30046. // Validate inspects the fields of the type to determine if they are valid.
  30047. func (s *StopInstancesInput) Validate() error {
  30048. invalidParams := request.ErrInvalidParams{Context: "StopInstancesInput"}
  30049. if s.InstanceIds == nil {
  30050. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  30051. }
  30052. if invalidParams.Len() > 0 {
  30053. return invalidParams
  30054. }
  30055. return nil
  30056. }
  30057. // Contains the output of StopInstances.
  30058. type StopInstancesOutput struct {
  30059. _ struct{} `type:"structure"`
  30060. // Information about one or more stopped instances.
  30061. StoppingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
  30062. }
  30063. // String returns the string representation
  30064. func (s StopInstancesOutput) String() string {
  30065. return awsutil.Prettify(s)
  30066. }
  30067. // GoString returns the string representation
  30068. func (s StopInstancesOutput) GoString() string {
  30069. return s.String()
  30070. }
  30071. // Describes the storage location for an instance store-backed AMI.
  30072. type Storage struct {
  30073. _ struct{} `type:"structure"`
  30074. // An Amazon S3 storage location.
  30075. S3 *S3Storage `type:"structure"`
  30076. }
  30077. // String returns the string representation
  30078. func (s Storage) String() string {
  30079. return awsutil.Prettify(s)
  30080. }
  30081. // GoString returns the string representation
  30082. func (s Storage) GoString() string {
  30083. return s.String()
  30084. }
  30085. // Describes a subnet.
  30086. type Subnet struct {
  30087. _ struct{} `type:"structure"`
  30088. // The Availability Zone of the subnet.
  30089. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  30090. // The number of unused IP addresses in the subnet. Note that the IP addresses
  30091. // for any stopped instances are considered unavailable.
  30092. AvailableIpAddressCount *int64 `locationName:"availableIpAddressCount" type:"integer"`
  30093. // The CIDR block assigned to the subnet.
  30094. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  30095. // Indicates whether this is the default subnet for the Availability Zone.
  30096. DefaultForAz *bool `locationName:"defaultForAz" type:"boolean"`
  30097. // Indicates whether instances launched in this subnet receive a public IP address.
  30098. MapPublicIpOnLaunch *bool `locationName:"mapPublicIpOnLaunch" type:"boolean"`
  30099. // The current state of the subnet.
  30100. State *string `locationName:"state" type:"string" enum:"SubnetState"`
  30101. // The ID of the subnet.
  30102. SubnetId *string `locationName:"subnetId" type:"string"`
  30103. // Any tags assigned to the subnet.
  30104. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  30105. // The ID of the VPC the subnet is in.
  30106. VpcId *string `locationName:"vpcId" type:"string"`
  30107. }
  30108. // String returns the string representation
  30109. func (s Subnet) String() string {
  30110. return awsutil.Prettify(s)
  30111. }
  30112. // GoString returns the string representation
  30113. func (s Subnet) GoString() string {
  30114. return s.String()
  30115. }
  30116. // Describes a tag.
  30117. type Tag struct {
  30118. _ struct{} `type:"structure"`
  30119. // The key of the tag.
  30120. //
  30121. // Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode
  30122. // characters. May not begin with aws:
  30123. Key *string `locationName:"key" type:"string"`
  30124. // The value of the tag.
  30125. //
  30126. // Constraints: Tag values are case-sensitive and accept a maximum of 255 Unicode
  30127. // characters.
  30128. Value *string `locationName:"value" type:"string"`
  30129. }
  30130. // String returns the string representation
  30131. func (s Tag) String() string {
  30132. return awsutil.Prettify(s)
  30133. }
  30134. // GoString returns the string representation
  30135. func (s Tag) GoString() string {
  30136. return s.String()
  30137. }
  30138. // Describes a tag.
  30139. type TagDescription struct {
  30140. _ struct{} `type:"structure"`
  30141. // The tag key.
  30142. Key *string `locationName:"key" type:"string"`
  30143. // The ID of the resource. For example, ami-1a2b3c4d.
  30144. ResourceId *string `locationName:"resourceId" type:"string"`
  30145. // The resource type.
  30146. ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
  30147. // The tag value.
  30148. Value *string `locationName:"value" type:"string"`
  30149. }
  30150. // String returns the string representation
  30151. func (s TagDescription) String() string {
  30152. return awsutil.Prettify(s)
  30153. }
  30154. // GoString returns the string representation
  30155. func (s TagDescription) GoString() string {
  30156. return s.String()
  30157. }
  30158. // Information about the Convertible Reserved Instance offering.
  30159. type TargetConfiguration struct {
  30160. _ struct{} `type:"structure"`
  30161. // The number of instances the Convertible Reserved Instance offering can be
  30162. // applied to. This parameter is reserved and cannot be specified in a request
  30163. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  30164. // The ID of the Convertible Reserved Instance offering.
  30165. OfferingId *string `locationName:"offeringId" type:"string"`
  30166. }
  30167. // String returns the string representation
  30168. func (s TargetConfiguration) String() string {
  30169. return awsutil.Prettify(s)
  30170. }
  30171. // GoString returns the string representation
  30172. func (s TargetConfiguration) GoString() string {
  30173. return s.String()
  30174. }
  30175. // Details about the target configuration.
  30176. type TargetConfigurationRequest struct {
  30177. _ struct{} `type:"structure"`
  30178. // The number of instances the Covertible Reserved Instance offering can be
  30179. // applied to. This parameter is reserved and cannot be specified in a request
  30180. InstanceCount *int64 `type:"integer"`
  30181. // The Convertible Reserved Instance offering ID. If this isn't included in
  30182. // the request, the response lists your current Convertible Reserved Instance/s
  30183. // and their value/s.
  30184. //
  30185. // OfferingId is a required field
  30186. OfferingId *string `type:"string" required:"true"`
  30187. }
  30188. // String returns the string representation
  30189. func (s TargetConfigurationRequest) String() string {
  30190. return awsutil.Prettify(s)
  30191. }
  30192. // GoString returns the string representation
  30193. func (s TargetConfigurationRequest) GoString() string {
  30194. return s.String()
  30195. }
  30196. // Validate inspects the fields of the type to determine if they are valid.
  30197. func (s *TargetConfigurationRequest) Validate() error {
  30198. invalidParams := request.ErrInvalidParams{Context: "TargetConfigurationRequest"}
  30199. if s.OfferingId == nil {
  30200. invalidParams.Add(request.NewErrParamRequired("OfferingId"))
  30201. }
  30202. if invalidParams.Len() > 0 {
  30203. return invalidParams
  30204. }
  30205. return nil
  30206. }
  30207. // The total value of the new Convertible Reserved Instances.
  30208. type TargetReservationValue struct {
  30209. _ struct{} `type:"structure"`
  30210. // The total value of the Convertible Reserved Instances that make up the exchange.
  30211. // This is the sum of the list value, remaining upfront price, and additional
  30212. // upfront cost of the exchange.
  30213. ReservationValue *ReservationValue `locationName:"reservationValue" type:"structure"`
  30214. // The configuration of the Convertible Reserved Instances that make up the
  30215. // exchange.
  30216. TargetConfiguration *TargetConfiguration `locationName:"targetConfiguration" type:"structure"`
  30217. }
  30218. // String returns the string representation
  30219. func (s TargetReservationValue) String() string {
  30220. return awsutil.Prettify(s)
  30221. }
  30222. // GoString returns the string representation
  30223. func (s TargetReservationValue) GoString() string {
  30224. return s.String()
  30225. }
  30226. // Contains the parameters for TerminateInstances.
  30227. type TerminateInstancesInput struct {
  30228. _ struct{} `type:"structure"`
  30229. // Checks whether you have the required permissions for the action, without
  30230. // actually making the request, and provides an error response. If you have
  30231. // the required permissions, the error response is DryRunOperation. Otherwise,
  30232. // it is UnauthorizedOperation.
  30233. DryRun *bool `locationName:"dryRun" type:"boolean"`
  30234. // One or more instance IDs.
  30235. //
  30236. // Constraints: Up to 1000 instance IDs. We recommend breaking up this request
  30237. // into smaller batches.
  30238. //
  30239. // InstanceIds is a required field
  30240. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  30241. }
  30242. // String returns the string representation
  30243. func (s TerminateInstancesInput) String() string {
  30244. return awsutil.Prettify(s)
  30245. }
  30246. // GoString returns the string representation
  30247. func (s TerminateInstancesInput) GoString() string {
  30248. return s.String()
  30249. }
  30250. // Validate inspects the fields of the type to determine if they are valid.
  30251. func (s *TerminateInstancesInput) Validate() error {
  30252. invalidParams := request.ErrInvalidParams{Context: "TerminateInstancesInput"}
  30253. if s.InstanceIds == nil {
  30254. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  30255. }
  30256. if invalidParams.Len() > 0 {
  30257. return invalidParams
  30258. }
  30259. return nil
  30260. }
  30261. // Contains the output of TerminateInstances.
  30262. type TerminateInstancesOutput struct {
  30263. _ struct{} `type:"structure"`
  30264. // Information about one or more terminated instances.
  30265. TerminatingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
  30266. }
  30267. // String returns the string representation
  30268. func (s TerminateInstancesOutput) String() string {
  30269. return awsutil.Prettify(s)
  30270. }
  30271. // GoString returns the string representation
  30272. func (s TerminateInstancesOutput) GoString() string {
  30273. return s.String()
  30274. }
  30275. // Contains the parameters for UnassignPrivateIpAddresses.
  30276. type UnassignPrivateIpAddressesInput struct {
  30277. _ struct{} `type:"structure"`
  30278. // The ID of the network interface.
  30279. //
  30280. // NetworkInterfaceId is a required field
  30281. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  30282. // The secondary private IP addresses to unassign from the network interface.
  30283. // You can specify this option multiple times to unassign more than one IP address.
  30284. //
  30285. // PrivateIpAddresses is a required field
  30286. PrivateIpAddresses []*string `locationName:"privateIpAddress" locationNameList:"PrivateIpAddress" type:"list" required:"true"`
  30287. }
  30288. // String returns the string representation
  30289. func (s UnassignPrivateIpAddressesInput) String() string {
  30290. return awsutil.Prettify(s)
  30291. }
  30292. // GoString returns the string representation
  30293. func (s UnassignPrivateIpAddressesInput) GoString() string {
  30294. return s.String()
  30295. }
  30296. // Validate inspects the fields of the type to determine if they are valid.
  30297. func (s *UnassignPrivateIpAddressesInput) Validate() error {
  30298. invalidParams := request.ErrInvalidParams{Context: "UnassignPrivateIpAddressesInput"}
  30299. if s.NetworkInterfaceId == nil {
  30300. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  30301. }
  30302. if s.PrivateIpAddresses == nil {
  30303. invalidParams.Add(request.NewErrParamRequired("PrivateIpAddresses"))
  30304. }
  30305. if invalidParams.Len() > 0 {
  30306. return invalidParams
  30307. }
  30308. return nil
  30309. }
  30310. type UnassignPrivateIpAddressesOutput struct {
  30311. _ struct{} `type:"structure"`
  30312. }
  30313. // String returns the string representation
  30314. func (s UnassignPrivateIpAddressesOutput) String() string {
  30315. return awsutil.Prettify(s)
  30316. }
  30317. // GoString returns the string representation
  30318. func (s UnassignPrivateIpAddressesOutput) GoString() string {
  30319. return s.String()
  30320. }
  30321. // Contains the parameters for UnmonitorInstances.
  30322. type UnmonitorInstancesInput struct {
  30323. _ struct{} `type:"structure"`
  30324. // Checks whether you have the required permissions for the action, without
  30325. // actually making the request, and provides an error response. If you have
  30326. // the required permissions, the error response is DryRunOperation. Otherwise,
  30327. // it is UnauthorizedOperation.
  30328. DryRun *bool `locationName:"dryRun" type:"boolean"`
  30329. // One or more instance IDs.
  30330. //
  30331. // InstanceIds is a required field
  30332. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  30333. }
  30334. // String returns the string representation
  30335. func (s UnmonitorInstancesInput) String() string {
  30336. return awsutil.Prettify(s)
  30337. }
  30338. // GoString returns the string representation
  30339. func (s UnmonitorInstancesInput) GoString() string {
  30340. return s.String()
  30341. }
  30342. // Validate inspects the fields of the type to determine if they are valid.
  30343. func (s *UnmonitorInstancesInput) Validate() error {
  30344. invalidParams := request.ErrInvalidParams{Context: "UnmonitorInstancesInput"}
  30345. if s.InstanceIds == nil {
  30346. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  30347. }
  30348. if invalidParams.Len() > 0 {
  30349. return invalidParams
  30350. }
  30351. return nil
  30352. }
  30353. // Contains the output of UnmonitorInstances.
  30354. type UnmonitorInstancesOutput struct {
  30355. _ struct{} `type:"structure"`
  30356. // Monitoring information for one or more instances.
  30357. InstanceMonitorings []*InstanceMonitoring `locationName:"instancesSet" locationNameList:"item" type:"list"`
  30358. }
  30359. // String returns the string representation
  30360. func (s UnmonitorInstancesOutput) String() string {
  30361. return awsutil.Prettify(s)
  30362. }
  30363. // GoString returns the string representation
  30364. func (s UnmonitorInstancesOutput) GoString() string {
  30365. return s.String()
  30366. }
  30367. // Information about items that were not successfully processed in a batch call.
  30368. type UnsuccessfulItem struct {
  30369. _ struct{} `type:"structure"`
  30370. // Information about the error.
  30371. //
  30372. // Error is a required field
  30373. Error *UnsuccessfulItemError `locationName:"error" type:"structure" required:"true"`
  30374. // The ID of the resource.
  30375. ResourceId *string `locationName:"resourceId" type:"string"`
  30376. }
  30377. // String returns the string representation
  30378. func (s UnsuccessfulItem) String() string {
  30379. return awsutil.Prettify(s)
  30380. }
  30381. // GoString returns the string representation
  30382. func (s UnsuccessfulItem) GoString() string {
  30383. return s.String()
  30384. }
  30385. // Information about the error that occurred. For more information about errors,
  30386. // see Error Codes (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html).
  30387. type UnsuccessfulItemError struct {
  30388. _ struct{} `type:"structure"`
  30389. // The error code.
  30390. //
  30391. // Code is a required field
  30392. Code *string `locationName:"code" type:"string" required:"true"`
  30393. // The error message accompanying the error code.
  30394. //
  30395. // Message is a required field
  30396. Message *string `locationName:"message" type:"string" required:"true"`
  30397. }
  30398. // String returns the string representation
  30399. func (s UnsuccessfulItemError) String() string {
  30400. return awsutil.Prettify(s)
  30401. }
  30402. // GoString returns the string representation
  30403. func (s UnsuccessfulItemError) GoString() string {
  30404. return s.String()
  30405. }
  30406. // Describes the S3 bucket for the disk image.
  30407. type UserBucket struct {
  30408. _ struct{} `type:"structure"`
  30409. // The name of the S3 bucket where the disk image is located.
  30410. S3Bucket *string `type:"string"`
  30411. // The file name of the disk image.
  30412. S3Key *string `type:"string"`
  30413. }
  30414. // String returns the string representation
  30415. func (s UserBucket) String() string {
  30416. return awsutil.Prettify(s)
  30417. }
  30418. // GoString returns the string representation
  30419. func (s UserBucket) GoString() string {
  30420. return s.String()
  30421. }
  30422. // Describes the S3 bucket for the disk image.
  30423. type UserBucketDetails struct {
  30424. _ struct{} `type:"structure"`
  30425. // The S3 bucket from which the disk image was created.
  30426. S3Bucket *string `locationName:"s3Bucket" type:"string"`
  30427. // The file name of the disk image.
  30428. S3Key *string `locationName:"s3Key" type:"string"`
  30429. }
  30430. // String returns the string representation
  30431. func (s UserBucketDetails) String() string {
  30432. return awsutil.Prettify(s)
  30433. }
  30434. // GoString returns the string representation
  30435. func (s UserBucketDetails) GoString() string {
  30436. return s.String()
  30437. }
  30438. // Describes the user data for an instance.
  30439. type UserData struct {
  30440. _ struct{} `type:"structure"`
  30441. // The user data. If you are using an AWS SDK or command line tool, Base64-encoding
  30442. // is performed for you, and you can load the text from a file. Otherwise, you
  30443. // must provide Base64-encoded text.
  30444. Data *string `locationName:"data" type:"string"`
  30445. }
  30446. // String returns the string representation
  30447. func (s UserData) String() string {
  30448. return awsutil.Prettify(s)
  30449. }
  30450. // GoString returns the string representation
  30451. func (s UserData) GoString() string {
  30452. return s.String()
  30453. }
  30454. // Describes a security group and AWS account ID pair.
  30455. type UserIdGroupPair struct {
  30456. _ struct{} `type:"structure"`
  30457. // The ID of the security group.
  30458. GroupId *string `locationName:"groupId" type:"string"`
  30459. // The name of the security group. In a request, use this parameter for a security
  30460. // group in EC2-Classic or a default VPC only. For a security group in a nondefault
  30461. // VPC, use the security group ID.
  30462. GroupName *string `locationName:"groupName" type:"string"`
  30463. // The status of a VPC peering connection, if applicable.
  30464. PeeringStatus *string `locationName:"peeringStatus" type:"string"`
  30465. // The ID of an AWS account. For a referenced security group in another VPC,
  30466. // the account ID of the referenced security group is returned.
  30467. //
  30468. // [EC2-Classic] Required when adding or removing rules that reference a security
  30469. // group in another AWS account.
  30470. UserId *string `locationName:"userId" type:"string"`
  30471. // The ID of the VPC for the referenced security group, if applicable.
  30472. VpcId *string `locationName:"vpcId" type:"string"`
  30473. // The ID of the VPC peering connection, if applicable.
  30474. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  30475. }
  30476. // String returns the string representation
  30477. func (s UserIdGroupPair) String() string {
  30478. return awsutil.Prettify(s)
  30479. }
  30480. // GoString returns the string representation
  30481. func (s UserIdGroupPair) GoString() string {
  30482. return s.String()
  30483. }
  30484. // Describes telemetry for a VPN tunnel.
  30485. type VgwTelemetry struct {
  30486. _ struct{} `type:"structure"`
  30487. // The number of accepted routes.
  30488. AcceptedRouteCount *int64 `locationName:"acceptedRouteCount" type:"integer"`
  30489. // The date and time of the last change in status.
  30490. LastStatusChange *time.Time `locationName:"lastStatusChange" type:"timestamp" timestampFormat:"iso8601"`
  30491. // The Internet-routable IP address of the virtual private gateway's outside
  30492. // interface.
  30493. OutsideIpAddress *string `locationName:"outsideIpAddress" type:"string"`
  30494. // The status of the VPN tunnel.
  30495. Status *string `locationName:"status" type:"string" enum:"TelemetryStatus"`
  30496. // If an error occurs, a description of the error.
  30497. StatusMessage *string `locationName:"statusMessage" type:"string"`
  30498. }
  30499. // String returns the string representation
  30500. func (s VgwTelemetry) String() string {
  30501. return awsutil.Prettify(s)
  30502. }
  30503. // GoString returns the string representation
  30504. func (s VgwTelemetry) GoString() string {
  30505. return s.String()
  30506. }
  30507. // Describes a volume.
  30508. type Volume struct {
  30509. _ struct{} `type:"structure"`
  30510. // Information about the volume attachments.
  30511. Attachments []*VolumeAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
  30512. // The Availability Zone for the volume.
  30513. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  30514. // The time stamp when volume creation was initiated.
  30515. CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"`
  30516. // Indicates whether the volume will be encrypted.
  30517. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  30518. // The number of I/O operations per second (IOPS) that the volume supports.
  30519. // For Provisioned IOPS SSD volumes, this represents the number of IOPS that
  30520. // are provisioned for the volume. For General Purpose SSD volumes, this represents
  30521. // the baseline performance of the volume and the rate at which the volume accumulates
  30522. // I/O credits for bursting. For more information on General Purpose SSD baseline
  30523. // performance, I/O credits, and bursting, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
  30524. // in the Amazon Elastic Compute Cloud User Guide.
  30525. //
  30526. // Constraint: Range is 100-20000 IOPS for io1 volumes and 100-10000 IOPS for
  30527. // gp2 volumes.
  30528. //
  30529. // Condition: This parameter is required for requests to create io1 volumes;
  30530. // it is not used in requests to create gp2, st1, sc1, or standard volumes.
  30531. Iops *int64 `locationName:"iops" type:"integer"`
  30532. // The full ARN of the AWS Key Management Service (AWS KMS) customer master
  30533. // key (CMK) that was used to protect the volume encryption key for the volume.
  30534. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  30535. // The size of the volume, in GiBs.
  30536. Size *int64 `locationName:"size" type:"integer"`
  30537. // The snapshot from which the volume was created, if applicable.
  30538. SnapshotId *string `locationName:"snapshotId" type:"string"`
  30539. // The volume state.
  30540. State *string `locationName:"status" type:"string" enum:"VolumeState"`
  30541. // Any tags assigned to the volume.
  30542. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  30543. // The ID of the volume.
  30544. VolumeId *string `locationName:"volumeId" type:"string"`
  30545. // The volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned
  30546. // IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard
  30547. // for Magnetic volumes.
  30548. VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"`
  30549. }
  30550. // String returns the string representation
  30551. func (s Volume) String() string {
  30552. return awsutil.Prettify(s)
  30553. }
  30554. // GoString returns the string representation
  30555. func (s Volume) GoString() string {
  30556. return s.String()
  30557. }
  30558. // Describes volume attachment details.
  30559. type VolumeAttachment struct {
  30560. _ struct{} `type:"structure"`
  30561. // The time stamp when the attachment initiated.
  30562. AttachTime *time.Time `locationName:"attachTime" type:"timestamp" timestampFormat:"iso8601"`
  30563. // Indicates whether the EBS volume is deleted on instance termination.
  30564. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  30565. // The device name.
  30566. Device *string `locationName:"device" type:"string"`
  30567. // The ID of the instance.
  30568. InstanceId *string `locationName:"instanceId" type:"string"`
  30569. // The attachment state of the volume.
  30570. State *string `locationName:"status" type:"string" enum:"VolumeAttachmentState"`
  30571. // The ID of the volume.
  30572. VolumeId *string `locationName:"volumeId" type:"string"`
  30573. }
  30574. // String returns the string representation
  30575. func (s VolumeAttachment) String() string {
  30576. return awsutil.Prettify(s)
  30577. }
  30578. // GoString returns the string representation
  30579. func (s VolumeAttachment) GoString() string {
  30580. return s.String()
  30581. }
  30582. // Describes an EBS volume.
  30583. type VolumeDetail struct {
  30584. _ struct{} `type:"structure"`
  30585. // The size of the volume, in GiB.
  30586. //
  30587. // Size is a required field
  30588. Size *int64 `locationName:"size" type:"long" required:"true"`
  30589. }
  30590. // String returns the string representation
  30591. func (s VolumeDetail) String() string {
  30592. return awsutil.Prettify(s)
  30593. }
  30594. // GoString returns the string representation
  30595. func (s VolumeDetail) GoString() string {
  30596. return s.String()
  30597. }
  30598. // Validate inspects the fields of the type to determine if they are valid.
  30599. func (s *VolumeDetail) Validate() error {
  30600. invalidParams := request.ErrInvalidParams{Context: "VolumeDetail"}
  30601. if s.Size == nil {
  30602. invalidParams.Add(request.NewErrParamRequired("Size"))
  30603. }
  30604. if invalidParams.Len() > 0 {
  30605. return invalidParams
  30606. }
  30607. return nil
  30608. }
  30609. // Describes a volume status operation code.
  30610. type VolumeStatusAction struct {
  30611. _ struct{} `type:"structure"`
  30612. // The code identifying the operation, for example, enable-volume-io.
  30613. Code *string `locationName:"code" type:"string"`
  30614. // A description of the operation.
  30615. Description *string `locationName:"description" type:"string"`
  30616. // The ID of the event associated with this operation.
  30617. EventId *string `locationName:"eventId" type:"string"`
  30618. // The event type associated with this operation.
  30619. EventType *string `locationName:"eventType" type:"string"`
  30620. }
  30621. // String returns the string representation
  30622. func (s VolumeStatusAction) String() string {
  30623. return awsutil.Prettify(s)
  30624. }
  30625. // GoString returns the string representation
  30626. func (s VolumeStatusAction) GoString() string {
  30627. return s.String()
  30628. }
  30629. // Describes a volume status.
  30630. type VolumeStatusDetails struct {
  30631. _ struct{} `type:"structure"`
  30632. // The name of the volume status.
  30633. Name *string `locationName:"name" type:"string" enum:"VolumeStatusName"`
  30634. // The intended status of the volume status.
  30635. Status *string `locationName:"status" type:"string"`
  30636. }
  30637. // String returns the string representation
  30638. func (s VolumeStatusDetails) String() string {
  30639. return awsutil.Prettify(s)
  30640. }
  30641. // GoString returns the string representation
  30642. func (s VolumeStatusDetails) GoString() string {
  30643. return s.String()
  30644. }
  30645. // Describes a volume status event.
  30646. type VolumeStatusEvent struct {
  30647. _ struct{} `type:"structure"`
  30648. // A description of the event.
  30649. Description *string `locationName:"description" type:"string"`
  30650. // The ID of this event.
  30651. EventId *string `locationName:"eventId" type:"string"`
  30652. // The type of this event.
  30653. EventType *string `locationName:"eventType" type:"string"`
  30654. // The latest end time of the event.
  30655. NotAfter *time.Time `locationName:"notAfter" type:"timestamp" timestampFormat:"iso8601"`
  30656. // The earliest start time of the event.
  30657. NotBefore *time.Time `locationName:"notBefore" type:"timestamp" timestampFormat:"iso8601"`
  30658. }
  30659. // String returns the string representation
  30660. func (s VolumeStatusEvent) String() string {
  30661. return awsutil.Prettify(s)
  30662. }
  30663. // GoString returns the string representation
  30664. func (s VolumeStatusEvent) GoString() string {
  30665. return s.String()
  30666. }
  30667. // Describes the status of a volume.
  30668. type VolumeStatusInfo struct {
  30669. _ struct{} `type:"structure"`
  30670. // The details of the volume status.
  30671. Details []*VolumeStatusDetails `locationName:"details" locationNameList:"item" type:"list"`
  30672. // The status of the volume.
  30673. Status *string `locationName:"status" type:"string" enum:"VolumeStatusInfoStatus"`
  30674. }
  30675. // String returns the string representation
  30676. func (s VolumeStatusInfo) String() string {
  30677. return awsutil.Prettify(s)
  30678. }
  30679. // GoString returns the string representation
  30680. func (s VolumeStatusInfo) GoString() string {
  30681. return s.String()
  30682. }
  30683. // Describes the volume status.
  30684. type VolumeStatusItem struct {
  30685. _ struct{} `type:"structure"`
  30686. // The details of the operation.
  30687. Actions []*VolumeStatusAction `locationName:"actionsSet" locationNameList:"item" type:"list"`
  30688. // The Availability Zone of the volume.
  30689. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  30690. // A list of events associated with the volume.
  30691. Events []*VolumeStatusEvent `locationName:"eventsSet" locationNameList:"item" type:"list"`
  30692. // The volume ID.
  30693. VolumeId *string `locationName:"volumeId" type:"string"`
  30694. // The volume status.
  30695. VolumeStatus *VolumeStatusInfo `locationName:"volumeStatus" type:"structure"`
  30696. }
  30697. // String returns the string representation
  30698. func (s VolumeStatusItem) String() string {
  30699. return awsutil.Prettify(s)
  30700. }
  30701. // GoString returns the string representation
  30702. func (s VolumeStatusItem) GoString() string {
  30703. return s.String()
  30704. }
  30705. // Describes a VPC.
  30706. type Vpc struct {
  30707. _ struct{} `type:"structure"`
  30708. // The CIDR block for the VPC.
  30709. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  30710. // The ID of the set of DHCP options you've associated with the VPC (or default
  30711. // if the default options are associated with the VPC).
  30712. DhcpOptionsId *string `locationName:"dhcpOptionsId" type:"string"`
  30713. // The allowed tenancy of instances launched into the VPC.
  30714. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  30715. // Indicates whether the VPC is the default VPC.
  30716. IsDefault *bool `locationName:"isDefault" type:"boolean"`
  30717. // The current state of the VPC.
  30718. State *string `locationName:"state" type:"string" enum:"VpcState"`
  30719. // Any tags assigned to the VPC.
  30720. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  30721. // The ID of the VPC.
  30722. VpcId *string `locationName:"vpcId" type:"string"`
  30723. }
  30724. // String returns the string representation
  30725. func (s Vpc) String() string {
  30726. return awsutil.Prettify(s)
  30727. }
  30728. // GoString returns the string representation
  30729. func (s Vpc) GoString() string {
  30730. return s.String()
  30731. }
  30732. // Describes an attachment between a virtual private gateway and a VPC.
  30733. type VpcAttachment struct {
  30734. _ struct{} `type:"structure"`
  30735. // The current state of the attachment.
  30736. State *string `locationName:"state" type:"string" enum:"AttachmentStatus"`
  30737. // The ID of the VPC.
  30738. VpcId *string `locationName:"vpcId" type:"string"`
  30739. }
  30740. // String returns the string representation
  30741. func (s VpcAttachment) String() string {
  30742. return awsutil.Prettify(s)
  30743. }
  30744. // GoString returns the string representation
  30745. func (s VpcAttachment) GoString() string {
  30746. return s.String()
  30747. }
  30748. // Describes whether a VPC is enabled for ClassicLink.
  30749. type VpcClassicLink struct {
  30750. _ struct{} `type:"structure"`
  30751. // Indicates whether the VPC is enabled for ClassicLink.
  30752. ClassicLinkEnabled *bool `locationName:"classicLinkEnabled" type:"boolean"`
  30753. // Any tags assigned to the VPC.
  30754. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  30755. // The ID of the VPC.
  30756. VpcId *string `locationName:"vpcId" type:"string"`
  30757. }
  30758. // String returns the string representation
  30759. func (s VpcClassicLink) String() string {
  30760. return awsutil.Prettify(s)
  30761. }
  30762. // GoString returns the string representation
  30763. func (s VpcClassicLink) GoString() string {
  30764. return s.String()
  30765. }
  30766. // Describes a VPC endpoint.
  30767. type VpcEndpoint struct {
  30768. _ struct{} `type:"structure"`
  30769. // The date and time the VPC endpoint was created.
  30770. CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp" timestampFormat:"iso8601"`
  30771. // The policy document associated with the endpoint.
  30772. PolicyDocument *string `locationName:"policyDocument" type:"string"`
  30773. // One or more route tables associated with the endpoint.
  30774. RouteTableIds []*string `locationName:"routeTableIdSet" locationNameList:"item" type:"list"`
  30775. // The name of the AWS service to which the endpoint is associated.
  30776. ServiceName *string `locationName:"serviceName" type:"string"`
  30777. // The state of the VPC endpoint.
  30778. State *string `locationName:"state" type:"string" enum:"State"`
  30779. // The ID of the VPC endpoint.
  30780. VpcEndpointId *string `locationName:"vpcEndpointId" type:"string"`
  30781. // The ID of the VPC to which the endpoint is associated.
  30782. VpcId *string `locationName:"vpcId" type:"string"`
  30783. }
  30784. // String returns the string representation
  30785. func (s VpcEndpoint) String() string {
  30786. return awsutil.Prettify(s)
  30787. }
  30788. // GoString returns the string representation
  30789. func (s VpcEndpoint) GoString() string {
  30790. return s.String()
  30791. }
  30792. // Describes a VPC peering connection.
  30793. type VpcPeeringConnection struct {
  30794. _ struct{} `type:"structure"`
  30795. // Information about the accepter VPC. CIDR block information is not returned
  30796. // when creating a VPC peering connection, or when describing a VPC peering
  30797. // connection that's in the initiating-request or pending-acceptance state.
  30798. AccepterVpcInfo *VpcPeeringConnectionVpcInfo `locationName:"accepterVpcInfo" type:"structure"`
  30799. // The time that an unaccepted VPC peering connection will expire.
  30800. ExpirationTime *time.Time `locationName:"expirationTime" type:"timestamp" timestampFormat:"iso8601"`
  30801. // Information about the requester VPC.
  30802. RequesterVpcInfo *VpcPeeringConnectionVpcInfo `locationName:"requesterVpcInfo" type:"structure"`
  30803. // The status of the VPC peering connection.
  30804. Status *VpcPeeringConnectionStateReason `locationName:"status" type:"structure"`
  30805. // Any tags assigned to the resource.
  30806. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  30807. // The ID of the VPC peering connection.
  30808. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  30809. }
  30810. // String returns the string representation
  30811. func (s VpcPeeringConnection) String() string {
  30812. return awsutil.Prettify(s)
  30813. }
  30814. // GoString returns the string representation
  30815. func (s VpcPeeringConnection) GoString() string {
  30816. return s.String()
  30817. }
  30818. // Describes the VPC peering connection options.
  30819. type VpcPeeringConnectionOptionsDescription struct {
  30820. _ struct{} `type:"structure"`
  30821. // Indicates whether a local VPC can resolve public DNS hostnames to private
  30822. // IP addresses when queried from instances in a peer VPC.
  30823. AllowDnsResolutionFromRemoteVpc *bool `locationName:"allowDnsResolutionFromRemoteVpc" type:"boolean"`
  30824. // Indicates whether a local ClassicLink connection can communicate with the
  30825. // peer VPC over the VPC peering connection.
  30826. AllowEgressFromLocalClassicLinkToRemoteVpc *bool `locationName:"allowEgressFromLocalClassicLinkToRemoteVpc" type:"boolean"`
  30827. // Indicates whether a local VPC can communicate with a ClassicLink connection
  30828. // in the peer VPC over the VPC peering connection.
  30829. AllowEgressFromLocalVpcToRemoteClassicLink *bool `locationName:"allowEgressFromLocalVpcToRemoteClassicLink" type:"boolean"`
  30830. }
  30831. // String returns the string representation
  30832. func (s VpcPeeringConnectionOptionsDescription) String() string {
  30833. return awsutil.Prettify(s)
  30834. }
  30835. // GoString returns the string representation
  30836. func (s VpcPeeringConnectionOptionsDescription) GoString() string {
  30837. return s.String()
  30838. }
  30839. // Describes the status of a VPC peering connection.
  30840. type VpcPeeringConnectionStateReason struct {
  30841. _ struct{} `type:"structure"`
  30842. // The status of the VPC peering connection.
  30843. Code *string `locationName:"code" type:"string" enum:"VpcPeeringConnectionStateReasonCode"`
  30844. // A message that provides more information about the status, if applicable.
  30845. Message *string `locationName:"message" type:"string"`
  30846. }
  30847. // String returns the string representation
  30848. func (s VpcPeeringConnectionStateReason) String() string {
  30849. return awsutil.Prettify(s)
  30850. }
  30851. // GoString returns the string representation
  30852. func (s VpcPeeringConnectionStateReason) GoString() string {
  30853. return s.String()
  30854. }
  30855. // Describes a VPC in a VPC peering connection.
  30856. type VpcPeeringConnectionVpcInfo struct {
  30857. _ struct{} `type:"structure"`
  30858. // The CIDR block for the VPC.
  30859. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  30860. // The AWS account ID of the VPC owner.
  30861. OwnerId *string `locationName:"ownerId" type:"string"`
  30862. // Information about the VPC peering connection options for the accepter or
  30863. // requester VPC.
  30864. PeeringOptions *VpcPeeringConnectionOptionsDescription `locationName:"peeringOptions" type:"structure"`
  30865. // The ID of the VPC.
  30866. VpcId *string `locationName:"vpcId" type:"string"`
  30867. }
  30868. // String returns the string representation
  30869. func (s VpcPeeringConnectionVpcInfo) String() string {
  30870. return awsutil.Prettify(s)
  30871. }
  30872. // GoString returns the string representation
  30873. func (s VpcPeeringConnectionVpcInfo) GoString() string {
  30874. return s.String()
  30875. }
  30876. // Describes a VPN connection.
  30877. type VpnConnection struct {
  30878. _ struct{} `type:"structure"`
  30879. // The configuration information for the VPN connection's customer gateway (in
  30880. // the native XML format). This element is always present in the CreateVpnConnection
  30881. // response; however, it's present in the DescribeVpnConnections response only
  30882. // if the VPN connection is in the pending or available state.
  30883. CustomerGatewayConfiguration *string `locationName:"customerGatewayConfiguration" type:"string"`
  30884. // The ID of the customer gateway at your end of the VPN connection.
  30885. CustomerGatewayId *string `locationName:"customerGatewayId" type:"string"`
  30886. // The VPN connection options.
  30887. Options *VpnConnectionOptions `locationName:"options" type:"structure"`
  30888. // The static routes associated with the VPN connection.
  30889. Routes []*VpnStaticRoute `locationName:"routes" locationNameList:"item" type:"list"`
  30890. // The current state of the VPN connection.
  30891. State *string `locationName:"state" type:"string" enum:"VpnState"`
  30892. // Any tags assigned to the VPN connection.
  30893. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  30894. // The type of VPN connection.
  30895. Type *string `locationName:"type" type:"string" enum:"GatewayType"`
  30896. // Information about the VPN tunnel.
  30897. VgwTelemetry []*VgwTelemetry `locationName:"vgwTelemetry" locationNameList:"item" type:"list"`
  30898. // The ID of the VPN connection.
  30899. VpnConnectionId *string `locationName:"vpnConnectionId" type:"string"`
  30900. // The ID of the virtual private gateway at the AWS side of the VPN connection.
  30901. VpnGatewayId *string `locationName:"vpnGatewayId" type:"string"`
  30902. }
  30903. // String returns the string representation
  30904. func (s VpnConnection) String() string {
  30905. return awsutil.Prettify(s)
  30906. }
  30907. // GoString returns the string representation
  30908. func (s VpnConnection) GoString() string {
  30909. return s.String()
  30910. }
  30911. // Describes VPN connection options.
  30912. type VpnConnectionOptions struct {
  30913. _ struct{} `type:"structure"`
  30914. // Indicates whether the VPN connection uses static routes only. Static routes
  30915. // must be used for devices that don't support BGP.
  30916. StaticRoutesOnly *bool `locationName:"staticRoutesOnly" type:"boolean"`
  30917. }
  30918. // String returns the string representation
  30919. func (s VpnConnectionOptions) String() string {
  30920. return awsutil.Prettify(s)
  30921. }
  30922. // GoString returns the string representation
  30923. func (s VpnConnectionOptions) GoString() string {
  30924. return s.String()
  30925. }
  30926. // Describes VPN connection options.
  30927. type VpnConnectionOptionsSpecification struct {
  30928. _ struct{} `type:"structure"`
  30929. // Indicates whether the VPN connection uses static routes only. Static routes
  30930. // must be used for devices that don't support BGP.
  30931. StaticRoutesOnly *bool `locationName:"staticRoutesOnly" type:"boolean"`
  30932. }
  30933. // String returns the string representation
  30934. func (s VpnConnectionOptionsSpecification) String() string {
  30935. return awsutil.Prettify(s)
  30936. }
  30937. // GoString returns the string representation
  30938. func (s VpnConnectionOptionsSpecification) GoString() string {
  30939. return s.String()
  30940. }
  30941. // Describes a virtual private gateway.
  30942. type VpnGateway struct {
  30943. _ struct{} `type:"structure"`
  30944. // The Availability Zone where the virtual private gateway was created, if applicable.
  30945. // This field may be empty or not returned.
  30946. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  30947. // The current state of the virtual private gateway.
  30948. State *string `locationName:"state" type:"string" enum:"VpnState"`
  30949. // Any tags assigned to the virtual private gateway.
  30950. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  30951. // The type of VPN connection the virtual private gateway supports.
  30952. Type *string `locationName:"type" type:"string" enum:"GatewayType"`
  30953. // Any VPCs attached to the virtual private gateway.
  30954. VpcAttachments []*VpcAttachment `locationName:"attachments" locationNameList:"item" type:"list"`
  30955. // The ID of the virtual private gateway.
  30956. VpnGatewayId *string `locationName:"vpnGatewayId" type:"string"`
  30957. }
  30958. // String returns the string representation
  30959. func (s VpnGateway) String() string {
  30960. return awsutil.Prettify(s)
  30961. }
  30962. // GoString returns the string representation
  30963. func (s VpnGateway) GoString() string {
  30964. return s.String()
  30965. }
  30966. // Describes a static route for a VPN connection.
  30967. type VpnStaticRoute struct {
  30968. _ struct{} `type:"structure"`
  30969. // The CIDR block associated with the local subnet of the customer data center.
  30970. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  30971. // Indicates how the routes were provided.
  30972. Source *string `locationName:"source" type:"string" enum:"VpnStaticRouteSource"`
  30973. // The current state of the static route.
  30974. State *string `locationName:"state" type:"string" enum:"VpnState"`
  30975. }
  30976. // String returns the string representation
  30977. func (s VpnStaticRoute) String() string {
  30978. return awsutil.Prettify(s)
  30979. }
  30980. // GoString returns the string representation
  30981. func (s VpnStaticRoute) GoString() string {
  30982. return s.String()
  30983. }
  30984. const (
  30985. // AccountAttributeNameSupportedPlatforms is a AccountAttributeName enum value
  30986. AccountAttributeNameSupportedPlatforms = "supported-platforms"
  30987. // AccountAttributeNameDefaultVpc is a AccountAttributeName enum value
  30988. AccountAttributeNameDefaultVpc = "default-vpc"
  30989. )
  30990. const (
  30991. // ActivityStatusError is a ActivityStatus enum value
  30992. ActivityStatusError = "error"
  30993. // ActivityStatusPendingFulfillment is a ActivityStatus enum value
  30994. ActivityStatusPendingFulfillment = "pending_fulfillment"
  30995. // ActivityStatusPendingTermination is a ActivityStatus enum value
  30996. ActivityStatusPendingTermination = "pending_termination"
  30997. // ActivityStatusFulfilled is a ActivityStatus enum value
  30998. ActivityStatusFulfilled = "fulfilled"
  30999. )
  31000. const (
  31001. // AffinityDefault is a Affinity enum value
  31002. AffinityDefault = "default"
  31003. // AffinityHost is a Affinity enum value
  31004. AffinityHost = "host"
  31005. )
  31006. const (
  31007. // AllocationStateAvailable is a AllocationState enum value
  31008. AllocationStateAvailable = "available"
  31009. // AllocationStateUnderAssessment is a AllocationState enum value
  31010. AllocationStateUnderAssessment = "under-assessment"
  31011. // AllocationStatePermanentFailure is a AllocationState enum value
  31012. AllocationStatePermanentFailure = "permanent-failure"
  31013. // AllocationStateReleased is a AllocationState enum value
  31014. AllocationStateReleased = "released"
  31015. // AllocationStateReleasedPermanentFailure is a AllocationState enum value
  31016. AllocationStateReleasedPermanentFailure = "released-permanent-failure"
  31017. )
  31018. const (
  31019. // AllocationStrategyLowestPrice is a AllocationStrategy enum value
  31020. AllocationStrategyLowestPrice = "lowestPrice"
  31021. // AllocationStrategyDiversified is a AllocationStrategy enum value
  31022. AllocationStrategyDiversified = "diversified"
  31023. )
  31024. const (
  31025. // ArchitectureValuesI386 is a ArchitectureValues enum value
  31026. ArchitectureValuesI386 = "i386"
  31027. // ArchitectureValuesX8664 is a ArchitectureValues enum value
  31028. ArchitectureValuesX8664 = "x86_64"
  31029. )
  31030. const (
  31031. // AttachmentStatusAttaching is a AttachmentStatus enum value
  31032. AttachmentStatusAttaching = "attaching"
  31033. // AttachmentStatusAttached is a AttachmentStatus enum value
  31034. AttachmentStatusAttached = "attached"
  31035. // AttachmentStatusDetaching is a AttachmentStatus enum value
  31036. AttachmentStatusDetaching = "detaching"
  31037. // AttachmentStatusDetached is a AttachmentStatus enum value
  31038. AttachmentStatusDetached = "detached"
  31039. )
  31040. const (
  31041. // AutoPlacementOn is a AutoPlacement enum value
  31042. AutoPlacementOn = "on"
  31043. // AutoPlacementOff is a AutoPlacement enum value
  31044. AutoPlacementOff = "off"
  31045. )
  31046. const (
  31047. // AvailabilityZoneStateAvailable is a AvailabilityZoneState enum value
  31048. AvailabilityZoneStateAvailable = "available"
  31049. // AvailabilityZoneStateInformation is a AvailabilityZoneState enum value
  31050. AvailabilityZoneStateInformation = "information"
  31051. // AvailabilityZoneStateImpaired is a AvailabilityZoneState enum value
  31052. AvailabilityZoneStateImpaired = "impaired"
  31053. // AvailabilityZoneStateUnavailable is a AvailabilityZoneState enum value
  31054. AvailabilityZoneStateUnavailable = "unavailable"
  31055. )
  31056. const (
  31057. // BatchStateSubmitted is a BatchState enum value
  31058. BatchStateSubmitted = "submitted"
  31059. // BatchStateActive is a BatchState enum value
  31060. BatchStateActive = "active"
  31061. // BatchStateCancelled is a BatchState enum value
  31062. BatchStateCancelled = "cancelled"
  31063. // BatchStateFailed is a BatchState enum value
  31064. BatchStateFailed = "failed"
  31065. // BatchStateCancelledRunning is a BatchState enum value
  31066. BatchStateCancelledRunning = "cancelled_running"
  31067. // BatchStateCancelledTerminating is a BatchState enum value
  31068. BatchStateCancelledTerminating = "cancelled_terminating"
  31069. // BatchStateModifying is a BatchState enum value
  31070. BatchStateModifying = "modifying"
  31071. )
  31072. const (
  31073. // BundleTaskStatePending is a BundleTaskState enum value
  31074. BundleTaskStatePending = "pending"
  31075. // BundleTaskStateWaitingForShutdown is a BundleTaskState enum value
  31076. BundleTaskStateWaitingForShutdown = "waiting-for-shutdown"
  31077. // BundleTaskStateBundling is a BundleTaskState enum value
  31078. BundleTaskStateBundling = "bundling"
  31079. // BundleTaskStateStoring is a BundleTaskState enum value
  31080. BundleTaskStateStoring = "storing"
  31081. // BundleTaskStateCancelling is a BundleTaskState enum value
  31082. BundleTaskStateCancelling = "cancelling"
  31083. // BundleTaskStateComplete is a BundleTaskState enum value
  31084. BundleTaskStateComplete = "complete"
  31085. // BundleTaskStateFailed is a BundleTaskState enum value
  31086. BundleTaskStateFailed = "failed"
  31087. )
  31088. const (
  31089. // CancelBatchErrorCodeFleetRequestIdDoesNotExist is a CancelBatchErrorCode enum value
  31090. CancelBatchErrorCodeFleetRequestIdDoesNotExist = "fleetRequestIdDoesNotExist"
  31091. // CancelBatchErrorCodeFleetRequestIdMalformed is a CancelBatchErrorCode enum value
  31092. CancelBatchErrorCodeFleetRequestIdMalformed = "fleetRequestIdMalformed"
  31093. // CancelBatchErrorCodeFleetRequestNotInCancellableState is a CancelBatchErrorCode enum value
  31094. CancelBatchErrorCodeFleetRequestNotInCancellableState = "fleetRequestNotInCancellableState"
  31095. // CancelBatchErrorCodeUnexpectedError is a CancelBatchErrorCode enum value
  31096. CancelBatchErrorCodeUnexpectedError = "unexpectedError"
  31097. )
  31098. const (
  31099. // CancelSpotInstanceRequestStateActive is a CancelSpotInstanceRequestState enum value
  31100. CancelSpotInstanceRequestStateActive = "active"
  31101. // CancelSpotInstanceRequestStateOpen is a CancelSpotInstanceRequestState enum value
  31102. CancelSpotInstanceRequestStateOpen = "open"
  31103. // CancelSpotInstanceRequestStateClosed is a CancelSpotInstanceRequestState enum value
  31104. CancelSpotInstanceRequestStateClosed = "closed"
  31105. // CancelSpotInstanceRequestStateCancelled is a CancelSpotInstanceRequestState enum value
  31106. CancelSpotInstanceRequestStateCancelled = "cancelled"
  31107. // CancelSpotInstanceRequestStateCompleted is a CancelSpotInstanceRequestState enum value
  31108. CancelSpotInstanceRequestStateCompleted = "completed"
  31109. )
  31110. const (
  31111. // ContainerFormatOva is a ContainerFormat enum value
  31112. ContainerFormatOva = "ova"
  31113. )
  31114. const (
  31115. // ConversionTaskStateActive is a ConversionTaskState enum value
  31116. ConversionTaskStateActive = "active"
  31117. // ConversionTaskStateCancelling is a ConversionTaskState enum value
  31118. ConversionTaskStateCancelling = "cancelling"
  31119. // ConversionTaskStateCancelled is a ConversionTaskState enum value
  31120. ConversionTaskStateCancelled = "cancelled"
  31121. // ConversionTaskStateCompleted is a ConversionTaskState enum value
  31122. ConversionTaskStateCompleted = "completed"
  31123. )
  31124. const (
  31125. // CurrencyCodeValuesUsd is a CurrencyCodeValues enum value
  31126. CurrencyCodeValuesUsd = "USD"
  31127. )
  31128. const (
  31129. // DatafeedSubscriptionStateActive is a DatafeedSubscriptionState enum value
  31130. DatafeedSubscriptionStateActive = "Active"
  31131. // DatafeedSubscriptionStateInactive is a DatafeedSubscriptionState enum value
  31132. DatafeedSubscriptionStateInactive = "Inactive"
  31133. )
  31134. const (
  31135. // DeviceTypeEbs is a DeviceType enum value
  31136. DeviceTypeEbs = "ebs"
  31137. // DeviceTypeInstanceStore is a DeviceType enum value
  31138. DeviceTypeInstanceStore = "instance-store"
  31139. )
  31140. const (
  31141. // DiskImageFormatVmdk is a DiskImageFormat enum value
  31142. DiskImageFormatVmdk = "VMDK"
  31143. // DiskImageFormatRaw is a DiskImageFormat enum value
  31144. DiskImageFormatRaw = "RAW"
  31145. // DiskImageFormatVhd is a DiskImageFormat enum value
  31146. DiskImageFormatVhd = "VHD"
  31147. )
  31148. const (
  31149. // DomainTypeVpc is a DomainType enum value
  31150. DomainTypeVpc = "vpc"
  31151. // DomainTypeStandard is a DomainType enum value
  31152. DomainTypeStandard = "standard"
  31153. )
  31154. const (
  31155. // EventCodeInstanceReboot is a EventCode enum value
  31156. EventCodeInstanceReboot = "instance-reboot"
  31157. // EventCodeSystemReboot is a EventCode enum value
  31158. EventCodeSystemReboot = "system-reboot"
  31159. // EventCodeSystemMaintenance is a EventCode enum value
  31160. EventCodeSystemMaintenance = "system-maintenance"
  31161. // EventCodeInstanceRetirement is a EventCode enum value
  31162. EventCodeInstanceRetirement = "instance-retirement"
  31163. // EventCodeInstanceStop is a EventCode enum value
  31164. EventCodeInstanceStop = "instance-stop"
  31165. )
  31166. const (
  31167. // EventTypeInstanceChange is a EventType enum value
  31168. EventTypeInstanceChange = "instanceChange"
  31169. // EventTypeFleetRequestChange is a EventType enum value
  31170. EventTypeFleetRequestChange = "fleetRequestChange"
  31171. // EventTypeError is a EventType enum value
  31172. EventTypeError = "error"
  31173. )
  31174. const (
  31175. // ExcessCapacityTerminationPolicyNoTermination is a ExcessCapacityTerminationPolicy enum value
  31176. ExcessCapacityTerminationPolicyNoTermination = "noTermination"
  31177. // ExcessCapacityTerminationPolicyDefault is a ExcessCapacityTerminationPolicy enum value
  31178. ExcessCapacityTerminationPolicyDefault = "default"
  31179. )
  31180. const (
  31181. // ExportEnvironmentCitrix is a ExportEnvironment enum value
  31182. ExportEnvironmentCitrix = "citrix"
  31183. // ExportEnvironmentVmware is a ExportEnvironment enum value
  31184. ExportEnvironmentVmware = "vmware"
  31185. // ExportEnvironmentMicrosoft is a ExportEnvironment enum value
  31186. ExportEnvironmentMicrosoft = "microsoft"
  31187. )
  31188. const (
  31189. // ExportTaskStateActive is a ExportTaskState enum value
  31190. ExportTaskStateActive = "active"
  31191. // ExportTaskStateCancelling is a ExportTaskState enum value
  31192. ExportTaskStateCancelling = "cancelling"
  31193. // ExportTaskStateCancelled is a ExportTaskState enum value
  31194. ExportTaskStateCancelled = "cancelled"
  31195. // ExportTaskStateCompleted is a ExportTaskState enum value
  31196. ExportTaskStateCompleted = "completed"
  31197. )
  31198. const (
  31199. // FleetTypeRequest is a FleetType enum value
  31200. FleetTypeRequest = "request"
  31201. // FleetTypeMaintain is a FleetType enum value
  31202. FleetTypeMaintain = "maintain"
  31203. )
  31204. const (
  31205. // FlowLogsResourceTypeVpc is a FlowLogsResourceType enum value
  31206. FlowLogsResourceTypeVpc = "VPC"
  31207. // FlowLogsResourceTypeSubnet is a FlowLogsResourceType enum value
  31208. FlowLogsResourceTypeSubnet = "Subnet"
  31209. // FlowLogsResourceTypeNetworkInterface is a FlowLogsResourceType enum value
  31210. FlowLogsResourceTypeNetworkInterface = "NetworkInterface"
  31211. )
  31212. const (
  31213. // GatewayTypeIpsec1 is a GatewayType enum value
  31214. GatewayTypeIpsec1 = "ipsec.1"
  31215. )
  31216. const (
  31217. // HostTenancyDedicated is a HostTenancy enum value
  31218. HostTenancyDedicated = "dedicated"
  31219. // HostTenancyHost is a HostTenancy enum value
  31220. HostTenancyHost = "host"
  31221. )
  31222. const (
  31223. // HypervisorTypeOvm is a HypervisorType enum value
  31224. HypervisorTypeOvm = "ovm"
  31225. // HypervisorTypeXen is a HypervisorType enum value
  31226. HypervisorTypeXen = "xen"
  31227. )
  31228. const (
  31229. // ImageAttributeNameDescription is a ImageAttributeName enum value
  31230. ImageAttributeNameDescription = "description"
  31231. // ImageAttributeNameKernel is a ImageAttributeName enum value
  31232. ImageAttributeNameKernel = "kernel"
  31233. // ImageAttributeNameRamdisk is a ImageAttributeName enum value
  31234. ImageAttributeNameRamdisk = "ramdisk"
  31235. // ImageAttributeNameLaunchPermission is a ImageAttributeName enum value
  31236. ImageAttributeNameLaunchPermission = "launchPermission"
  31237. // ImageAttributeNameProductCodes is a ImageAttributeName enum value
  31238. ImageAttributeNameProductCodes = "productCodes"
  31239. // ImageAttributeNameBlockDeviceMapping is a ImageAttributeName enum value
  31240. ImageAttributeNameBlockDeviceMapping = "blockDeviceMapping"
  31241. // ImageAttributeNameSriovNetSupport is a ImageAttributeName enum value
  31242. ImageAttributeNameSriovNetSupport = "sriovNetSupport"
  31243. )
  31244. const (
  31245. // ImageStatePending is a ImageState enum value
  31246. ImageStatePending = "pending"
  31247. // ImageStateAvailable is a ImageState enum value
  31248. ImageStateAvailable = "available"
  31249. // ImageStateInvalid is a ImageState enum value
  31250. ImageStateInvalid = "invalid"
  31251. // ImageStateDeregistered is a ImageState enum value
  31252. ImageStateDeregistered = "deregistered"
  31253. // ImageStateTransient is a ImageState enum value
  31254. ImageStateTransient = "transient"
  31255. // ImageStateFailed is a ImageState enum value
  31256. ImageStateFailed = "failed"
  31257. // ImageStateError is a ImageState enum value
  31258. ImageStateError = "error"
  31259. )
  31260. const (
  31261. // ImageTypeValuesMachine is a ImageTypeValues enum value
  31262. ImageTypeValuesMachine = "machine"
  31263. // ImageTypeValuesKernel is a ImageTypeValues enum value
  31264. ImageTypeValuesKernel = "kernel"
  31265. // ImageTypeValuesRamdisk is a ImageTypeValues enum value
  31266. ImageTypeValuesRamdisk = "ramdisk"
  31267. )
  31268. const (
  31269. // InstanceAttributeNameInstanceType is a InstanceAttributeName enum value
  31270. InstanceAttributeNameInstanceType = "instanceType"
  31271. // InstanceAttributeNameKernel is a InstanceAttributeName enum value
  31272. InstanceAttributeNameKernel = "kernel"
  31273. // InstanceAttributeNameRamdisk is a InstanceAttributeName enum value
  31274. InstanceAttributeNameRamdisk = "ramdisk"
  31275. // InstanceAttributeNameUserData is a InstanceAttributeName enum value
  31276. InstanceAttributeNameUserData = "userData"
  31277. // InstanceAttributeNameDisableApiTermination is a InstanceAttributeName enum value
  31278. InstanceAttributeNameDisableApiTermination = "disableApiTermination"
  31279. // InstanceAttributeNameInstanceInitiatedShutdownBehavior is a InstanceAttributeName enum value
  31280. InstanceAttributeNameInstanceInitiatedShutdownBehavior = "instanceInitiatedShutdownBehavior"
  31281. // InstanceAttributeNameRootDeviceName is a InstanceAttributeName enum value
  31282. InstanceAttributeNameRootDeviceName = "rootDeviceName"
  31283. // InstanceAttributeNameBlockDeviceMapping is a InstanceAttributeName enum value
  31284. InstanceAttributeNameBlockDeviceMapping = "blockDeviceMapping"
  31285. // InstanceAttributeNameProductCodes is a InstanceAttributeName enum value
  31286. InstanceAttributeNameProductCodes = "productCodes"
  31287. // InstanceAttributeNameSourceDestCheck is a InstanceAttributeName enum value
  31288. InstanceAttributeNameSourceDestCheck = "sourceDestCheck"
  31289. // InstanceAttributeNameGroupSet is a InstanceAttributeName enum value
  31290. InstanceAttributeNameGroupSet = "groupSet"
  31291. // InstanceAttributeNameEbsOptimized is a InstanceAttributeName enum value
  31292. InstanceAttributeNameEbsOptimized = "ebsOptimized"
  31293. // InstanceAttributeNameSriovNetSupport is a InstanceAttributeName enum value
  31294. InstanceAttributeNameSriovNetSupport = "sriovNetSupport"
  31295. // InstanceAttributeNameEnaSupport is a InstanceAttributeName enum value
  31296. InstanceAttributeNameEnaSupport = "enaSupport"
  31297. )
  31298. const (
  31299. // InstanceLifecycleTypeSpot is a InstanceLifecycleType enum value
  31300. InstanceLifecycleTypeSpot = "spot"
  31301. // InstanceLifecycleTypeScheduled is a InstanceLifecycleType enum value
  31302. InstanceLifecycleTypeScheduled = "scheduled"
  31303. )
  31304. const (
  31305. // InstanceStateNamePending is a InstanceStateName enum value
  31306. InstanceStateNamePending = "pending"
  31307. // InstanceStateNameRunning is a InstanceStateName enum value
  31308. InstanceStateNameRunning = "running"
  31309. // InstanceStateNameShuttingDown is a InstanceStateName enum value
  31310. InstanceStateNameShuttingDown = "shutting-down"
  31311. // InstanceStateNameTerminated is a InstanceStateName enum value
  31312. InstanceStateNameTerminated = "terminated"
  31313. // InstanceStateNameStopping is a InstanceStateName enum value
  31314. InstanceStateNameStopping = "stopping"
  31315. // InstanceStateNameStopped is a InstanceStateName enum value
  31316. InstanceStateNameStopped = "stopped"
  31317. )
  31318. const (
  31319. // InstanceTypeT1Micro is a InstanceType enum value
  31320. InstanceTypeT1Micro = "t1.micro"
  31321. // InstanceTypeT2Nano is a InstanceType enum value
  31322. InstanceTypeT2Nano = "t2.nano"
  31323. // InstanceTypeT2Micro is a InstanceType enum value
  31324. InstanceTypeT2Micro = "t2.micro"
  31325. // InstanceTypeT2Small is a InstanceType enum value
  31326. InstanceTypeT2Small = "t2.small"
  31327. // InstanceTypeT2Medium is a InstanceType enum value
  31328. InstanceTypeT2Medium = "t2.medium"
  31329. // InstanceTypeT2Large is a InstanceType enum value
  31330. InstanceTypeT2Large = "t2.large"
  31331. // InstanceTypeM1Small is a InstanceType enum value
  31332. InstanceTypeM1Small = "m1.small"
  31333. // InstanceTypeM1Medium is a InstanceType enum value
  31334. InstanceTypeM1Medium = "m1.medium"
  31335. // InstanceTypeM1Large is a InstanceType enum value
  31336. InstanceTypeM1Large = "m1.large"
  31337. // InstanceTypeM1Xlarge is a InstanceType enum value
  31338. InstanceTypeM1Xlarge = "m1.xlarge"
  31339. // InstanceTypeM3Medium is a InstanceType enum value
  31340. InstanceTypeM3Medium = "m3.medium"
  31341. // InstanceTypeM3Large is a InstanceType enum value
  31342. InstanceTypeM3Large = "m3.large"
  31343. // InstanceTypeM3Xlarge is a InstanceType enum value
  31344. InstanceTypeM3Xlarge = "m3.xlarge"
  31345. // InstanceTypeM32xlarge is a InstanceType enum value
  31346. InstanceTypeM32xlarge = "m3.2xlarge"
  31347. // InstanceTypeM4Large is a InstanceType enum value
  31348. InstanceTypeM4Large = "m4.large"
  31349. // InstanceTypeM4Xlarge is a InstanceType enum value
  31350. InstanceTypeM4Xlarge = "m4.xlarge"
  31351. // InstanceTypeM42xlarge is a InstanceType enum value
  31352. InstanceTypeM42xlarge = "m4.2xlarge"
  31353. // InstanceTypeM44xlarge is a InstanceType enum value
  31354. InstanceTypeM44xlarge = "m4.4xlarge"
  31355. // InstanceTypeM410xlarge is a InstanceType enum value
  31356. InstanceTypeM410xlarge = "m4.10xlarge"
  31357. // InstanceTypeM416xlarge is a InstanceType enum value
  31358. InstanceTypeM416xlarge = "m4.16xlarge"
  31359. // InstanceTypeM2Xlarge is a InstanceType enum value
  31360. InstanceTypeM2Xlarge = "m2.xlarge"
  31361. // InstanceTypeM22xlarge is a InstanceType enum value
  31362. InstanceTypeM22xlarge = "m2.2xlarge"
  31363. // InstanceTypeM24xlarge is a InstanceType enum value
  31364. InstanceTypeM24xlarge = "m2.4xlarge"
  31365. // InstanceTypeCr18xlarge is a InstanceType enum value
  31366. InstanceTypeCr18xlarge = "cr1.8xlarge"
  31367. // InstanceTypeR3Large is a InstanceType enum value
  31368. InstanceTypeR3Large = "r3.large"
  31369. // InstanceTypeR3Xlarge is a InstanceType enum value
  31370. InstanceTypeR3Xlarge = "r3.xlarge"
  31371. // InstanceTypeR32xlarge is a InstanceType enum value
  31372. InstanceTypeR32xlarge = "r3.2xlarge"
  31373. // InstanceTypeR34xlarge is a InstanceType enum value
  31374. InstanceTypeR34xlarge = "r3.4xlarge"
  31375. // InstanceTypeR38xlarge is a InstanceType enum value
  31376. InstanceTypeR38xlarge = "r3.8xlarge"
  31377. // InstanceTypeX116xlarge is a InstanceType enum value
  31378. InstanceTypeX116xlarge = "x1.16xlarge"
  31379. // InstanceTypeX132xlarge is a InstanceType enum value
  31380. InstanceTypeX132xlarge = "x1.32xlarge"
  31381. // InstanceTypeI2Xlarge is a InstanceType enum value
  31382. InstanceTypeI2Xlarge = "i2.xlarge"
  31383. // InstanceTypeI22xlarge is a InstanceType enum value
  31384. InstanceTypeI22xlarge = "i2.2xlarge"
  31385. // InstanceTypeI24xlarge is a InstanceType enum value
  31386. InstanceTypeI24xlarge = "i2.4xlarge"
  31387. // InstanceTypeI28xlarge is a InstanceType enum value
  31388. InstanceTypeI28xlarge = "i2.8xlarge"
  31389. // InstanceTypeHi14xlarge is a InstanceType enum value
  31390. InstanceTypeHi14xlarge = "hi1.4xlarge"
  31391. // InstanceTypeHs18xlarge is a InstanceType enum value
  31392. InstanceTypeHs18xlarge = "hs1.8xlarge"
  31393. // InstanceTypeC1Medium is a InstanceType enum value
  31394. InstanceTypeC1Medium = "c1.medium"
  31395. // InstanceTypeC1Xlarge is a InstanceType enum value
  31396. InstanceTypeC1Xlarge = "c1.xlarge"
  31397. // InstanceTypeC3Large is a InstanceType enum value
  31398. InstanceTypeC3Large = "c3.large"
  31399. // InstanceTypeC3Xlarge is a InstanceType enum value
  31400. InstanceTypeC3Xlarge = "c3.xlarge"
  31401. // InstanceTypeC32xlarge is a InstanceType enum value
  31402. InstanceTypeC32xlarge = "c3.2xlarge"
  31403. // InstanceTypeC34xlarge is a InstanceType enum value
  31404. InstanceTypeC34xlarge = "c3.4xlarge"
  31405. // InstanceTypeC38xlarge is a InstanceType enum value
  31406. InstanceTypeC38xlarge = "c3.8xlarge"
  31407. // InstanceTypeC4Large is a InstanceType enum value
  31408. InstanceTypeC4Large = "c4.large"
  31409. // InstanceTypeC4Xlarge is a InstanceType enum value
  31410. InstanceTypeC4Xlarge = "c4.xlarge"
  31411. // InstanceTypeC42xlarge is a InstanceType enum value
  31412. InstanceTypeC42xlarge = "c4.2xlarge"
  31413. // InstanceTypeC44xlarge is a InstanceType enum value
  31414. InstanceTypeC44xlarge = "c4.4xlarge"
  31415. // InstanceTypeC48xlarge is a InstanceType enum value
  31416. InstanceTypeC48xlarge = "c4.8xlarge"
  31417. // InstanceTypeCc14xlarge is a InstanceType enum value
  31418. InstanceTypeCc14xlarge = "cc1.4xlarge"
  31419. // InstanceTypeCc28xlarge is a InstanceType enum value
  31420. InstanceTypeCc28xlarge = "cc2.8xlarge"
  31421. // InstanceTypeG22xlarge is a InstanceType enum value
  31422. InstanceTypeG22xlarge = "g2.2xlarge"
  31423. // InstanceTypeG28xlarge is a InstanceType enum value
  31424. InstanceTypeG28xlarge = "g2.8xlarge"
  31425. // InstanceTypeCg14xlarge is a InstanceType enum value
  31426. InstanceTypeCg14xlarge = "cg1.4xlarge"
  31427. // InstanceTypeP2Xlarge is a InstanceType enum value
  31428. InstanceTypeP2Xlarge = "p2.xlarge"
  31429. // InstanceTypeP28xlarge is a InstanceType enum value
  31430. InstanceTypeP28xlarge = "p2.8xlarge"
  31431. // InstanceTypeP216xlarge is a InstanceType enum value
  31432. InstanceTypeP216xlarge = "p2.16xlarge"
  31433. // InstanceTypeD2Xlarge is a InstanceType enum value
  31434. InstanceTypeD2Xlarge = "d2.xlarge"
  31435. // InstanceTypeD22xlarge is a InstanceType enum value
  31436. InstanceTypeD22xlarge = "d2.2xlarge"
  31437. // InstanceTypeD24xlarge is a InstanceType enum value
  31438. InstanceTypeD24xlarge = "d2.4xlarge"
  31439. // InstanceTypeD28xlarge is a InstanceType enum value
  31440. InstanceTypeD28xlarge = "d2.8xlarge"
  31441. )
  31442. const (
  31443. // ListingStateAvailable is a ListingState enum value
  31444. ListingStateAvailable = "available"
  31445. // ListingStateSold is a ListingState enum value
  31446. ListingStateSold = "sold"
  31447. // ListingStateCancelled is a ListingState enum value
  31448. ListingStateCancelled = "cancelled"
  31449. // ListingStatePending is a ListingState enum value
  31450. ListingStatePending = "pending"
  31451. )
  31452. const (
  31453. // ListingStatusActive is a ListingStatus enum value
  31454. ListingStatusActive = "active"
  31455. // ListingStatusPending is a ListingStatus enum value
  31456. ListingStatusPending = "pending"
  31457. // ListingStatusCancelled is a ListingStatus enum value
  31458. ListingStatusCancelled = "cancelled"
  31459. // ListingStatusClosed is a ListingStatus enum value
  31460. ListingStatusClosed = "closed"
  31461. )
  31462. const (
  31463. // MonitoringStateDisabled is a MonitoringState enum value
  31464. MonitoringStateDisabled = "disabled"
  31465. // MonitoringStateDisabling is a MonitoringState enum value
  31466. MonitoringStateDisabling = "disabling"
  31467. // MonitoringStateEnabled is a MonitoringState enum value
  31468. MonitoringStateEnabled = "enabled"
  31469. // MonitoringStatePending is a MonitoringState enum value
  31470. MonitoringStatePending = "pending"
  31471. )
  31472. const (
  31473. // MoveStatusMovingToVpc is a MoveStatus enum value
  31474. MoveStatusMovingToVpc = "movingToVpc"
  31475. // MoveStatusRestoringToClassic is a MoveStatus enum value
  31476. MoveStatusRestoringToClassic = "restoringToClassic"
  31477. )
  31478. const (
  31479. // NatGatewayStatePending is a NatGatewayState enum value
  31480. NatGatewayStatePending = "pending"
  31481. // NatGatewayStateFailed is a NatGatewayState enum value
  31482. NatGatewayStateFailed = "failed"
  31483. // NatGatewayStateAvailable is a NatGatewayState enum value
  31484. NatGatewayStateAvailable = "available"
  31485. // NatGatewayStateDeleting is a NatGatewayState enum value
  31486. NatGatewayStateDeleting = "deleting"
  31487. // NatGatewayStateDeleted is a NatGatewayState enum value
  31488. NatGatewayStateDeleted = "deleted"
  31489. )
  31490. const (
  31491. // NetworkInterfaceAttributeDescription is a NetworkInterfaceAttribute enum value
  31492. NetworkInterfaceAttributeDescription = "description"
  31493. // NetworkInterfaceAttributeGroupSet is a NetworkInterfaceAttribute enum value
  31494. NetworkInterfaceAttributeGroupSet = "groupSet"
  31495. // NetworkInterfaceAttributeSourceDestCheck is a NetworkInterfaceAttribute enum value
  31496. NetworkInterfaceAttributeSourceDestCheck = "sourceDestCheck"
  31497. // NetworkInterfaceAttributeAttachment is a NetworkInterfaceAttribute enum value
  31498. NetworkInterfaceAttributeAttachment = "attachment"
  31499. )
  31500. const (
  31501. // NetworkInterfaceStatusAvailable is a NetworkInterfaceStatus enum value
  31502. NetworkInterfaceStatusAvailable = "available"
  31503. // NetworkInterfaceStatusAttaching is a NetworkInterfaceStatus enum value
  31504. NetworkInterfaceStatusAttaching = "attaching"
  31505. // NetworkInterfaceStatusInUse is a NetworkInterfaceStatus enum value
  31506. NetworkInterfaceStatusInUse = "in-use"
  31507. // NetworkInterfaceStatusDetaching is a NetworkInterfaceStatus enum value
  31508. NetworkInterfaceStatusDetaching = "detaching"
  31509. )
  31510. const (
  31511. // NetworkInterfaceTypeInterface is a NetworkInterfaceType enum value
  31512. NetworkInterfaceTypeInterface = "interface"
  31513. // NetworkInterfaceTypeNatGateway is a NetworkInterfaceType enum value
  31514. NetworkInterfaceTypeNatGateway = "natGateway"
  31515. )
  31516. const (
  31517. // OfferingClassTypeStandard is a OfferingClassType enum value
  31518. OfferingClassTypeStandard = "standard"
  31519. // OfferingClassTypeConvertible is a OfferingClassType enum value
  31520. OfferingClassTypeConvertible = "convertible"
  31521. )
  31522. const (
  31523. // OfferingTypeValuesHeavyUtilization is a OfferingTypeValues enum value
  31524. OfferingTypeValuesHeavyUtilization = "Heavy Utilization"
  31525. // OfferingTypeValuesMediumUtilization is a OfferingTypeValues enum value
  31526. OfferingTypeValuesMediumUtilization = "Medium Utilization"
  31527. // OfferingTypeValuesLightUtilization is a OfferingTypeValues enum value
  31528. OfferingTypeValuesLightUtilization = "Light Utilization"
  31529. // OfferingTypeValuesNoUpfront is a OfferingTypeValues enum value
  31530. OfferingTypeValuesNoUpfront = "No Upfront"
  31531. // OfferingTypeValuesPartialUpfront is a OfferingTypeValues enum value
  31532. OfferingTypeValuesPartialUpfront = "Partial Upfront"
  31533. // OfferingTypeValuesAllUpfront is a OfferingTypeValues enum value
  31534. OfferingTypeValuesAllUpfront = "All Upfront"
  31535. )
  31536. const (
  31537. // OperationTypeAdd is a OperationType enum value
  31538. OperationTypeAdd = "add"
  31539. // OperationTypeRemove is a OperationType enum value
  31540. OperationTypeRemove = "remove"
  31541. )
  31542. const (
  31543. // PaymentOptionAllUpfront is a PaymentOption enum value
  31544. PaymentOptionAllUpfront = "AllUpfront"
  31545. // PaymentOptionPartialUpfront is a PaymentOption enum value
  31546. PaymentOptionPartialUpfront = "PartialUpfront"
  31547. // PaymentOptionNoUpfront is a PaymentOption enum value
  31548. PaymentOptionNoUpfront = "NoUpfront"
  31549. )
  31550. const (
  31551. // PermissionGroupAll is a PermissionGroup enum value
  31552. PermissionGroupAll = "all"
  31553. )
  31554. const (
  31555. // PlacementGroupStatePending is a PlacementGroupState enum value
  31556. PlacementGroupStatePending = "pending"
  31557. // PlacementGroupStateAvailable is a PlacementGroupState enum value
  31558. PlacementGroupStateAvailable = "available"
  31559. // PlacementGroupStateDeleting is a PlacementGroupState enum value
  31560. PlacementGroupStateDeleting = "deleting"
  31561. // PlacementGroupStateDeleted is a PlacementGroupState enum value
  31562. PlacementGroupStateDeleted = "deleted"
  31563. )
  31564. const (
  31565. // PlacementStrategyCluster is a PlacementStrategy enum value
  31566. PlacementStrategyCluster = "cluster"
  31567. )
  31568. const (
  31569. // PlatformValuesWindows is a PlatformValues enum value
  31570. PlatformValuesWindows = "Windows"
  31571. )
  31572. const (
  31573. // ProductCodeValuesDevpay is a ProductCodeValues enum value
  31574. ProductCodeValuesDevpay = "devpay"
  31575. // ProductCodeValuesMarketplace is a ProductCodeValues enum value
  31576. ProductCodeValuesMarketplace = "marketplace"
  31577. )
  31578. const (
  31579. // RIProductDescriptionLinuxUnix is a RIProductDescription enum value
  31580. RIProductDescriptionLinuxUnix = "Linux/UNIX"
  31581. // RIProductDescriptionLinuxUnixamazonVpc is a RIProductDescription enum value
  31582. RIProductDescriptionLinuxUnixamazonVpc = "Linux/UNIX (Amazon VPC)"
  31583. // RIProductDescriptionWindows is a RIProductDescription enum value
  31584. RIProductDescriptionWindows = "Windows"
  31585. // RIProductDescriptionWindowsAmazonVpc is a RIProductDescription enum value
  31586. RIProductDescriptionWindowsAmazonVpc = "Windows (Amazon VPC)"
  31587. )
  31588. const (
  31589. // RecurringChargeFrequencyHourly is a RecurringChargeFrequency enum value
  31590. RecurringChargeFrequencyHourly = "Hourly"
  31591. )
  31592. const (
  31593. // ReportInstanceReasonCodesInstanceStuckInState is a ReportInstanceReasonCodes enum value
  31594. ReportInstanceReasonCodesInstanceStuckInState = "instance-stuck-in-state"
  31595. // ReportInstanceReasonCodesUnresponsive is a ReportInstanceReasonCodes enum value
  31596. ReportInstanceReasonCodesUnresponsive = "unresponsive"
  31597. // ReportInstanceReasonCodesNotAcceptingCredentials is a ReportInstanceReasonCodes enum value
  31598. ReportInstanceReasonCodesNotAcceptingCredentials = "not-accepting-credentials"
  31599. // ReportInstanceReasonCodesPasswordNotAvailable is a ReportInstanceReasonCodes enum value
  31600. ReportInstanceReasonCodesPasswordNotAvailable = "password-not-available"
  31601. // ReportInstanceReasonCodesPerformanceNetwork is a ReportInstanceReasonCodes enum value
  31602. ReportInstanceReasonCodesPerformanceNetwork = "performance-network"
  31603. // ReportInstanceReasonCodesPerformanceInstanceStore is a ReportInstanceReasonCodes enum value
  31604. ReportInstanceReasonCodesPerformanceInstanceStore = "performance-instance-store"
  31605. // ReportInstanceReasonCodesPerformanceEbsVolume is a ReportInstanceReasonCodes enum value
  31606. ReportInstanceReasonCodesPerformanceEbsVolume = "performance-ebs-volume"
  31607. // ReportInstanceReasonCodesPerformanceOther is a ReportInstanceReasonCodes enum value
  31608. ReportInstanceReasonCodesPerformanceOther = "performance-other"
  31609. // ReportInstanceReasonCodesOther is a ReportInstanceReasonCodes enum value
  31610. ReportInstanceReasonCodesOther = "other"
  31611. )
  31612. const (
  31613. // ReportStatusTypeOk is a ReportStatusType enum value
  31614. ReportStatusTypeOk = "ok"
  31615. // ReportStatusTypeImpaired is a ReportStatusType enum value
  31616. ReportStatusTypeImpaired = "impaired"
  31617. )
  31618. const (
  31619. // ReservationStatePaymentPending is a ReservationState enum value
  31620. ReservationStatePaymentPending = "payment-pending"
  31621. // ReservationStatePaymentFailed is a ReservationState enum value
  31622. ReservationStatePaymentFailed = "payment-failed"
  31623. // ReservationStateActive is a ReservationState enum value
  31624. ReservationStateActive = "active"
  31625. // ReservationStateRetired is a ReservationState enum value
  31626. ReservationStateRetired = "retired"
  31627. )
  31628. const (
  31629. // ReservedInstanceStatePaymentPending is a ReservedInstanceState enum value
  31630. ReservedInstanceStatePaymentPending = "payment-pending"
  31631. // ReservedInstanceStateActive is a ReservedInstanceState enum value
  31632. ReservedInstanceStateActive = "active"
  31633. // ReservedInstanceStatePaymentFailed is a ReservedInstanceState enum value
  31634. ReservedInstanceStatePaymentFailed = "payment-failed"
  31635. // ReservedInstanceStateRetired is a ReservedInstanceState enum value
  31636. ReservedInstanceStateRetired = "retired"
  31637. )
  31638. const (
  31639. // ResetImageAttributeNameLaunchPermission is a ResetImageAttributeName enum value
  31640. ResetImageAttributeNameLaunchPermission = "launchPermission"
  31641. )
  31642. const (
  31643. // ResourceTypeCustomerGateway is a ResourceType enum value
  31644. ResourceTypeCustomerGateway = "customer-gateway"
  31645. // ResourceTypeDhcpOptions is a ResourceType enum value
  31646. ResourceTypeDhcpOptions = "dhcp-options"
  31647. // ResourceTypeImage is a ResourceType enum value
  31648. ResourceTypeImage = "image"
  31649. // ResourceTypeInstance is a ResourceType enum value
  31650. ResourceTypeInstance = "instance"
  31651. // ResourceTypeInternetGateway is a ResourceType enum value
  31652. ResourceTypeInternetGateway = "internet-gateway"
  31653. // ResourceTypeNetworkAcl is a ResourceType enum value
  31654. ResourceTypeNetworkAcl = "network-acl"
  31655. // ResourceTypeNetworkInterface is a ResourceType enum value
  31656. ResourceTypeNetworkInterface = "network-interface"
  31657. // ResourceTypeReservedInstances is a ResourceType enum value
  31658. ResourceTypeReservedInstances = "reserved-instances"
  31659. // ResourceTypeRouteTable is a ResourceType enum value
  31660. ResourceTypeRouteTable = "route-table"
  31661. // ResourceTypeSnapshot is a ResourceType enum value
  31662. ResourceTypeSnapshot = "snapshot"
  31663. // ResourceTypeSpotInstancesRequest is a ResourceType enum value
  31664. ResourceTypeSpotInstancesRequest = "spot-instances-request"
  31665. // ResourceTypeSubnet is a ResourceType enum value
  31666. ResourceTypeSubnet = "subnet"
  31667. // ResourceTypeSecurityGroup is a ResourceType enum value
  31668. ResourceTypeSecurityGroup = "security-group"
  31669. // ResourceTypeVolume is a ResourceType enum value
  31670. ResourceTypeVolume = "volume"
  31671. // ResourceTypeVpc is a ResourceType enum value
  31672. ResourceTypeVpc = "vpc"
  31673. // ResourceTypeVpnConnection is a ResourceType enum value
  31674. ResourceTypeVpnConnection = "vpn-connection"
  31675. // ResourceTypeVpnGateway is a ResourceType enum value
  31676. ResourceTypeVpnGateway = "vpn-gateway"
  31677. )
  31678. const (
  31679. // RouteOriginCreateRouteTable is a RouteOrigin enum value
  31680. RouteOriginCreateRouteTable = "CreateRouteTable"
  31681. // RouteOriginCreateRoute is a RouteOrigin enum value
  31682. RouteOriginCreateRoute = "CreateRoute"
  31683. // RouteOriginEnableVgwRoutePropagation is a RouteOrigin enum value
  31684. RouteOriginEnableVgwRoutePropagation = "EnableVgwRoutePropagation"
  31685. )
  31686. const (
  31687. // RouteStateActive is a RouteState enum value
  31688. RouteStateActive = "active"
  31689. // RouteStateBlackhole is a RouteState enum value
  31690. RouteStateBlackhole = "blackhole"
  31691. )
  31692. const (
  31693. // RuleActionAllow is a RuleAction enum value
  31694. RuleActionAllow = "allow"
  31695. // RuleActionDeny is a RuleAction enum value
  31696. RuleActionDeny = "deny"
  31697. )
  31698. const (
  31699. // ShutdownBehaviorStop is a ShutdownBehavior enum value
  31700. ShutdownBehaviorStop = "stop"
  31701. // ShutdownBehaviorTerminate is a ShutdownBehavior enum value
  31702. ShutdownBehaviorTerminate = "terminate"
  31703. )
  31704. const (
  31705. // SnapshotAttributeNameProductCodes is a SnapshotAttributeName enum value
  31706. SnapshotAttributeNameProductCodes = "productCodes"
  31707. // SnapshotAttributeNameCreateVolumePermission is a SnapshotAttributeName enum value
  31708. SnapshotAttributeNameCreateVolumePermission = "createVolumePermission"
  31709. )
  31710. const (
  31711. // SnapshotStatePending is a SnapshotState enum value
  31712. SnapshotStatePending = "pending"
  31713. // SnapshotStateCompleted is a SnapshotState enum value
  31714. SnapshotStateCompleted = "completed"
  31715. // SnapshotStateError is a SnapshotState enum value
  31716. SnapshotStateError = "error"
  31717. )
  31718. const (
  31719. // SpotInstanceStateOpen is a SpotInstanceState enum value
  31720. SpotInstanceStateOpen = "open"
  31721. // SpotInstanceStateActive is a SpotInstanceState enum value
  31722. SpotInstanceStateActive = "active"
  31723. // SpotInstanceStateClosed is a SpotInstanceState enum value
  31724. SpotInstanceStateClosed = "closed"
  31725. // SpotInstanceStateCancelled is a SpotInstanceState enum value
  31726. SpotInstanceStateCancelled = "cancelled"
  31727. // SpotInstanceStateFailed is a SpotInstanceState enum value
  31728. SpotInstanceStateFailed = "failed"
  31729. )
  31730. const (
  31731. // SpotInstanceTypeOneTime is a SpotInstanceType enum value
  31732. SpotInstanceTypeOneTime = "one-time"
  31733. // SpotInstanceTypePersistent is a SpotInstanceType enum value
  31734. SpotInstanceTypePersistent = "persistent"
  31735. )
  31736. const (
  31737. // StatePending is a State enum value
  31738. StatePending = "Pending"
  31739. // StateAvailable is a State enum value
  31740. StateAvailable = "Available"
  31741. // StateDeleting is a State enum value
  31742. StateDeleting = "Deleting"
  31743. // StateDeleted is a State enum value
  31744. StateDeleted = "Deleted"
  31745. )
  31746. const (
  31747. // StatusMoveInProgress is a Status enum value
  31748. StatusMoveInProgress = "MoveInProgress"
  31749. // StatusInVpc is a Status enum value
  31750. StatusInVpc = "InVpc"
  31751. // StatusInClassic is a Status enum value
  31752. StatusInClassic = "InClassic"
  31753. )
  31754. const (
  31755. // StatusNameReachability is a StatusName enum value
  31756. StatusNameReachability = "reachability"
  31757. )
  31758. const (
  31759. // StatusTypePassed is a StatusType enum value
  31760. StatusTypePassed = "passed"
  31761. // StatusTypeFailed is a StatusType enum value
  31762. StatusTypeFailed = "failed"
  31763. // StatusTypeInsufficientData is a StatusType enum value
  31764. StatusTypeInsufficientData = "insufficient-data"
  31765. // StatusTypeInitializing is a StatusType enum value
  31766. StatusTypeInitializing = "initializing"
  31767. )
  31768. const (
  31769. // SubnetStatePending is a SubnetState enum value
  31770. SubnetStatePending = "pending"
  31771. // SubnetStateAvailable is a SubnetState enum value
  31772. SubnetStateAvailable = "available"
  31773. )
  31774. const (
  31775. // SummaryStatusOk is a SummaryStatus enum value
  31776. SummaryStatusOk = "ok"
  31777. // SummaryStatusImpaired is a SummaryStatus enum value
  31778. SummaryStatusImpaired = "impaired"
  31779. // SummaryStatusInsufficientData is a SummaryStatus enum value
  31780. SummaryStatusInsufficientData = "insufficient-data"
  31781. // SummaryStatusNotApplicable is a SummaryStatus enum value
  31782. SummaryStatusNotApplicable = "not-applicable"
  31783. // SummaryStatusInitializing is a SummaryStatus enum value
  31784. SummaryStatusInitializing = "initializing"
  31785. )
  31786. const (
  31787. // TelemetryStatusUp is a TelemetryStatus enum value
  31788. TelemetryStatusUp = "UP"
  31789. // TelemetryStatusDown is a TelemetryStatus enum value
  31790. TelemetryStatusDown = "DOWN"
  31791. )
  31792. const (
  31793. // TenancyDefault is a Tenancy enum value
  31794. TenancyDefault = "default"
  31795. // TenancyDedicated is a Tenancy enum value
  31796. TenancyDedicated = "dedicated"
  31797. // TenancyHost is a Tenancy enum value
  31798. TenancyHost = "host"
  31799. )
  31800. const (
  31801. // TrafficTypeAccept is a TrafficType enum value
  31802. TrafficTypeAccept = "ACCEPT"
  31803. // TrafficTypeReject is a TrafficType enum value
  31804. TrafficTypeReject = "REJECT"
  31805. // TrafficTypeAll is a TrafficType enum value
  31806. TrafficTypeAll = "ALL"
  31807. )
  31808. const (
  31809. // VirtualizationTypeHvm is a VirtualizationType enum value
  31810. VirtualizationTypeHvm = "hvm"
  31811. // VirtualizationTypeParavirtual is a VirtualizationType enum value
  31812. VirtualizationTypeParavirtual = "paravirtual"
  31813. )
  31814. const (
  31815. // VolumeAttachmentStateAttaching is a VolumeAttachmentState enum value
  31816. VolumeAttachmentStateAttaching = "attaching"
  31817. // VolumeAttachmentStateAttached is a VolumeAttachmentState enum value
  31818. VolumeAttachmentStateAttached = "attached"
  31819. // VolumeAttachmentStateDetaching is a VolumeAttachmentState enum value
  31820. VolumeAttachmentStateDetaching = "detaching"
  31821. // VolumeAttachmentStateDetached is a VolumeAttachmentState enum value
  31822. VolumeAttachmentStateDetached = "detached"
  31823. )
  31824. const (
  31825. // VolumeAttributeNameAutoEnableIo is a VolumeAttributeName enum value
  31826. VolumeAttributeNameAutoEnableIo = "autoEnableIO"
  31827. // VolumeAttributeNameProductCodes is a VolumeAttributeName enum value
  31828. VolumeAttributeNameProductCodes = "productCodes"
  31829. )
  31830. const (
  31831. // VolumeStateCreating is a VolumeState enum value
  31832. VolumeStateCreating = "creating"
  31833. // VolumeStateAvailable is a VolumeState enum value
  31834. VolumeStateAvailable = "available"
  31835. // VolumeStateInUse is a VolumeState enum value
  31836. VolumeStateInUse = "in-use"
  31837. // VolumeStateDeleting is a VolumeState enum value
  31838. VolumeStateDeleting = "deleting"
  31839. // VolumeStateDeleted is a VolumeState enum value
  31840. VolumeStateDeleted = "deleted"
  31841. // VolumeStateError is a VolumeState enum value
  31842. VolumeStateError = "error"
  31843. )
  31844. const (
  31845. // VolumeStatusInfoStatusOk is a VolumeStatusInfoStatus enum value
  31846. VolumeStatusInfoStatusOk = "ok"
  31847. // VolumeStatusInfoStatusImpaired is a VolumeStatusInfoStatus enum value
  31848. VolumeStatusInfoStatusImpaired = "impaired"
  31849. // VolumeStatusInfoStatusInsufficientData is a VolumeStatusInfoStatus enum value
  31850. VolumeStatusInfoStatusInsufficientData = "insufficient-data"
  31851. )
  31852. const (
  31853. // VolumeStatusNameIoEnabled is a VolumeStatusName enum value
  31854. VolumeStatusNameIoEnabled = "io-enabled"
  31855. // VolumeStatusNameIoPerformance is a VolumeStatusName enum value
  31856. VolumeStatusNameIoPerformance = "io-performance"
  31857. )
  31858. const (
  31859. // VolumeTypeStandard is a VolumeType enum value
  31860. VolumeTypeStandard = "standard"
  31861. // VolumeTypeIo1 is a VolumeType enum value
  31862. VolumeTypeIo1 = "io1"
  31863. // VolumeTypeGp2 is a VolumeType enum value
  31864. VolumeTypeGp2 = "gp2"
  31865. // VolumeTypeSc1 is a VolumeType enum value
  31866. VolumeTypeSc1 = "sc1"
  31867. // VolumeTypeSt1 is a VolumeType enum value
  31868. VolumeTypeSt1 = "st1"
  31869. )
  31870. const (
  31871. // VpcAttributeNameEnableDnsSupport is a VpcAttributeName enum value
  31872. VpcAttributeNameEnableDnsSupport = "enableDnsSupport"
  31873. // VpcAttributeNameEnableDnsHostnames is a VpcAttributeName enum value
  31874. VpcAttributeNameEnableDnsHostnames = "enableDnsHostnames"
  31875. )
  31876. const (
  31877. // VpcPeeringConnectionStateReasonCodeInitiatingRequest is a VpcPeeringConnectionStateReasonCode enum value
  31878. VpcPeeringConnectionStateReasonCodeInitiatingRequest = "initiating-request"
  31879. // VpcPeeringConnectionStateReasonCodePendingAcceptance is a VpcPeeringConnectionStateReasonCode enum value
  31880. VpcPeeringConnectionStateReasonCodePendingAcceptance = "pending-acceptance"
  31881. // VpcPeeringConnectionStateReasonCodeActive is a VpcPeeringConnectionStateReasonCode enum value
  31882. VpcPeeringConnectionStateReasonCodeActive = "active"
  31883. // VpcPeeringConnectionStateReasonCodeDeleted is a VpcPeeringConnectionStateReasonCode enum value
  31884. VpcPeeringConnectionStateReasonCodeDeleted = "deleted"
  31885. // VpcPeeringConnectionStateReasonCodeRejected is a VpcPeeringConnectionStateReasonCode enum value
  31886. VpcPeeringConnectionStateReasonCodeRejected = "rejected"
  31887. // VpcPeeringConnectionStateReasonCodeFailed is a VpcPeeringConnectionStateReasonCode enum value
  31888. VpcPeeringConnectionStateReasonCodeFailed = "failed"
  31889. // VpcPeeringConnectionStateReasonCodeExpired is a VpcPeeringConnectionStateReasonCode enum value
  31890. VpcPeeringConnectionStateReasonCodeExpired = "expired"
  31891. // VpcPeeringConnectionStateReasonCodeProvisioning is a VpcPeeringConnectionStateReasonCode enum value
  31892. VpcPeeringConnectionStateReasonCodeProvisioning = "provisioning"
  31893. // VpcPeeringConnectionStateReasonCodeDeleting is a VpcPeeringConnectionStateReasonCode enum value
  31894. VpcPeeringConnectionStateReasonCodeDeleting = "deleting"
  31895. )
  31896. const (
  31897. // VpcStatePending is a VpcState enum value
  31898. VpcStatePending = "pending"
  31899. // VpcStateAvailable is a VpcState enum value
  31900. VpcStateAvailable = "available"
  31901. )
  31902. const (
  31903. // VpnStatePending is a VpnState enum value
  31904. VpnStatePending = "pending"
  31905. // VpnStateAvailable is a VpnState enum value
  31906. VpnStateAvailable = "available"
  31907. // VpnStateDeleting is a VpnState enum value
  31908. VpnStateDeleting = "deleting"
  31909. // VpnStateDeleted is a VpnState enum value
  31910. VpnStateDeleted = "deleted"
  31911. )
  31912. const (
  31913. // VpnStaticRouteSourceStatic is a VpnStaticRouteSource enum value
  31914. VpnStaticRouteSourceStatic = "Static"
  31915. )
  31916. const (
  31917. // ScopeAvailabilityZone is a scope enum value
  31918. ScopeAvailabilityZone = "Availability Zone"
  31919. // ScopeRegion is a scope enum value
  31920. ScopeRegion = "Region"
  31921. )